{"version":3,"file":"js/chunk-vendors.a01fe3b9.js","mappings":"spBAWA,IAAIA,EAoGAC,EAnGJ,MAAMC,EACJC,WAAAA,CAAYC,GAAW,GACrBC,KAAKD,SAAWA,EAIhBC,KAAKC,SAAU,EAIfD,KAAKE,QAAU,GAIfF,KAAKG,SAAW,GAChBH,KAAKI,OAAST,GACTI,GAAYJ,IACfK,KAAKK,OAASV,EAAkBW,SAAWX,EAAkBW,OAAS,KAAKC,KACzEP,MACE,EAER,CACA,UAAIQ,GACF,OAAOR,KAAKC,OACd,CACAQ,GAAAA,CAAIC,GACF,GAAIV,KAAKC,QAAS,CAChB,MAAMU,EAAqBhB,EAC3B,IAEE,OADAA,EAAoBK,KACbU,GACT,CAAE,QACAf,EAAoBgB,CACtB,CACF,MAAW,CAGb,CAKAC,EAAAA,GACEjB,EAAoBK,IACtB,CAKAa,GAAAA,GACElB,EAAoBK,KAAKI,MAC3B,CACAU,IAAAA,CAAKC,GACH,GAAIf,KAAKC,QAAS,CAChB,IAAIe,EAAGC,EACP,IAAKD,EAAI,EAAGC,EAAIjB,KAAKE,QAAQgB,OAAQF,EAAIC,EAAGD,IAC1ChB,KAAKE,QAAQc,GAAGF,OAElB,IAAKE,EAAI,EAAGC,EAAIjB,KAAKG,SAASe,OAAQF,EAAIC,EAAGD,IAC3ChB,KAAKG,SAASa,KAEhB,GAAIhB,KAAKM,OACP,IAAKU,EAAI,EAAGC,EAAIjB,KAAKM,OAAOY,OAAQF,EAAIC,EAAGD,IACzChB,KAAKM,OAAOU,GAAGF,MAAK,GAGxB,IAAKd,KAAKD,UAAYC,KAAKI,SAAWW,EAAY,CAChD,MAAMI,EAAOnB,KAAKI,OAAOE,OAAOc,MAC5BD,GAAQA,IAASnB,OACnBA,KAAKI,OAAOE,OAAON,KAAKK,OAASc,EACjCA,EAAKd,MAAQL,KAAKK,MAEtB,CACAL,KAAKI,YAAS,EACdJ,KAAKC,SAAU,CACjB,CACF,EAKF,SAASoB,EAAkBC,EAAQC,EAAQ5B,GACrC4B,GAASA,EAAMf,QACjBe,EAAMrB,QAAQK,KAAKe,EAEvB,CACA,SAASE,IACP,OAAO7B,CACT,CAYA,MAAM8B,EACJ3B,WAAAA,CAAYY,EAAIgB,EAASC,EAAWJ,GAClCvB,KAAKU,GAAKA,EACVV,KAAK0B,QAAUA,EACf1B,KAAK2B,UAAYA,EACjB3B,KAAKQ,QAAS,EACdR,KAAK4B,KAAO,GAIZ5B,KAAK6B,YAAc,EAInB7B,KAAK8B,SAAW,EAIhB9B,KAAK+B,UAAY,EAIjB/B,KAAKgC,iBAAkB,EAIvBhC,KAAKiC,YAAc,EACnBZ,EAAkBrB,KAAMuB,EAC1B,CACA,SAAIW,GACF,GAAyB,IAArBlC,KAAK6B,aAA0C,IAArB7B,KAAK6B,YAAmB,CACpD7B,KAAK6B,YAAc,EACnBM,IACA,IAAK,IAAInB,EAAI,EAAGA,EAAIhB,KAAKiC,YAAajB,IAAK,CACzC,MAAMoB,EAAMpC,KAAK4B,KAAKZ,GACtB,GAAIoB,EAAIC,WACNC,EAAgBF,EAAIC,UAChBrC,KAAK6B,aAAe,GACtB,KAGN,CACyB,IAArB7B,KAAK6B,cACP7B,KAAK6B,YAAc,GAErBU,GACF,CACA,OAAOvC,KAAK6B,aAAe,CAC7B,CACA,SAAIK,CAAMM,GACRxC,KAAK6B,YAAcW,EAAI,EAAI,CAC7B,CACA/B,GAAAA,GAEE,GADAT,KAAK6B,YAAc,GACd7B,KAAKQ,OACR,OAAOR,KAAKU,KAEd,IAAI+B,EAAkBC,EAClBC,EAAa/C,EACjB,IAKE,OAJA8C,GAAc,EACd9C,EAAeI,KACfA,KAAK+B,YACLa,EAAiB5C,MACVA,KAAKU,IACd,CAAE,QACAmC,EAAkB7C,MAClBA,KAAK+B,YACLnC,EAAe+C,EACfD,EAAcD,CAChB,CACF,CACA3B,IAAAA,GACMd,KAAKQ,SACPoC,EAAiB5C,MACjB6C,EAAkB7C,MAClBA,KAAK8C,QAAU9C,KAAK8C,SACpB9C,KAAKQ,QAAS,EAElB,EAEF,SAAS8B,EAAgBD,GACvB,OAAOA,EAASU,KAClB,CACA,SAASH,EAAiBI,GACxBA,EAAQlB,WACRkB,EAAQf,YAAc,CACxB,CACA,SAASY,EAAkBG,GACzB,GAAIA,EAAQpB,KAAKV,OAAS8B,EAAQf,YAAa,CAC7C,IAAK,IAAIjB,EAAIgC,EAAQf,YAAajB,EAAIgC,EAAQpB,KAAKV,OAAQF,IACzDiC,EAAiBD,EAAQpB,KAAKZ,GAAIgC,GAEpCA,EAAQpB,KAAKV,OAAS8B,EAAQf,WAChC,CACF,CACA,SAASgB,EAAiBb,EAAKY,GAC7B,MAAME,EAAUd,EAAIe,IAAIH,QACR,IAAZE,GAAsBF,EAAQlB,WAAaoB,IAC7Cd,EAAIgB,OAAOJ,GACM,IAAbZ,EAAIiB,MACNjB,EAAIkB,UAGV,CAwBA,IAAIZ,GAAc,EACda,EAAqB,EACzB,MAAMC,EAAa,GACnB,SAASrB,IACPqB,EAAWjD,KAAKmC,GAChBA,GAAc,CAChB,CAKA,SAASH,IACP,MAAMpB,EAAOqC,EAAWpC,MACxBsB,OAAuB,IAATvB,GAAyBA,CACzC,CACA,SAASsC,IACPF,GACF,CACA,SAASG,IACPH,IACA,OAAQA,GAAsBI,EAAsBzC,OAClDyC,EAAsBC,OAAtBD,EAEJ,CACA,SAASE,EAAYb,EAASZ,EAAK0B,GAEjC,GAAI1B,EAAIe,IAAIH,KAAaA,EAAQlB,SAAU,CACzCM,EAAI2B,IAAIf,EAASA,EAAQlB,UACzB,MAAMkC,EAAShB,EAAQpB,KAAKoB,EAAQf,aAChC+B,IAAW5B,GACT4B,GACFf,EAAiBe,EAAQhB,GAE3BA,EAAQpB,KAAKoB,EAAQf,eAAiBG,GAEtCY,EAAQf,aAKZ,CACF,CACA,MAAM0B,EAAwB,GAC9B,SAASM,EAAe7B,EAAK8B,EAAYJ,GAEvCL,IACA,IAAK,MAAMT,KAAWZ,EAAI+B,OAAQ,CAChC,IAAIC,EACApB,EAAQnB,YAAcqC,IAA2B,MAAZE,EAAmBA,EAAWA,EAAWhC,EAAIe,IAAIH,KAAaA,EAAQlB,YAC7GkB,EAAQhB,kBAAoBgB,EAAQhB,gBAA0C,IAAxBgB,EAAQnB,aAC9DmB,EAAQnB,YAAcqC,GAEpBlB,EAAQhB,kBAAgC,MAAZoC,EAAmBA,EAAWA,EAAWhC,EAAIe,IAAIH,KAAaA,EAAQlB,YAIpGkB,EAAQtB,UACFsB,EAAQjB,YAAaiB,EAAQqB,cAAyC,IAAxBrB,EAAQnB,cAC1DmB,EAAQhB,iBAAkB,EACtBgB,EAAQrB,WACVgC,EAAsBpD,KAAKyC,EAAQrB,YAI3C,CACA+B,GACF,CAEA,MAAMY,EAAYA,CAAChB,EAASjB,KAC1B,MAAMD,EAAsB,IAAImC,IAGhC,OAFAnC,EAAIkB,QAAUA,EACdlB,EAAIC,SAAWA,EACRD,CAAG,EAGNoC,EAA4B,IAAIC,QAChCC,EAAcC,OAA+D,IAC7EC,EAAsBD,OAAuE,IACnG,SAASE,EAAMC,EAAQC,EAAMC,GAC3B,GAAItC,GAAe9C,EAAc,CAC/B,IAAIqF,EAAUT,EAAUrB,IAAI2B,GACvBG,GACHT,EAAUT,IAAIe,EAAQG,EAA0B,IAAIV,KAEtD,IAAInC,EAAM6C,EAAQ9B,IAAI6B,GACjB5C,GACH6C,EAAQlB,IAAIiB,EAAK5C,EAAMkC,GAAU,IAAMW,EAAQ7B,OAAO4B,MAExDnB,EACEjE,EACAwC,OAKI,EAER,CACF,CACA,SAASV,EAAQoD,EAAQC,EAAMC,EAAKE,EAAUC,EAAUC,GACtD,MAAMH,EAAUT,EAAUrB,IAAI2B,GAC9B,IAAKG,EACH,OAEF,IAAIrD,EAAO,GACX,GAAa,UAATmD,EACFnD,EAAO,IAAIqD,EAAQI,eACd,GAAY,WAARL,IAAoBM,EAAAA,EAAAA,IAAQR,GAAS,CAC9C,MAAMS,EAAYC,OAAON,GACzBD,EAAQQ,SAAQ,CAACrD,EAAKsD,MACP,WAATA,KAAsBC,EAAAA,EAAAA,IAASD,IAASA,GAAQH,IAClD3D,EAAKrB,KAAK6B,EACZ,GAEJ,MAIE,YAHY,IAAR4C,GACFpD,EAAKrB,KAAK0E,EAAQ9B,IAAI6B,IAEhBD,GACN,IAAK,OACEO,EAAAA,EAAAA,IAAQR,IAKFc,EAAAA,EAAAA,IAAaZ,IACtBpD,EAAKrB,KAAK0E,EAAQ9B,IAAI,YALtBvB,EAAKrB,KAAK0E,EAAQ9B,IAAIuB,KAClBmB,EAAAA,EAAAA,IAAMf,IACRlD,EAAKrB,KAAK0E,EAAQ9B,IAAIyB,KAK1B,MACF,IAAK,UACEU,EAAAA,EAAAA,IAAQR,KACXlD,EAAKrB,KAAK0E,EAAQ9B,IAAIuB,KAClBmB,EAAAA,EAAAA,IAAMf,IACRlD,EAAKrB,KAAK0E,EAAQ9B,IAAIyB,KAG1B,MACF,IAAK,OACCiB,EAAAA,EAAAA,IAAMf,IACRlD,EAAKrB,KAAK0E,EAAQ9B,IAAIuB,IAExB,MAGNjB,IACA,IAAK,MAAMrB,KAAOR,EACZQ,GACF6B,EACE7B,EACA,OAQI,GAIVsB,GACF,CAMA,MAAMoC,GAAqCC,EAAAA,EAAAA,IAAQ,+BAC7CC,EAAiB,IAAIC,IACTC,OAAOC,oBAAoBxB,QAAQyB,QAAQpB,GAAgB,cAARA,GAA+B,WAARA,IAAkBqB,KAAKrB,GAAQL,OAAOK,KAAMoB,OAAOT,EAAAA,KAEzIW,EAAwCC,IAC9C,SAASA,IACP,MAAMC,EAAmB,CAAC,EAyB1B,MAxBA,CAAC,WAAY,UAAW,eAAef,SAAST,IAC9CwB,EAAiBxB,GAAO,YAAYyB,GAClC,MAAMC,EAAMC,GAAM3G,MAClB,IAAK,IAAIgB,EAAI,EAAGC,EAAIjB,KAAKkB,OAAQF,EAAIC,EAAGD,IACtC6D,EAAM6B,EAAK,MAAO1F,EAAI,IAExB,MAAM4F,EAAMF,EAAI1B,MAAQyB,GACxB,OAAa,IAATG,IAAsB,IAARA,EACTF,EAAI1B,MAAQyB,EAAKJ,IAAIM,KAErBC,CAEX,CAAC,IAEH,CAAC,OAAQ,MAAO,QAAS,UAAW,UAAUnB,SAAST,IACrDwB,EAAiBxB,GAAO,YAAYyB,GAClCtE,IACAsB,IACA,MAAMmD,EAAMD,GAAM3G,MAAMgF,GAAK6B,MAAM7G,KAAMyG,GAGzC,OAFA/C,IACAnB,IACOqE,CACT,CAAC,IAEIJ,CACT,CACA,SAASM,EAAe9B,IACjBW,EAAAA,EAAAA,IAASX,KAAMA,EAAM+B,OAAO/B,IACjC,MAAMgC,EAAML,GAAM3G,MAElB,OADA6E,EAAMmC,EAAK,MAAOhC,GACXgC,EAAIF,eAAe9B,EAC5B,CACA,MAAMiC,EACJnH,WAAAA,CAAYoH,GAAc,EAAOC,GAAa,GAC5CnH,KAAKkH,YAAcA,EACnBlH,KAAKmH,WAAaA,CACpB,CACAhE,GAAAA,CAAI2B,EAAQE,EAAKoC,GACf,MAAMC,EAAcrH,KAAKkH,YAAaI,EAAatH,KAAKmH,WACxD,GAAY,mBAARnC,EACF,OAAQqC,EACH,GAAY,mBAARrC,EACT,OAAOqC,EACF,GAAY,kBAARrC,EACT,OAAOsC,EACF,GAAY,YAARtC,EACT,OAAIoC,KAAcC,EAAcC,EAAaC,GAAqBC,GAAcF,EAAaG,GAAqBC,IAAavE,IAAI2B,IAEnIoB,OAAOyB,eAAe7C,KAAYoB,OAAOyB,eAAeP,GAC/CtC,OAET,EAEF,MAAM8C,GAAgBtC,EAAAA,EAAAA,IAAQR,GAC9B,IAAKuC,EAAa,CAChB,GAAIO,IAAiBC,EAAAA,EAAAA,IAAOvB,EAAuBtB,GACjD,OAAO8C,QAAQ3E,IAAImD,EAAuBtB,EAAKoC,GAEjD,GAAY,mBAARpC,EACF,OAAO8B,CAEX,CACA,MAAMF,EAAMkB,QAAQ3E,IAAI2B,EAAQE,EAAKoC,GACrC,QAAIzB,EAAAA,EAAAA,IAASX,GAAOgB,EAAe+B,IAAI/C,GAAOc,EAAmBd,IACxD4B,GAEJS,GACHxC,EAAMC,EAAQ,MAAOE,GAEnBsC,EACKV,EAELoB,GAAMpB,GACDgB,IAAiBhC,EAAAA,EAAAA,IAAaZ,GAAO4B,EAAMA,EAAI7D,OAEpDkF,EAAAA,EAAAA,IAASrB,GACJS,EAAca,GAAStB,GAAOuB,GAASvB,GAEzCA,EACT,EAEF,MAAMwB,UAA+BnB,EACnCnH,WAAAA,CAAYwH,GAAa,GACvBe,OAAM,EAAOf,EACf,CACAvD,GAAAA,CAAIe,EAAQE,EAAKjC,EAAOqE,GACtB,IAAIjC,EAAWL,EAAOE,GACtB,IAAKhF,KAAKmH,WAAY,CACpB,MAAMmB,EAAqBC,GAAWpD,GAKtC,GAJKqD,GAAUzF,IAAWwF,GAAWxF,KACnCoC,EAAWwB,GAAMxB,GACjBpC,EAAQ4D,GAAM5D,MAEXuC,EAAAA,EAAAA,IAAQR,IAAWkD,GAAM7C,KAAc6C,GAAMjF,GAChD,OAAIuF,IAGFnD,EAASpC,MAAQA,GACV,EAGb,CACA,MAAM0F,GAASnD,EAAAA,EAAAA,IAAQR,KAAWc,EAAAA,EAAAA,IAAaZ,GAAOQ,OAAOR,GAAOF,EAAO5D,QAAS2G,EAAAA,EAAAA,IAAO/C,EAAQE,GAC7F0D,EAASZ,QAAQ/D,IAAIe,EAAQE,EAAKjC,EAAOqE,GAQ/C,OAPItC,IAAW6B,GAAMS,KACdqB,GAEME,EAAAA,EAAAA,IAAW5F,EAAOoC,IAC3BzD,EAAQoD,EAAQ,MAAOE,EAAKjC,EAAOoC,GAFnCzD,EAAQoD,EAAQ,MAAOE,EAAKjC,IAKzB2F,CACT,CACAE,cAAAA,CAAe9D,EAAQE,GACrB,MAAMyD,GAASZ,EAAAA,EAAAA,IAAO/C,EAAQE,GACxBG,EAAWL,EAAOE,GAClB0D,EAASZ,QAAQc,eAAe9D,EAAQE,GAI9C,OAHI0D,GAAUD,GACZ/G,EAAQoD,EAAQ,SAAUE,OAAK,EAAQG,GAElCuD,CACT,CACAX,GAAAA,CAAIjD,EAAQE,GACV,MAAM0D,EAASZ,QAAQC,IAAIjD,EAAQE,GAInC,OAHKW,EAAAA,EAAAA,IAASX,IAASgB,EAAe+B,IAAI/C,IACxCH,EAAMC,EAAQ,MAAOE,GAEhB0D,CACT,CACAG,OAAAA,CAAQ/D,GAMN,OALAD,EACEC,EACA,WACAQ,EAAAA,EAAAA,IAAQR,GAAU,SAAWJ,GAExBoD,QAAQe,QAAQ/D,EACzB,EAEF,MAAMgE,UAAgC7B,EACpCnH,WAAAA,CAAYwH,GAAa,GACvBe,OAAM,EAAMf,EACd,CACAvD,GAAAA,CAAIe,EAAQE,GAOV,OAAO,CACT,CACA4D,cAAAA,CAAe9D,EAAQE,GAOrB,OAAO,CACT,EAEF,MAAM+D,EAAkC,IAAIX,EACtCY,EAAmC,IAAIF,EACvCG,EAA0C,IAAIb,GAClD,GAIIc,EAAanG,GAAUA,EACvBoG,EAAY3G,GAAMsF,QAAQH,eAAenF,GAC/C,SAASW,EAAI2B,EAAQE,EAAKuD,GAAa,EAAOC,GAAY,GACxD1D,EAASA,EAAO,WAChB,MAAMsE,EAAYzC,GAAM7B,GAClBuE,EAAS1C,GAAM3B,GAChBuD,KACCI,EAAAA,EAAAA,IAAW3D,EAAKqE,IAClBxE,EAAMuE,EAAW,MAAOpE,GAE1BH,EAAMuE,EAAW,MAAOC,IAE1B,MAAQtB,IAAKuB,GAASH,EAASC,GACzBG,EAAOf,EAAYU,EAAYX,EAAaiB,GAAaC,GAC/D,OAAIH,EAAKI,KAAKN,EAAWpE,GAChBuE,EAAKzE,EAAO3B,IAAI6B,IACdsE,EAAKI,KAAKN,EAAWC,GACvBE,EAAKzE,EAAO3B,IAAIkG,SACdvE,IAAWsE,GACpBtE,EAAO3B,IAAI6B,GAEf,CACA,SAAS+C,EAAI/C,EAAKuD,GAAa,GAC7B,MAAMzD,EAAS9E,KAAK,WACdoJ,EAAYzC,GAAM7B,GAClBuE,EAAS1C,GAAM3B,GAOrB,OANKuD,KACCI,EAAAA,EAAAA,IAAW3D,EAAKqE,IAClBxE,EAAMuE,EAAW,MAAOpE,GAE1BH,EAAMuE,EAAW,MAAOC,IAEnBrE,IAAQqE,EAASvE,EAAOiD,IAAI/C,GAAOF,EAAOiD,IAAI/C,IAAQF,EAAOiD,IAAIsB,EAC1E,CACA,SAAShG,EAAKyB,EAAQyD,GAAa,GAGjC,OAFAzD,EAASA,EAAO,YACfyD,GAAc1D,EAAM8B,GAAM7B,GAAS,UAAWJ,GACxCoD,QAAQ3E,IAAI2B,EAAQ,OAAQA,EACrC,CACA,SAAS6E,EAAI5G,GACXA,EAAQ4D,GAAM5D,GACd,MAAM+B,EAAS6B,GAAM3G,MACf4J,EAAQT,EAASrE,GACjB2D,EAASmB,EAAM7B,IAAI2B,KAAK5E,EAAQ/B,GAKtC,OAJK0F,IACH3D,EAAO6E,IAAI5G,GACXrB,EAAQoD,EAAQ,MAAO/B,EAAOA,IAEzB/C,IACT,CACA,SAAS+D,EAAIiB,EAAKjC,GAChBA,EAAQ4D,GAAM5D,GACd,MAAM+B,EAAS6B,GAAM3G,OACb+H,IAAKuB,EAAMnG,IAAK0G,GAASV,EAASrE,GAC1C,IAAI2D,EAASa,EAAKI,KAAK5E,EAAQE,GAC1ByD,IACHzD,EAAM2B,GAAM3B,GACZyD,EAASa,EAAKI,KAAK5E,EAAQE,IAI7B,MAAMG,EAAW0E,EAAKH,KAAK5E,EAAQE,GAOnC,OANAF,EAAOf,IAAIiB,EAAKjC,GACX0F,GAEME,EAAAA,EAAAA,IAAW5F,EAAOoC,IAC3BzD,EAAQoD,EAAQ,MAAOE,EAAKjC,EAAOoC,GAFnCzD,EAAQoD,EAAQ,MAAOE,EAAKjC,GAIvB/C,IACT,CACA,SAAS8J,EAAY9E,GACnB,MAAMF,EAAS6B,GAAM3G,OACb+H,IAAKuB,EAAMnG,IAAK0G,GAASV,EAASrE,GAC1C,IAAI2D,EAASa,EAAKI,KAAK5E,EAAQE,GAC1ByD,IACHzD,EAAM2B,GAAM3B,GACZyD,EAASa,EAAKI,KAAK5E,EAAQE,IAI7B,MAAMG,EAAW0E,EAAOA,EAAKH,KAAK5E,EAAQE,QAAO,EAC3C0D,EAAS5D,EAAO1B,OAAO4B,GAI7B,OAHIyD,GACF/G,EAAQoD,EAAQ,SAAUE,OAAK,EAAQG,GAElCuD,CACT,CACA,SAASqB,IACP,MAAMjF,EAAS6B,GAAM3G,MACfgK,EAA2B,IAAhBlF,EAAOzB,KAClB+B,OAA4G,EAC5GsD,EAAS5D,EAAOiF,QAItB,OAHIC,GACFtI,EAAQoD,EAAQ,aAAS,OAAQ,EAAQM,GAEpCsD,CACT,CACA,SAASuB,EAAc1B,EAAYC,GACjC,OAAO,SAAiB0B,EAAUC,GAChC,MAAMC,EAAWpK,KACX8E,EAASsF,EAAS,WAClBhB,EAAYzC,GAAM7B,GAClByE,EAAOf,EAAYU,EAAYX,EAAaiB,GAAaC,GAE/D,OADClB,GAAc1D,EAAMuE,EAAW,UAAW1E,GACpCI,EAAOW,SAAQ,CAAC1C,EAAOiC,IACrBkF,EAASR,KAAKS,EAASZ,EAAKxG,GAAQwG,EAAKvE,GAAMoF,IAE1D,CACF,CACA,SAASC,EAAqBC,EAAQ/B,EAAYC,GAChD,OAAO,YAAY/B,GACjB,MAAM3B,EAAS9E,KAAK,WACdoJ,EAAYzC,GAAM7B,GAClByF,GAAc1E,EAAAA,EAAAA,IAAMuD,GACpBoB,EAAoB,YAAXF,GAAwBA,IAAW3F,OAAO8F,UAAYF,EAC/DG,EAAuB,SAAXJ,GAAqBC,EACjCI,EAAgB7F,EAAOwF,MAAW7D,GAClC8C,EAAOf,EAAYU,EAAYX,EAAaiB,GAAaC,GAM/D,OALClB,GAAc1D,EACbuE,EACA,UACAsB,EAAY9F,EAAsBF,GAE7B,CAELkG,IAAAA,GACE,MAAM,MAAE7H,EAAK,KAAE8H,GAASF,EAAcC,OACtC,OAAOC,EAAO,CAAE9H,QAAO8H,QAAS,CAC9B9H,MAAOyH,EAAS,CAACjB,EAAKxG,EAAM,IAAKwG,EAAKxG,EAAM,KAAOwG,EAAKxG,GACxD8H,OAEJ,EAEA,CAAClG,OAAO8F,YACN,OAAOzK,IACT,EAEJ,CACF,CACA,SAAS8K,EAAqB/F,GAC5B,OAAO,YAAY0B,GAQjB,MAAgB,WAAT1B,IAAqC,UAATA,OAAmB,EAAS/E,KACjE,CACF,CACA,SAAS+K,IACP,MAAMC,EAA2B,CAC/B7H,GAAAA,CAAI6B,GACF,OAAO7B,EAAInD,KAAMgF,EACnB,EACA,QAAI3B,GACF,OAAOA,EAAKrD,KACd,EACA+H,MACA4B,MACA5F,MACAX,OAAQ0G,EACRC,QACAtE,QAASwE,GAAc,GAAO,IAE1BgB,EAA2B,CAC/B9H,GAAAA,CAAI6B,GACF,OAAO7B,EAAInD,KAAMgF,GAAK,GAAO,EAC/B,EACA,QAAI3B,GACF,OAAOA,EAAKrD,KACd,EACA+H,MACA4B,MACA5F,MACAX,OAAQ0G,EACRC,QACAtE,QAASwE,GAAc,GAAO,IAE1BiB,EAA4B,CAChC/H,GAAAA,CAAI6B,GACF,OAAO7B,EAAInD,KAAMgF,GAAK,EACxB,EACA,QAAI3B,GACF,OAAOA,EAAKrD,MAAM,EACpB,EACA+H,GAAAA,CAAI/C,GACF,OAAO+C,EAAI2B,KAAK1J,KAAMgF,GAAK,EAC7B,EACA2E,IAAKmB,EAAqB,OAC1B/G,IAAK+G,EAAqB,OAC1B1H,OAAQ0H,EAAqB,UAC7Bf,MAAOe,EAAqB,SAC5BrF,QAASwE,GAAc,GAAM,IAEzBkB,EAAmC,CACvChI,GAAAA,CAAI6B,GACF,OAAO7B,EAAInD,KAAMgF,GAAK,GAAM,EAC9B,EACA,QAAI3B,GACF,OAAOA,EAAKrD,MAAM,EACpB,EACA+H,GAAAA,CAAI/C,GACF,OAAO+C,EAAI2B,KAAK1J,KAAMgF,GAAK,EAC7B,EACA2E,IAAKmB,EAAqB,OAC1B/G,IAAK+G,EAAqB,OAC1B1H,OAAQ0H,EAAqB,UAC7Bf,MAAOe,EAAqB,SAC5BrF,QAASwE,GAAc,GAAM,IAEzBmB,EAAkB,CACtB,OACA,SACA,UACAzG,OAAO8F,UAYT,OAVAW,EAAgB3F,SAAS6E,IACvBU,EAAyBV,GAAUD,EAAqBC,GAAQ,GAAO,GACvEY,EAA0BZ,GAAUD,EAAqBC,GAAQ,GAAM,GACvEW,EAAyBX,GAAUD,EAAqBC,GAAQ,GAAO,GACvEa,EAAiCb,GAAUD,EACzCC,GACA,GACA,EACD,IAEI,CACLU,EACAE,EACAD,EACAE,EAEJ,CACA,MACEE,GACAC,GACAC,GACAC,IACkBT,IACpB,SAASU,GAA4BlD,EAAYmD,GAC/C,MAAMlF,EAAmBkF,EAAUnD,EAAaiD,GAAkCD,GAA0BhD,EAAa+C,GAA2BD,GACpJ,MAAO,CAACvG,EAAQE,EAAKoC,IACP,mBAARpC,GACMuD,EACS,mBAARvD,EACFuD,EACU,YAARvD,EACFF,EAEFgD,QAAQ3E,KACb0E,EAAAA,EAAAA,IAAOrB,EAAkBxB,IAAQA,KAAOF,EAAS0B,EAAmB1B,EACpEE,EACAoC,EAGN,CACA,MAAMuE,GAA4B,CAChCxI,IAAqBsI,IAA4B,GAAO,IAEpDG,GAA4B,CAChCzI,IAAqBsI,IAA4B,GAAO,IAEpDI,GAA6B,CACjC1I,IAAqBsI,IAA4B,GAAM,IAezD,MAAM/D,GAA8B,IAAIjD,QAClCgD,GAAqC,IAAIhD,QACzC+C,GAA8B,IAAI/C,QAClC8C,GAAqC,IAAI9C,QAC/C,SAASqH,GAAcC,GACrB,OAAQA,GACN,IAAK,SACL,IAAK,QACH,OAAO,EACT,IAAK,MACL,IAAK,MACL,IAAK,UACL,IAAK,UACH,OAAO,EACT,QACE,OAAO,EAEb,CACA,SAASC,GAAcjJ,GACrB,OAAOA,EAAM,cAAgBmD,OAAO+F,aAAalJ,GAAS,EAAkB+I,IAAcI,EAAAA,EAAAA,IAAUnJ,GACtG,CACA,SAASoF,GAASrD,GAChB,OAAIyD,GAAWzD,GACNA,EAEFqH,GACLrH,GACA,EACAiE,EACA4C,GACAjE,GAEJ,CACA,SAAS0E,GAAgBtH,GACvB,OAAOqH,GACLrH,GACA,EACAmE,EACA2C,GACAnE,GAEJ,CACA,SAASS,GAASpD,GAChB,OAAOqH,GACLrH,GACA,EACAkE,EACA6C,GACArE,GAEJ,CAUA,SAAS2E,GAAqBrH,EAAQuC,EAAagF,EAAcC,EAAoBC,GACnF,KAAKtE,EAAAA,EAAAA,IAASnD,GAQZ,OAAOA,EAET,GAAIA,EAAO,cAAgBuC,IAAevC,EAAO,mBAC/C,OAAOA,EAET,MAAM0H,EAAgBD,EAASpJ,IAAI2B,GACnC,GAAI0H,EACF,OAAOA,EAET,MAAMC,EAAaT,GAAclH,GACjC,GAAmB,IAAf2H,EACF,OAAO3H,EAET,MAAM4H,EAAQ,IAAIC,MAChB7H,EACe,IAAf2H,EAAoCH,EAAqBD,GAG3D,OADAE,EAASxI,IAAIe,EAAQ4H,GACdA,CACT,CACA,SAASE,GAAW7J,GAClB,OAAIwF,GAAWxF,GACN6J,GAAW7J,EAAM,eAEhBA,IAASA,EAAM,kBAC3B,CACA,SAASwF,GAAWxF,GAClB,SAAUA,IAASA,EAAM,kBAC3B,CACA,SAASyF,GAAUzF,GACjB,SAAUA,IAASA,EAAM,iBAC3B,CACA,SAAS8J,GAAQ9J,GACf,QAAOA,KAAUA,EAAM,UACzB,CACA,SAAS4D,GAAMyD,GACb,MAAM0C,EAAM1C,GAAYA,EAAS,WACjC,OAAO0C,EAAMnG,GAAMmG,GAAO1C,CAC5B,CACA,SAAS2C,GAAQhK,GAIf,OAHImD,OAAO+F,aAAalJ,KACtBiK,EAAAA,EAAAA,IAAIjK,EAAO,YAAY,GAElBA,CACT,CACA,MAAM0G,GAAc1G,IAAUkF,EAAAA,EAAAA,IAASlF,GAASoF,GAASpF,GAASA,EAC5DyG,GAAczG,IAAUkF,EAAAA,EAAAA,IAASlF,GAASmF,GAASnF,GAASA,EAGlE,MAAMkK,GACJnN,WAAAA,CAAYoN,EAAQC,EAAS5E,EAAY6E,GACvCpN,KAAKkN,OAASA,EACdlN,KAAKmN,QAAUA,EACfnN,KAAKoC,SAAM,EACXpC,KAAKqN,WAAY,EACjBrN,KAAK,mBAAoB,EACzBA,KAAKsB,OAAS,IAAIG,GAChB,IAAMyL,EAAOlN,KAAKsN,UAClB,IAAMC,GACJvN,KAC4B,IAA5BA,KAAKsB,OAAOO,YAAoB,EAAI,KAGxC7B,KAAKsB,OAAOe,SAAWrC,KACvBA,KAAKsB,OAAOd,OAASR,KAAKwN,YAAcJ,EACxCpN,KAAK,kBAAoBuI,CAC3B,CACA,SAAIxF,GACF,MAAM0K,EAAO9G,GAAM3G,MAanB,OAZMyN,EAAKD,aAAcC,EAAKnM,OAAOY,SAAUyG,EAAAA,EAAAA,IAAW8E,EAAKH,OAAQG,EAAKH,OAASG,EAAKnM,OAAOb,QAC/F8M,GAAgBE,EAAM,GAExBC,GAAcD,GACVA,EAAKnM,OAAOO,aAAe,GAM7B0L,GAAgBE,EAAM,GAEjBA,EAAKH,MACd,CACA,SAAIvK,CAAMmC,GACRlF,KAAKmN,QAAQjI,EACf,CAEA,UAAIyI,GACF,OAAO3N,KAAKsB,OAAOY,KACrB,CACA,UAAIyL,CAAOnL,GACTxC,KAAKsB,OAAOY,MAAQM,CACtB,EAGF,SAASH,GAASuL,EAAiBC,EAAcT,GAAQ,GACvD,IAAIF,EACAY,EACJ,MAAMC,GAAaC,EAAAA,EAAAA,IAAWJ,GAC1BG,GACFb,EAASU,EACTE,EAEIG,EAAAA,KAEJf,EAASU,EAAgBzK,IACzB2K,EAASF,EAAgB7J,KAE3B,MAAMmK,EAAO,IAAIjB,GAAgBC,EAAQY,EAAQC,IAAeD,EAAQV,GAKxE,OAAOc,CACT,CAEA,SAASR,GAAcS,GACrB,IAAIC,EACA1L,GAAe9C,IACjBuO,EAAOxH,GAAMwH,GACbtK,EACEjE,EACmB,OAAlBwO,EAAKD,EAAK/L,KAAegM,EAAKD,EAAK/L,IAAMkC,GACxC,IAAM6J,EAAK/L,SAAM,GACjB+L,aAAgBlB,GAAkBkB,OAAO,QAMvC,GAGV,CACA,SAASZ,GAAgBY,EAAMjK,EAAa,EAAGmK,EAAQC,GACrDH,EAAOxH,GAAMwH,GACb,MAAM/L,EAAM+L,EAAK/L,IACbA,GACF6B,EACE7B,EACA8B,OAOI,EAGV,CACA,SAAS8D,GAAMuG,GACb,SAAUA,IAAqB,IAAhBA,EAAElB,UACnB,CACA,SAASmB,GAAIzL,GACX,OAAO0L,GAAU1L,GAAO,EAC1B,CAIA,SAAS0L,GAAUC,EAAUhD,GAC3B,OAAI1D,GAAM0G,GACDA,EAEF,IAAIC,GAAQD,EAAUhD,EAC/B,CACA,MAAMiD,GACJ7O,WAAAA,CAAYiD,EAAO6L,GACjB5O,KAAK4O,cAAgBA,EACrB5O,KAAKoC,SAAM,EACXpC,KAAKqN,WAAY,EACjBrN,KAAK6O,UAAYD,EAAgB7L,EAAQ4D,GAAM5D,GAC/C/C,KAAKsN,OAASsB,EAAgB7L,EAAQ0G,GAAW1G,EACnD,CACA,SAAIA,GAEF,OADA2K,GAAc1N,MACPA,KAAKsN,MACd,CACA,SAAIvK,CAAMsL,GACR,MAAMS,EAAiB9O,KAAK4O,eAAiBpG,GAAU6F,IAAW9F,GAAW8F,GAE7E,GADAA,EAASS,EAAiBT,EAAS1H,GAAM0H,IACrC1F,EAAAA,EAAAA,IAAW0F,EAAQrO,KAAK6O,WAAY,CACtC,MAAMP,EAAStO,KAAK6O,UACpB7O,KAAK6O,UAAYR,EACjBrO,KAAKsN,OAASwB,EAAiBT,EAAS5E,GAAW4E,GACnDd,GAAgBvN,KAAM,EAAGqO,EAAQC,EACnC,CACF,EAKF,SAASS,GAAMZ,GACb,OAAOnG,GAAMmG,GAAQA,EAAKpL,MAAQoL,CACpC,CAIA,MAAMa,GAAwB,CAC5B7L,IAAKA,CAAC2B,EAAQE,EAAKoC,IAAa2H,GAAMjH,QAAQ3E,IAAI2B,EAAQE,EAAKoC,IAC/DrD,IAAKA,CAACe,EAAQE,EAAKjC,EAAOqE,KACxB,MAAMjC,EAAWL,EAAOE,GACxB,OAAIgD,GAAM7C,KAAc6C,GAAMjF,IAC5BoC,EAASpC,MAAQA,GACV,GAEA+E,QAAQ/D,IAAIe,EAAQE,EAAKjC,EAAOqE,EACzC,GAGJ,SAAS6H,GAAUC,GACjB,OAAOtC,GAAWsC,GAAkBA,EAAiB,IAAIvC,MAAMuC,EAAgBF,GACjF,C,0zBCx7BA,SAASG,EAAsBzO,EAAI0O,EAAUrK,EAAM0B,GACjD,IACE,OAAOA,EAAO/F,KAAM+F,GAAQ/F,GAC9B,CAAE,MAAO2O,GACPC,EAAYD,EAAKD,EAAUrK,EAC7B,CACF,CACA,SAASwK,EAA2B7O,EAAI0O,EAAUrK,EAAM0B,GACtD,IAAIuH,EAAAA,EAAAA,IAAWtN,GAAK,CAClB,MAAMkG,EAAMuI,EAAsBzO,EAAI0O,EAAUrK,EAAM0B,GAMtD,OALIG,IAAO4I,EAAAA,EAAAA,IAAU5I,IACnBA,EAAI6I,OAAOJ,IACTC,EAAYD,EAAKD,EAAUrK,EAAK,IAG7B6B,CACT,CACA,IAAItB,EAAAA,EAAAA,IAAQ5E,GAAK,CACf,MAAM2E,EAAS,GACf,IAAK,IAAIrE,EAAI,EAAGA,EAAIN,EAAGQ,OAAQF,IAC7BqE,EAAO9E,KAAKgP,EAA2B7O,EAAGM,GAAIoO,EAAUrK,EAAM0B,IAEhE,OAAOpB,CACT,CAKF,CACA,SAASiK,EAAYD,EAAKD,EAAUrK,EAAM2K,GAAa,GACrD,MAAMC,EAAeP,EAAWA,EAASQ,MAAQ,KACjD,GAAIR,EAAU,CACZ,IAAIS,EAAMT,EAAShP,OACnB,MAAM0P,EAAkBV,EAAS1C,MAC3BqD,EAAmF,8CAA8ChL,IACvI,MAAO8K,EAAK,CACV,MAAMG,EAAqBH,EAAII,GAC/B,GAAID,EACF,IAAK,IAAIhP,EAAI,EAAGA,EAAIgP,EAAmB9O,OAAQF,IAC7C,IAA+D,IAA3DgP,EAAmBhP,GAAGqO,EAAKS,EAAiBC,GAC9C,OAINF,EAAMA,EAAIzP,MACZ,CACA,MAAM8P,EAAkBd,EAASe,WAAWC,OAAOC,aACnD,GAAIH,EASF,OARA/N,EAAAA,EAAAA,MACAgN,EACEe,EACA,KACA,GACA,CAACb,EAAKS,EAAiBC,SAEzBxN,EAAAA,EAAAA,KAGJ,CACA+N,EAASjB,EAAKtK,EAAM4K,EAAcD,EACpC,CACA,SAASY,EAASjB,EAAKtK,EAAM4K,EAAcD,GAAa,GAgBpDa,QAAQC,MAAMnB,EAElB,CAEA,IAAIoB,GAAa,EACbC,GAAiB,EACrB,MAAMC,EAAQ,GACd,IAAIC,EAAa,EACjB,MAAMC,EAAsB,GAC5B,IAAIC,EAAqB,KACrBC,EAAiB,EACrB,MAAMC,EAAkCC,QAAQC,UAChD,IAAIC,EAAsB,KAE1B,SAASC,EAAS1Q,GAChB,MAAM2Q,EAAIF,GAAuBH,EACjC,OAAOtQ,EAAK2Q,EAAEC,KAAKtR,KAAOU,EAAG6Q,KAAKvR,MAAQU,GAAM2Q,CAClD,CACA,SAASG,EAAmBC,GAC1B,IAAIC,EAAQd,EAAa,EACrBe,EAAMhB,EAAMzP,OAChB,MAAOwQ,EAAQC,EAAK,CAClB,MAAMC,EAASF,EAAQC,IAAQ,EACzBE,EAAYlB,EAAMiB,GAClBE,EAAcC,EAAMF,GACtBC,EAAcL,GAAMK,IAAgBL,GAAMI,EAAUG,IACtDN,EAAQE,EAAS,EAEjBD,EAAMC,CAEV,CACA,OAAOF,CACT,CACA,SAASO,EAASC,GACXvB,EAAMzP,QAAWyP,EAAMwB,SAC1BD,EACAzB,GAAcyB,EAAI7N,aAAeuM,EAAa,EAAIA,KAEpC,MAAVsB,EAAIT,GACNd,EAAMpQ,KAAK2R,GAEXvB,EAAMyB,OAAOZ,EAAmBU,EAAIT,IAAK,EAAGS,GAE9CG,IAEJ,CACA,SAASA,IACF5B,GAAeC,IAClBA,GAAiB,EACjBS,EAAsBH,EAAgBM,KAAKgB,GAE/C,CACA,SAASC,EAAcL,GACrB,MAAMlR,EAAI2P,EAAM6B,QAAQN,GACpBlR,EAAI4P,GACND,EAAMyB,OAAOpR,EAAG,EAEpB,CACA,SAASyR,EAAiBC,IACnBpN,EAAAA,EAAAA,IAAQoN,GAQX7B,EAAoBtQ,QAAQmS,GAPvB5B,GAAuBA,EAAmBqB,SAC7CO,EACAA,EAAGrO,aAAe0M,EAAiB,EAAIA,IAEvCF,EAAoBtQ,KAAKmS,GAK7BL,GACF,CACA,SAASM,EAAiBvD,EAAUwD,EAAM5R,GAAIyP,EAAaG,EAAa,EAAI,IAI1E,IAHI,EAGG5P,EAAI2P,EAAMzP,OAAQF,IAAK,CAC5B,MAAM0R,EAAK/B,EAAM3P,GACjB,GAAI0R,GAAMA,EAAGV,IAAK,CAChB,GAAI5C,GAAYsD,EAAGjB,KAAOrC,EAASyD,IACjC,SAEE,EAGJlC,EAAMyB,OAAOpR,EAAG,GAChBA,IACA0R,GACF,CACF,CACF,CACA,SAASI,EAAkBF,GACzB,GAAI/B,EAAoB3P,OAAQ,CAC9B,MAAM6R,EAAU,IAAI,IAAI9M,IAAI4K,IAAsBmC,MAChD,CAACC,EAAGC,IAAMnB,EAAMkB,GAAKlB,EAAMmB,KAG7B,GADArC,EAAoB3P,OAAS,EACzB4P,EAEF,YADAA,EAAmBvQ,QAAQwS,GAO7B,IAJAjC,EAAqBiC,EAIhBhC,EAAiB,EAAGA,EAAiBD,EAAmB5P,OAAQ6P,IAAkB,CACrF,MAAM2B,EAAK5B,EAAmBC,GAC1B,GAGc,IAAd2B,EAAGlS,QAAkBkS,GAC3B,CACA5B,EAAqB,KACrBC,EAAiB,CACnB,CACF,CACA,MAAMgB,EAASG,GAAkB,MAAVA,EAAIT,GAAa0B,IAAWjB,EAAIT,GACjD2B,EAAaA,CAACH,EAAGC,KACrB,MAAMG,EAAOtB,EAAMkB,GAAKlB,EAAMmB,GAC9B,GAAa,IAATG,EAAY,CACd,GAAIJ,EAAEjB,MAAQkB,EAAElB,IAAK,OAAQ,EAC7B,GAAIkB,EAAElB,MAAQiB,EAAEjB,IAAK,OAAO,CAC9B,CACA,OAAOqB,CAAI,EAEb,SAASf,EAAUM,GACjBlC,GAAiB,EACjBD,GAAa,EAIbE,EAAMqC,KAAKI,GAC2FnF,EAAAA,GACtG,IACE,IAAK2C,EAAa,EAAGA,EAAaD,EAAMzP,OAAQ0P,IAAc,CAC5D,MAAMsB,EAAMvB,EAAMC,GACdsB,IAAsB,IAAfA,EAAI1R,QAIb2O,EAAsB+C,EAAK,KAAM,GAErC,CACF,CAAE,QACAtB,EAAa,EACbD,EAAMzP,OAAS,EACf4R,EAAkBF,GAClBnC,GAAa,EACbU,EAAsB,MAClBR,EAAMzP,QAAU2P,EAAoB3P,SACtCoR,EAAUM,EAEd,CACF,CAgPA,SAASU,EAAKlE,EAAUmE,KAAUC,GAChC,GAAIpE,EAASqE,YAAa,OAC1B,MAAMC,EAAQtE,EAASQ,MAAM8D,OAASC,EAAAA,GA0BtC,IAAIlN,EAAO+M,EACX,MAAMI,EAAkBL,EAAMM,WAAW,WACnCC,EAAWF,GAAmBL,EAAMQ,MAAM,GAChD,GAAID,GAAYA,KAAYJ,EAAO,CACjC,MAAMM,EAAe,GAAgB,eAAbF,EAA4B,QAAUA,cACxD,OAAEG,EAAM,KAAEC,GAASR,EAAMM,IAAiBL,EAAAA,GAC5CO,IACFzN,EAAO+M,EAAQnN,KAAK4M,IAAMkB,EAAAA,EAAAA,IAASlB,GAAKA,EAAEiB,OAASjB,KAEjDgB,IACFxN,EAAO+M,EAAQnN,IAAI+N,EAAAA,IAEvB,CAiBA,IAAIC,EACJ,IAAIC,EAAUZ,EAAMW,GAAcE,EAAAA,EAAAA,IAAahB,KAC/CG,EAAMW,GAAcE,EAAAA,EAAAA,KAAaC,EAAAA,EAAAA,IAASjB,MACrCe,GAAWV,IACdU,EAAUZ,EAAMW,GAAcE,EAAAA,EAAAA,KAAaE,EAAAA,EAAAA,IAAUlB,MAEnDe,GACF/E,EACE+E,EACAlF,EACA,EACA3I,GAGJ,MAAMiO,EAAchB,EAAMW,EAAc,QACxC,GAAIK,EAAa,CACf,GAAKtF,EAASuF,SAEP,GAAIvF,EAASuF,QAAQN,GAC1B,YAFAjF,EAASuF,QAAU,CAAC,EAItBvF,EAASuF,QAAQN,IAAe,EAChC9E,EACEmF,EACAtF,EACA,EACA3I,EAEJ,CACF,CACA,SAASmO,EAAsBC,EAAM1E,EAAY2E,GAAU,GACzD,MAAMC,EAAQ5E,EAAW6E,WACnBC,EAASF,EAAM5R,IAAI0R,GACzB,QAAe,IAAXI,EACF,OAAOA,EAET,MAAMnI,EAAM+H,EAAKK,MACjB,IAAIC,EAAa,CAAC,EACdC,GAAa,EACjB,KAA4BpH,EAAAA,EAAAA,IAAW6G,GAAO,CAC5C,MAAMQ,EAAeC,IACnB,MAAMC,EAAuBX,EAAsBU,EAAMnF,GAAY,GACjEoF,IACFH,GAAa,GACbI,EAAAA,EAAAA,IAAOL,EAAYI,GACrB,GAEGT,GAAW3E,EAAWsF,OAAOvU,QAChCiP,EAAWsF,OAAOhQ,QAAQ4P,GAExBR,EAAKa,SACPL,EAAYR,EAAKa,SAEfb,EAAKY,QACPZ,EAAKY,OAAOhQ,QAAQ4P,EAExB,CACA,OAAKvI,GAAQsI,IAMT9P,EAAAA,EAAAA,IAAQwH,GACVA,EAAIrH,SAAST,GAAQmQ,EAAWnQ,GAAO,QAEvCwQ,EAAAA,EAAAA,IAAOL,EAAYrI,IAEjB7E,EAAAA,EAAAA,IAAS4M,IACXE,EAAMhR,IAAI8Q,EAAMM,GAEXA,KAbDlN,EAAAA,EAAAA,IAAS4M,IACXE,EAAMhR,IAAI8Q,EAAM,MAEX,KAWX,CACA,SAASc,EAAeC,EAAS5Q,GAC/B,SAAK4Q,KAAYC,EAAAA,EAAAA,IAAK7Q,MAGtBA,EAAMA,EAAI+O,MAAM,GAAG+B,QAAQ,QAAS,KAC7BjO,EAAAA,EAAAA,IAAO+N,EAAS5Q,EAAI,GAAG+Q,cAAgB/Q,EAAI+O,MAAM,MAAOlM,EAAAA,EAAAA,IAAO+N,GAASnB,EAAAA,EAAAA,IAAUzP,MAAS6C,EAAAA,EAAAA,IAAO+N,EAAS5Q,GACpH,CAEA,IAAIgR,EAA2B,KAC3BC,EAAiB,KACrB,SAASC,EAA4B9G,GACnC,MAAM+G,EAAOH,EAGb,OAFAA,EAA2B5G,EAC3B6G,EAAiB7G,GAAYA,EAASrK,KAAKqR,WAAa,KACjDD,CACT,CAQA,SAASE,EAAQ3V,EAAI4V,EAAMN,EAA0BO,GACnD,IAAKD,EAAK,OAAO5V,EACjB,GAAIA,EAAG8V,GACL,OAAO9V,EAET,MAAM+V,EAAsBA,IAAIhQ,KAC1BgQ,EAAoBC,IACtBC,IAAkB,GAEpB,MAAMC,EAAeV,EAA4BI,GACjD,IAAI1P,EACJ,IACEA,EAAMlG,KAAM+F,EACd,CAAE,QACAyP,EAA4BU,GACxBH,EAAoBC,IACtBC,GAAiB,EAErB,CAIA,OAAO/P,CAAG,EAKZ,OAHA6P,EAAoBD,IAAK,EACzBC,EAAoBI,IAAK,EACzBJ,EAAoBC,IAAK,EAClBD,CACT,CAMA,SAASK,EAAoB1H,GAC3B,MACErK,KAAMgS,EAAS,MACfnH,EAAK,MACLlD,EAAK,UACLsK,EACAC,cAAeA,GAAa,MAC5BC,EAAK,MACLC,EAAK,KACL7D,EAAI,OACJ8D,EAAM,YACNC,EAAW,MACX3D,EAAK,KACL4D,EAAI,WACJC,EAAU,IACVjB,EAAG,aACHkB,GACEpI,EACE+G,EAAOD,EAA4B9G,GACzC,IAAI1G,EACA+O,EAIJ,IACE,GAAsB,EAAlB7H,EAAM8H,UAAe,CACvB,MAAMC,EAAaX,GAAatK,EAC1BkL,EASDD,EACLjP,EAASmP,GACPT,EAAO1N,KACLkO,EACAD,EACAN,EACqE3D,EACrE6D,EACAD,EACAhB,IAGJmB,EAAmBN,CACrB,KAAO,CACL,MAAMW,EAAUf,EACZ,EAGJrO,EAASmP,GACPC,EAAQ5W,OAAS,EAAI4W,EACkDpE,EAQjE,CAAEyD,QAAOD,QAAO5D,SAClBwE,EACmEpE,EACrE,OAGJ+D,EAAmBV,EAAUrD,MAAQyD,EAAQY,EAAyBZ,EACxE,CACF,CAAE,MAAO9H,GACP2I,GAAW9W,OAAS,EACpBoO,EAAYD,EAAKD,EAAU,GAC3B1G,EAASuP,GAAYC,GACvB,CACA,IAAIC,EAAOzP,EAKX,GAAI+O,IAAqC,IAAjBD,EAAwB,CAC9C,MAAMrT,EAAO+B,OAAO/B,KAAKsT,IACnB,UAAEC,GAAcS,EAClBhU,EAAKjD,QACS,EAAZwW,IACET,GAAgB9S,EAAKiU,KAAKxE,EAAAA,MAC5B6D,EAAmBY,EACjBZ,EACAR,IAGJkB,EAAOG,GAAWH,EAAMV,GAAkB,GAAO,GA2BvD,CAwBA,OAvBI7H,EAAM2I,OAMRJ,EAAOG,GAAWH,EAAM,MAAM,GAAO,GACrCA,EAAKI,KAAOJ,EAAKI,KAAOJ,EAAKI,KAAKC,OAAO5I,EAAM2I,MAAQ3I,EAAM2I,MAE3D3I,EAAM6I,aAMRN,EAAKM,WAAa7I,EAAM6I,YAKxB/P,EAASyP,EAEXjC,EAA4BC,GACrBzN,CACT,CA6CA,MAAMqP,EAA4BZ,IAChC,IAAIvQ,EACJ,IAAK,MAAM5B,KAAOmS,GACJ,UAARnS,GAA2B,UAARA,IAAmB6Q,EAAAA,EAAAA,IAAK7Q,OAC5C4B,IAAQA,EAAM,CAAC,IAAI5B,GAAOmS,EAAMnS,IAGrC,OAAO4B,CAAG,EAENyR,EAAuBA,CAAClB,EAAOzD,KACnC,MAAM9M,EAAM,CAAC,EACb,IAAK,MAAM5B,KAAOmS,GACXvD,EAAAA,EAAAA,IAAgB5O,IAAUA,EAAI+O,MAAM,KAAML,IAC7C9M,EAAI5B,GAAOmS,EAAMnS,IAGrB,OAAO4B,CAAG,EAKZ,SAAS8R,EAAsBC,EAAWC,EAAWC,GACnD,MAAQnF,MAAOoF,EAAWC,SAAUC,EAAY,UAAEC,GAAcN,GACxDjF,MAAOwF,EAAWH,SAAUI,EAAY,UAAEC,GAAcR,EAC1D1D,EAAQ+D,EAAUI,aAIxB,GAAIT,EAAUL,MAAQK,EAAUH,WAC9B,OAAO,EAET,KAAII,GAAaO,GAAa,GAmB5B,SAAIJ,IAAgBG,GACbA,GAAiBA,EAAaG,UAIjCR,IAAcI,IAGbJ,GAGAI,GAGEK,EAAgBT,EAAWI,EAAWhE,KALlCgE,GA3BX,GAAgB,KAAZE,EACF,OAAO,EAET,GAAgB,GAAZA,EACF,OAAKN,EAGES,EAAgBT,EAAWI,EAAWhE,KAFlCgE,EAGN,GAAgB,EAAZE,EAAe,CACxB,MAAMI,EAAeZ,EAAUY,aAC/B,IAAK,IAAIxY,EAAI,EAAGA,EAAIwY,EAAatY,OAAQF,IAAK,CAC5C,MAAMgE,EAAMwU,EAAaxY,GACzB,GAAIkY,EAAUlU,KAAS8T,EAAU9T,KAAS2Q,EAAeT,EAAOlQ,GAC9D,OAAO,CAEX,CACF,CAkBF,OAAO,CACT,CACA,SAASuU,EAAgBT,EAAWI,EAAWG,GAC7C,MAAMI,EAAWvT,OAAO/B,KAAK+U,GAC7B,GAAIO,EAASvY,SAAWgF,OAAO/B,KAAK2U,GAAW5X,OAC7C,OAAO,EAET,IAAK,IAAIF,EAAI,EAAGA,EAAIyY,EAASvY,OAAQF,IAAK,CACxC,MAAMgE,EAAMyU,EAASzY,GACrB,GAAIkY,EAAUlU,KAAS8T,EAAU9T,KAAS2Q,EAAe0D,EAAcrU,GACrE,OAAO,CAEX,CACA,OAAO,CACT,CACA,SAAS0U,GAAgB,MAAE9J,EAAK,OAAExP,GAAUuZ,GAC1C,MAAOvZ,EAAQ,CACb,MAAM+X,EAAO/X,EAAOwZ,QAIpB,GAHIzB,EAAK0B,UAAY1B,EAAK0B,SAASC,eAAiBlK,IAClDuI,EAAKwB,GAAK/J,EAAM+J,IAEdxB,IAASvI,EAIX,OAHCA,EAAQxP,EAAOwP,OAAO+J,GAAKA,EAC5BvZ,EAASA,EAAOA,MAIpB,CACF,CAEA,MAAM2Z,EAAa,aAEnB,SAASC,EAAiBC,EAAMC,GAC9B,OAAOC,EAAaJ,EAAYE,GAAM,EAAMC,IAAuBD,CACrE,CACA,MAAMG,EAAyBzV,OAAO0V,IAAI,SAW1C,SAASF,EAAapV,EAAMkV,EAAMK,GAAc,EAAMJ,GAAqB,GACzE,MAAM9K,EAAW4G,GAA4BuE,GAC7C,GAAInL,EAAU,CACZ,MAAM2H,EAAY3H,EAASrK,KAC3B,GAAIA,IAASgV,EAAY,CACvB,MAAMS,EAAWC,GACf1D,GACA,GAEF,GAAIyD,IAAaA,IAAaP,GAAQO,KAAahG,EAAAA,EAAAA,IAASyF,IAASO,KAAaE,EAAAA,EAAAA,KAAWlG,EAAAA,EAAAA,IAASyF,KACpG,OAAOlD,CAEX,CACA,MAAMnQ,EAGJsK,EAAQ9B,EAASrK,IAASgS,EAAUhS,GAAOkV,IAC3C/I,EAAQ9B,EAASe,WAAWpL,GAAOkV,GAErC,OAAKrT,GAAOsT,EACHnD,EAOFnQ,CACT,CAKF,CACA,SAASsK,EAAQyJ,EAAUV,GACzB,OAAOU,IAAaA,EAASV,IAASU,GAASnG,EAAAA,EAAAA,IAASyF,KAAUU,GAASD,EAAAA,EAAAA,KAAWlG,EAAAA,EAAAA,IAASyF,KACjG,CAEA,MAAMW,EAAc7V,GAASA,EAAK8V,aAojBlC,SAASC,EAAwBpa,EAAImZ,GAC/BA,GAAYA,EAASkB,eACnBzV,EAAAA,EAAAA,IAAQ5E,GACVmZ,EAAS3Z,QAAQK,QAAQG,GAEzBmZ,EAAS3Z,QAAQK,KAAKG,GAGxB+R,EAAiB/R,EAErB,CAoBA,SAASsa,EAAWjW,EAAMkW,EAAMnW,EAASyV,GAAiBW,GAAU,GAClE,GAAIpW,EAAQ,CACV,MAAMqW,EAAQrW,EAAOC,KAAUD,EAAOC,GAAQ,IACxCqW,EAAcH,EAAKI,QAAUJ,EAAKI,MAAQ,IAAI5U,MAClDtE,EAAAA,EAAAA,MACA,MAAMmZ,EAAQC,GAAmBzW,GAC3B8B,EAAM2I,EAA2B0L,EAAMnW,EAAQC,EAAM0B,GAG3D,OAFA6U,KACA/Y,EAAAA,EAAAA,MACOqE,CAAG,GAOZ,OALIsU,EACFC,EAAMK,QAAQJ,GAEdD,EAAM5a,KAAK6a,GAENA,CACT,CAMF,CACA,MAAMK,EAAcC,GAAc,CAACT,EAAMnW,EAASyV,MAC3CoB,IAAuC,OAAdD,GAC5BV,EAAWU,GAAW,IAAIjV,IAASwU,KAAQxU,IAAO3B,EACpD,EAEI8W,EAAgBH,EAAW,MAC3BI,EAAYJ,EAAW,KACvBK,EAAiBL,EAAW,MAC5BM,GAAYN,EAAW,KACvBO,GAAkBP,EAAW,OAC7BQ,GAAcR,EAAW,MACzBS,GAAmBT,EAAW,MAC9BU,GAAoBV,EACxB,OAEIW,GAAkBX,EACtB,OAEF,SAASY,GAAgBpB,EAAMnW,EAASyV,IACtCS,EAAW,KAAMC,EAAMnW,EACzB,CAOA,SAASwX,GAAe1M,EAAO2M,GAC7B,GAAiC,OAA7BvG,EAEF,OAAOpG,EAET,MAAMR,EAAWoN,GAA2BxG,GACtCyG,EAAW7M,EAAM2I,OAAS3I,EAAM2I,KAAO,IAC7C,IAAK,IAAIvX,EAAI,EAAGA,EAAIub,EAAWrb,OAAQF,IAAK,CAC1C,IAAK0b,EAAK3Z,EAAO4Z,EAAKC,EAAYjJ,EAAAA,IAAa4I,EAAWvb,GACtD0b,KACE1O,EAAAA,EAAAA,IAAW0O,KACbA,EAAM,CACJG,QAASH,EACTI,QAASJ,IAGTA,EAAIK,MACNC,GAASja,GAEX0Z,EAASlc,KAAK,CACZmc,MACAtN,WACArM,QACAoC,cAAU,EACVwX,MACAC,cAGN,CACA,OAAOhN,CACT,CACA,SAASqN,GAAoBrN,EAAO+I,EAAWvJ,EAAU6K,GACvD,MAAMwC,EAAW7M,EAAM2I,KACjB2E,EAAcvE,GAAaA,EAAUJ,KAC3C,IAAK,IAAIvX,EAAI,EAAGA,EAAIyb,EAASvb,OAAQF,IAAK,CACxC,MAAMmc,EAAUV,EAASzb,GACrBkc,IACFC,EAAQhY,SAAW+X,EAAYlc,GAAG+B,OAEpC,IAAIkY,EAAOkC,EAAQT,IAAIzC,GACnBgB,KACF9Y,EAAAA,EAAAA,MACAoN,EAA2B0L,EAAM7L,EAAU,EAAG,CAC5CQ,EAAM+J,GACNwD,EACAvN,EACA+I,KAEFpW,EAAAA,EAAAA,MAEJ,CACF,CAEA,SAAS6a,GAAWC,EAAQC,EAAYvI,EAAO1U,GAC7C,IAAIkd,EACJ,MAAMtI,EAASF,GAASA,EAAM1U,GAC9B,IAAIiF,EAAAA,EAAAA,IAAQ+X,KAAWlJ,EAAAA,EAAAA,IAASkJ,GAAS,CACvCE,EAAM,IAAIC,MAAMH,EAAOnc,QACvB,IAAK,IAAIF,EAAI,EAAGC,EAAIoc,EAAOnc,OAAQF,EAAIC,EAAGD,IACxCuc,EAAIvc,GAAKsc,EAAWD,EAAOrc,GAAIA,OAAG,EAAQiU,GAAUA,EAAOjU,GAE/D,MAAO,GAAsB,kBAAXqc,EAAqB,CACjC,EAGJE,EAAM,IAAIC,MAAMH,GAChB,IAAK,IAAIrc,EAAI,EAAGA,EAAIqc,EAAQrc,IAC1Buc,EAAIvc,GAAKsc,EAAWtc,EAAI,EAAGA,OAAG,EAAQiU,GAAUA,EAAOjU,GAE3D,MAAO,IAAIiH,EAAAA,EAAAA,IAASoV,GAClB,GAAIA,EAAO1Y,OAAO8F,UAChB8S,EAAMC,MAAMC,KACVJ,GACA,CAACK,EAAM1c,IAAMsc,EAAWI,EAAM1c,OAAG,EAAQiU,GAAUA,EAAOjU,UAEvD,CACL,MAAMmD,EAAO+B,OAAO/B,KAAKkZ,GACzBE,EAAM,IAAIC,MAAMrZ,EAAKjD,QACrB,IAAK,IAAIF,EAAI,EAAGC,EAAIkD,EAAKjD,OAAQF,EAAIC,EAAGD,IAAK,CAC3C,MAAMgE,EAAMb,EAAKnD,GACjBuc,EAAIvc,GAAKsc,EAAWD,EAAOrY,GAAMA,EAAKhE,EAAGiU,GAAUA,EAAOjU,GAC5D,CACF,MAEAuc,EAAM,GAKR,OAHIxI,IACFA,EAAM1U,GAASkd,GAEVA,CACT,CA8BA,MAAMI,GAAkB3c,KAAQA,EAAE+D,KAAK6Y;4BA2IvC,SAASC,GAAW3G,EAAO+C,EAAMvG,EAAQ,CAAC,EAAGoK,EAAUC,GACrD,GAAI/H,EAAyBgI,MAAQhI,EAAyB5V,QAAUud,GAAe3H,EAAyB5V,SAAW4V,EAAyB5V,OAAO4d,KAEzJ,MADa,YAAT/D,IAAoBvG,EAAMuG,KAAOA,GAC9BhC,GAAY,OAAQvE,EAAOoK,GAAYA,KAEhD,IAAIG,EAAO/G,EAAM+C,GAObgE,GAAQA,EAAKpH,KACfoH,EAAKvH,IAAK,GAEZwH,KACA,MAAMC,EAAmBF,GAAQG,GAAiBH,EAAKvK,IACjD2K,EAAWC,GACfC,GACA,CACEvZ,IAAK0O,EAAM1O,KAEXmZ,GAAoBA,EAAiBnZ,KAAO,IAAIiV,KAElDkE,IAAqBL,EAAWA,IAAa,IAC7CK,GAAgC,IAAZjH,EAAMsH,EAAU,IAAM,GAQ5C,OANKT,GAAaM,EAASI,UACzBJ,EAASK,aAAe,CAACL,EAASI,QAAU,OAE1CR,GAAQA,EAAKpH,KACfoH,EAAKvH,IAAK,GAEL2H,CACT,CACA,SAASD,GAAiBO,GACxB,OAAOA,EAAOvG,MAAMwG,IACbC,GAAQD,IACTA,EAAM7Z,OAASmT,MACf0G,EAAM7Z,OAASwZ,KAAaH,GAAiBQ,EAAM7F,aAGpD4F,EAAS,IAChB,CAcA,MAAMG,GAAqB9d,GACpBA,EACD+d,GAAoB/d,GAAWwb,GAA2Bxb,GACvD8d,GAAkB9d,EAAEZ,QAFZ,KAIX4e,IAGYxJ,EAAAA,EAAAA,IAAuBtP,OAAO+Y,OAAO,MAAO,CAC1DC,EAAIle,GAAMA,EACVme,IAAMne,GAAMA,EAAE4O,MAAM+J,GACpByF,MAAQpe,GAAMA,EAAEsW,KAChB+H,OAASre,GAA6EA,EAAE0S,MACxF4L,OAASte,GAA6EA,EAAEmW,MACxFoI,OAASve,GAA6EA,EAAEkW,MACxFsI,MAAQxe,GAA4EA,EAAEye,KACtFC,QAAU1e,GAAM8d,GAAkB9d,EAAEZ,QACpCuf,MAAQ3e,GAAM8d,GAAkB9d,EAAEmX,MAClCyH,MAAQ5e,GAAMA,EAAEsS,KAChBuM,SAAW7e,GAA4B8e,GAAqB9e,GAC5D+e,aAAe/e,GAAMA,EAAEgf,IAAMhf,EAAEgf,EAAI,KACjChf,EAAEM,OAAOY,OAAQ,EACjB+P,EAASjR,EAAEif,OAAO,GAEpBC,UAAYlf,GAAMA,EAAEmf,IAAMnf,EAAEmf,EAAI/O,EAASG,KAAKvQ,EAAE0L,QAChD0T,OAASpf,GAA4Bqf,GAAc9O,KAAKvQ,KAItDsf,GAAkBA,CAACC,EAAOvb,IAAQub,IAAU5M,EAAAA,KAAc4M,EAAMC,kBAAmB3Y,EAAAA,EAAAA,IAAO0Y,EAAOvb,GACjGyb,GAA8B,CAClCtd,GAAAA,EAAMqb,EAAGpP,GAAYpK,GACnB,GAAY,aAARA,EACF,OAAO,EAET,MAAM,IAAEsR,EAAG,WAAEiB,EAAU,KAAED,EAAI,MAAE5D,EAAK,YAAEgN,EAAW,KAAE3b,EAAI,WAAEoL,GAAef,EAIxE,IAAIuR,EACJ,GAAe,MAAX3b,EAAI,GAAY,CAClB,MAAMmb,EAAIO,EAAY1b,GACtB,QAAU,IAANmb,EACF,OAAQA,GACN,KAAK,EACH,OAAO5I,EAAWvS,GACpB,KAAK,EACH,OAAOsS,EAAKtS,GACd,KAAK,EACH,OAAOsR,EAAItR,GACb,KAAK,EACH,OAAO0O,EAAM1O,OAEZ,IAAIsb,GAAgB/I,EAAYvS,GAErC,OADA0b,EAAY1b,GAAO,EACZuS,EAAWvS,GACb,GAAIsS,IAAS3D,EAAAA,KAAa9L,EAAAA,EAAAA,IAAOyP,EAAMtS,GAE5C,OADA0b,EAAY1b,GAAO,EACZsS,EAAKtS,GACP,IAGJ2b,EAAkBvR,EAAS6H,aAAa,MAAOpP,EAAAA,EAAAA,IAAO8Y,EAAiB3b,GAGxE,OADA0b,EAAY1b,GAAO,EACZ0O,EAAM1O,GACR,GAAIsR,IAAQ3C,EAAAA,KAAa9L,EAAAA,EAAAA,IAAOyO,EAAKtR,GAE1C,OADA0b,EAAY1b,GAAO,EACZsR,EAAItR,GACsB4b,KACjCF,EAAY1b,GAAO,EACrB,CACF,CACA,MAAM6b,EAAe7B,GAAoBha,GACzC,IAAI8b,EAAWC,EACf,OAAIF,GACU,WAAR7b,IACFH,EAAAA,EAAAA,IAAMuK,EAAS+H,MAAO,MAAO,IAKxB0J,EAAazR,KAGnB0R,EAAY/b,EAAKic,gBAAkBF,EAAYA,EAAU9b,IAEnD8b,EACExK,IAAQ3C,EAAAA,KAAa9L,EAAAA,EAAAA,IAAOyO,EAAKtR,IAC1C0b,EAAY1b,GAAO,EACZsR,EAAItR,KAGX+b,EAAmB5Q,EAAWC,OAAO2Q,kBAAkBlZ,EAAAA,EAAAA,IAAOkZ,EAAkB/b,GAGvE+b,EAAiB/b,QALrB,EAsBT,EACAjB,GAAAA,EAAMya,EAAGpP,GAAYpK,EAAKjC,GACxB,MAAM,KAAEuU,EAAI,WAAEC,EAAU,IAAEjB,GAAQlH,EAClC,OAAIkR,GAAgB/I,EAAYvS,IAC9BuS,EAAWvS,GAAOjC,GACX,GAIEuU,IAAS3D,EAAAA,KAAa9L,EAAAA,EAAAA,IAAOyP,EAAMtS,IAC5CsS,EAAKtS,GAAOjC,GACL,KACE8E,EAAAA,EAAAA,IAAOuH,EAASsE,MAAO1O,MAInB,MAAXA,EAAI,MAAcA,EAAI+O,MAAM,KAAM3E,MAalCkH,EAAItR,GAAOjC,GAGR,GACT,EACAgF,GAAAA,EACEyW,GAAG,KAAElH,EAAI,WAAEC,EAAU,YAAEmJ,EAAW,IAAEpK,EAAG,WAAEnG,EAAU,aAAE8G,IACpDjS,GACD,IAAI2b,EACJ,QAASD,EAAY1b,IAAQsS,IAAS3D,EAAAA,KAAa9L,EAAAA,EAAAA,IAAOyP,EAAMtS,IAAQsb,GAAgB/I,EAAYvS,KAAS2b,EAAkB1J,EAAa,MAAOpP,EAAAA,EAAAA,IAAO8Y,EAAiB3b,KAAQ6C,EAAAA,EAAAA,IAAOyO,EAAKtR,KAAQ6C,EAAAA,EAAAA,IAAOmX,GAAqBha,KAAQ6C,EAAAA,EAAAA,IAAOsI,EAAWC,OAAO2Q,iBAAkB/b,EACxR,EACAic,cAAAA,CAAenc,EAAQE,EAAKkc,GAM1B,OALsB,MAAlBA,EAAW/d,IACb2B,EAAO0Z,EAAEkC,YAAY1b,GAAO,GACnB6C,EAAAA,EAAAA,IAAOqZ,EAAY,UAC5BlhB,KAAK+D,IAAIe,EAAQE,EAAKkc,EAAWne,MAAO,MAEnC+E,QAAQmZ,eAAenc,EAAQE,EAAKkc,EAC7C,GAiJF,SAASC,GAAsBzN,GAC7B,OAAOpO,EAAAA,EAAAA,IAAQoO,GAASA,EAAM0N,QAC5B,CAACjM,EAAY9D,KAAO8D,EAAW9D,GAAK,KAAM8D,IAC1C,CAAC,GACCzB,CACN,CAoEA,IAAIkN,IAAoB,EACxB,SAASS,GAAajS,GACpB,MAAMwG,EAAUkK,GAAqB1Q,GAC/BkS,EAAalS,EAAS1C,MACtB4J,EAAMlH,EAASkH,IACrBsK,IAAoB,EAChBhL,EAAQ2L,cACVC,GAAS5L,EAAQ2L,aAAcnS,EAAU,MAE3C,MAEEkI,KAAMmK,EACNpf,SAAUqf,EAAe,QACzBC,EACAC,MAAOC,EACPC,QAASC,EACTC,OAAQC,EAAa,QAErBC,EAAO,YACPC,EAAW,QACXtF,EAAO,aACPuF,EAAY,QACZtF,EAAO,UACPuF,EAAS,YACTC,EAAW,cACXC,EAAa,cACbC,EAAa,UACbC,EAAS,UACTC,EAAS,OACTtL,EAAM,cACNuL,EAAa,gBACbC,EAAe,cACfC,EAAa,eACbC,EAAc,OAEdC,EAAM,aACNvL,EAAY,WAEZwL,EAAU,WACVzG,EAAU,QACV0G,GACErN,EACEsN,EAAkG,KAYxG,GAHIjB,GACFkB,GAAkBlB,EAAe3L,EAAK4M,GAEpCvB,EACF,IAAK,MAAM3c,KAAO2c,EAAS,CACzB,MAAMyB,EAAgBzB,EAAQ3c,IAC1BgJ,EAAAA,EAAAA,IAAWoV,KASX9M,EAAItR,GAAOoe,EAAc7R,KAAK+P,GAUpC,CAEF,GAAIG,EAAa,CACX,EAKJ,MAAMnK,EAAOmK,EAAY/X,KAAK4X,EAAYA,GACtC,GAKCrZ,EAAAA,EAAAA,IAASqP,KAGZlI,EAASkI,MAAOnP,EAAAA,EAAAA,IAASmP,GAe7B,CAEA,GADAsJ,IAAoB,EAChBc,EACF,IAAK,MAAM1c,KAAO0c,EAAiB,CACjC,MAAM2B,EAAM3B,EAAgB1c,GACtB7B,GAAM6K,EAAAA,EAAAA,IAAWqV,GAAOA,EAAI9R,KAAK+P,EAAYA,IAActT,EAAAA,EAAAA,IAAWqV,EAAIlgB,KAAOkgB,EAAIlgB,IAAIoO,KAAK+P,EAAYA,GAAcrT,EAAAA,GAC1H,EAGJ,MAAMlK,IAAOiK,EAAAA,EAAAA,IAAWqV,KAAQrV,EAAAA,EAAAA,IAAWqV,EAAItf,KAAOsf,EAAItf,IAAIwN,KAAK+P,GAI/DrT,EAAAA,GACEqV,EAAIjhB,GAAS,CACjBc,MACAY,QAEFmC,OAAO+a,eAAe3K,EAAKtR,EAAK,CAC9Bue,YAAY,EACZC,cAAc,EACdrgB,IAAKA,IAAMmgB,EAAEvgB,MACbgB,IAAMvB,GAAM8gB,EAAEvgB,MAAQP,GAK1B,CAEF,GAAIqf,EACF,IAAK,MAAM7c,KAAO6c,EAChB4B,GAAc5B,EAAa7c,GAAMsR,EAAKgL,EAAYtc,GAGtD,GAAI+c,EAAgB,CAClB,MAAM2B,GAAW1V,EAAAA,EAAAA,IAAW+T,GAAkBA,EAAerY,KAAK4X,GAAcS,EAChFja,QAAQe,QAAQ6a,GAAUje,SAAST,IACjC8c,GAAQ9c,EAAK0e,EAAS1e,GAAK,GAE/B,CAIA,SAAS2e,EAAsBC,EAAU3I,IACnC3V,EAAAA,EAAAA,IAAQ2V,GACVA,EAAKxV,SAASoe,GAAUD,EAASC,EAAMtS,KAAK+P,MACnCrG,GACT2I,EAAS3I,EAAK1J,KAAK+P,GAEvB,CAaA,GAtBIY,GACFV,GAASU,EAAS9S,EAAU,KAS9BuU,EAAsB/H,EAAeuG,GACrCwB,EAAsB9H,EAAWgB,GACjC8G,EAAsB7H,EAAgBsG,GACtCuB,EAAsB5H,GAAWe,GACjC6G,EAAsBG,GAAazB,GACnCsB,EAAsBI,GAAezB,GACrCqB,EAAsBtH,GAAiBwG,GACvCc,EAAsBvH,GAAiBuG,GACvCgB,EAAsBxH,GAAmByG,GACzCe,EAAsB3H,GAAiBwG,GACvCmB,EAAsB1H,GAAayG,GACnCiB,EAAsBzH,GAAkB4G,IACpCxd,EAAAA,EAAAA,IAAQyd,GACV,GAAIA,EAAO7hB,OAAQ,CACjB,MAAM8iB,EAAU5U,EAAS4U,UAAY5U,EAAS4U,QAAU,CAAC,GACzDjB,EAAOtd,SAAST,IACdkB,OAAO+a,eAAe+C,EAAShf,EAAK,CAClC7B,IAAKA,IAAMme,EAAWtc,GACtBjB,IAAMkgB,GAAQ3C,EAAWtc,GAAOif,GAChC,GAEN,MAAY7U,EAAS4U,UACnB5U,EAAS4U,QAAU,CAAC,GAGpB5M,GAAUhI,EAASgI,SAAWnJ,EAAAA,KAChCmB,EAASgI,OAASA,GAEA,MAAhBI,IACFpI,EAASoI,aAAeA,GAEtBwL,IAAY5T,EAAS4T,WAAaA,GAClCzG,IAAYnN,EAASmN,WAAaA,EACxC,CACA,SAAS4G,GAAkBlB,EAAe3L,EAAK4M,EAA2BjV,EAAAA,KACpE3I,EAAAA,EAAAA,IAAQ2c,KACVA,EAAgBiC,GAAgBjC,IAElC,IAAK,MAAMjd,KAAOid,EAAe,CAC/B,MAAMoB,EAAMpB,EAAcjd,GAC1B,IAAImf,EAGAA,GAFAlc,EAAAA,EAAAA,IAASob,GACP,YAAaA,EACJrB,GACTqB,EAAI5F,MAAQzY,EACZqe,EAAIe,SACJ,GAGSpC,GAAOqB,EAAI5F,MAAQzY,GAGrBgd,GAAOqB,IAEhBrb,EAAAA,EAAAA,IAAMmc,GACRje,OAAO+a,eAAe3K,EAAKtR,EAAK,CAC9Bue,YAAY,EACZC,cAAc,EACdrgB,IAAKA,IAAMghB,EAASphB,MACpBgB,IAAMvB,GAAM2hB,EAASphB,MAAQP,IAG/B8T,EAAItR,GAAOmf,CAKf,CACF,CACA,SAAS3C,GAASvG,EAAM7L,EAAUrK,GAChCwK,GACEjK,EAAAA,EAAAA,IAAQ2V,GAAQA,EAAK5U,KAAKge,GAAMA,EAAE9S,KAAKnC,EAAS1C,SAAUuO,EAAK1J,KAAKnC,EAAS1C,OAC7E0C,EACArK,EAEJ,CACA,SAAS0e,GAAc3W,EAAKwJ,EAAKgL,EAAYtc,GAC3C,MAAMkI,EAASlI,EAAImN,SAAS,KAAOmS,GAAiBhD,EAAYtc,GAAO,IAAMsc,EAAWtc,GACxF,IAAImP,EAAAA,EAAAA,IAASrH,GAAM,CACjB,MAAMwH,EAAUgC,EAAIxJ,IAChBkB,EAAAA,EAAAA,IAAWsG,IACbsN,GAAM1U,EAAQoH,EAIlB,MAAO,IAAItG,EAAAA,EAAAA,IAAWlB,GACpB8U,GAAM1U,EAAQJ,EAAIyE,KAAK+P,SAClB,IAAIrZ,EAAAA,EAAAA,IAAS6E,GAClB,IAAIxH,EAAAA,EAAAA,IAAQwH,GACVA,EAAIrH,SAAS8I,GAAMkV,GAAclV,EAAG+H,EAAKgL,EAAYtc,SAChD,CACL,MAAMsP,GAAUtG,EAAAA,EAAAA,IAAWlB,EAAIwH,SAAWxH,EAAIwH,QAAQ/C,KAAK+P,GAAchL,EAAIxJ,EAAIwH,UAC7EtG,EAAAA,EAAAA,IAAWsG,IACbsN,GAAM1U,EAAQoH,EAASxH,EAI3B,MACS,CAGb,CACA,SAASgT,GAAqB1Q,GAC5B,MAAMmV,EAAOnV,EAASrK,MAChB,OAAE0Q,EAAQC,QAAS8O,GAAmBD,GAE1C9O,OAAQgP,EACRC,aAAc3P,EACd3E,QAAQ,sBAAEuU,IACRvV,EAASe,WACP8E,EAASF,EAAM5R,IAAIohB,GACzB,IAAIK,EAmBJ,OAlBI3P,EACF2P,EAAW3P,EACDwP,EAAavjB,QAAWuU,GAAW+O,GAK7CI,EAAW,CAAC,EACRH,EAAavjB,QACfujB,EAAahf,SACVof,GAAMC,GAAaF,EAAUC,EAAGF,GAAuB,KAG5DG,GAAaF,EAAUL,EAAMI,IAT3BC,EAAWL,GAWXtc,EAAAA,EAAAA,IAASsc,IACXxP,EAAMhR,IAAIwgB,EAAMK,GAEXA,CACT,CACA,SAASE,GAAaC,EAAItH,EAAMuH,EAAQlQ,GAAU,GAChD,MAAM,OAAEW,EAAQC,QAAS8O,GAAmB/G,EACxC+G,GACFM,GAAaC,EAAIP,EAAgBQ,GAAQ,GAEvCvP,GACFA,EAAOhQ,SACJof,GAAMC,GAAaC,EAAIF,EAAGG,GAAQ,KAGvC,IAAK,MAAMhgB,KAAOyY,EAChB,GAAI3I,GAAmB,WAAR9P,OAIR,CACL,MAAMigB,EAAQC,GAA0BlgB,IAAQggB,GAAUA,EAAOhgB,GACjE+f,EAAG/f,GAAOigB,EAAQA,EAAMF,EAAG/f,GAAMyY,EAAKzY,IAAQyY,EAAKzY,EACrD,CAEF,OAAO+f,CACT,CACA,MAAMG,GAA4B,CAChC5N,KAAM6N,GACNzR,MAAO0R,GACPlQ,MAAOkQ,GAEPzD,QAAS0D,GACThjB,SAAUgjB,GAEV9D,aAAc+D,GACdpD,QAASoD,GACTnD,YAAamD,GACbzI,QAASyI,GACTlD,aAAckD,GACdxI,QAASwI,GACT/C,cAAe+C,GACf9C,cAAe8C,GACf7C,UAAW6C,GACX5C,UAAW4C,GACXjD,UAAWiD,GACXhD,YAAagD,GACbzC,cAAeyC,GACfxC,eAAgBwC,GAEhBtC,WAAYqC,GACZ9I,WAAY8I,GAEZzD,MAAO2D,GAEPzD,QAASqD,GACTnD,OAAQwD,IAEV,SAASL,GAAYJ,EAAItH,GACvB,OAAKA,EAGAsH,EAGE,WACL,OAAQvP,EAAAA,EAAAA,KACNxH,EAAAA,EAAAA,IAAW+W,GAAMA,EAAGrb,KAAK1J,KAAMA,MAAQ+kB,GACvC/W,EAAAA,EAAAA,IAAWyP,GAAQA,EAAK/T,KAAK1J,KAAMA,MAAQyd,EAE/C,EAPSA,EAHAsH,CAWX,CACA,SAASS,GAAYT,EAAItH,GACvB,OAAO4H,GAAmBnB,GAAgBa,GAAKb,GAAgBzG,GACjE,CACA,SAASyG,GAAgBpX,GACvB,IAAIxH,EAAAA,EAAAA,IAAQwH,GAAM,CAChB,MAAMlG,EAAM,CAAC,EACb,IAAK,IAAI5F,EAAI,EAAGA,EAAI8L,EAAI5L,OAAQF,IAC9B4F,EAAIkG,EAAI9L,IAAM8L,EAAI9L,GAEpB,OAAO4F,CACT,CACA,OAAOkG,CACT,CACA,SAASwY,GAAaP,EAAItH,GACxB,OAAOsH,EAAK,IAAI,IAAI9e,IAAI,GAAGuS,OAAOuM,EAAItH,KAAUA,CAClD,CACA,SAAS4H,GAAmBN,EAAItH,GAC9B,OAAOsH,GAAKvP,EAAAA,EAAAA,IAAuBtP,OAAO+Y,OAAO,MAAO8F,EAAItH,GAAQA,CACtE,CACA,SAAS2H,GAAyBL,EAAItH,GACpC,OAAIsH,GACEzf,EAAAA,EAAAA,IAAQyf,KAAOzf,EAAAA,EAAAA,IAAQmY,GAClB,IAAoB,IAAIxX,IAAI,IAAI8e,KAAOtH,MAEzCjI,EAAAA,EAAAA,IACWtP,OAAO+Y,OAAO,MAC9BkC,GAAsB4D,GACtB5D,GAA8B,MAAR1D,EAAeA,EAAO,CAAC,IAGxCA,CAEX,CACA,SAAS8H,GAAkBR,EAAItH,GAC7B,IAAKsH,EAAI,OAAOtH,EAChB,IAAKA,EAAM,OAAOsH,EAClB,MAAMU,GAASjQ,EAAAA,EAAAA,IAAuBtP,OAAO+Y,OAAO,MAAO8F,GAC3D,IAAK,MAAM/f,KAAOyY,EAChBgI,EAAOzgB,GAAOsgB,GAAaP,EAAG/f,GAAMyY,EAAKzY,IAE3C,OAAOygB,CACT,CAEA,SAASC,KACP,MAAO,CACLC,IAAK,KACLvV,OAAQ,CACNwV,YAAaC,EAAAA,GACbC,aAAa,EACb/E,iBAAkB,CAAC,EACnB4D,sBAAuB,CAAC,EACxBtU,kBAAc,EACd0V,iBAAa,EACbC,gBAAiB,CAAC,GAEpBvQ,OAAQ,GACRuN,WAAY,CAAC,EACbzG,WAAY,CAAC,EACbmH,SAA0Bxd,OAAO+Y,OAAO,MACxCyF,aAA8B,IAAIjgB,QAClCwhB,WAA4B,IAAIxhB,QAChCuQ,WAA4B,IAAIvQ,QAEpC,CACA,IAAIyhB,GAAQ,EACZ,SAASC,GAAa/O,EAAQgP,GAC5B,OAAO,SAAmBC,EAAeC,EAAY,OAC9CtY,EAAAA,EAAAA,IAAWqY,KACdA,GAAgB7Q,EAAAA,EAAAA,IAAO,CAAC,EAAG6Q,IAEZ,MAAbC,IAAsBre,EAAAA,EAAAA,IAASqe,KAEjCA,EAAY,MAEd,MAAMC,EAAUb,KACVc,EAAmC,IAAIC,QAC7C,IAAIC,GAAY,EAChB,MAAMf,EAAMY,EAAQZ,IAAM,CACxBgB,KAAMT,KACNU,WAAYP,EACZQ,OAAQP,EACRQ,WAAY,KACZC,SAAUR,EACVS,UAAW,KACXC,WACA,UAAI7W,GACF,OAAOmW,EAAQnW,MACjB,EACA,UAAIA,CAAO5N,GACL,CAKN,EACA0kB,GAAAA,CAAIC,KAAWvR,GAcb,OAbI4Q,EAAiBze,IAAIof,KAEdA,IAAUnZ,EAAAA,EAAAA,IAAWmZ,EAAOC,UACrCZ,EAAiB7c,IAAIwd,GACrBA,EAAOC,QAAQzB,KAAQ/P,KACd5H,EAAAA,EAAAA,IAAWmZ,KACpBX,EAAiB7c,IAAIwd,GACrBA,EAAOxB,KAAQ/P,KAMV+P,CACT,EACA0B,KAAAA,CAAMA,GAYJ,OAVOd,EAAQ9Q,OAAOtD,SAASkV,IAC3Bd,EAAQ9Q,OAAOlV,KAAK8mB,GASjB1B,CACT,EACA1M,SAAAA,CAAUgB,EAAMhB,GAId,OAAKA,GAMLsN,EAAQvD,WAAW/I,GAAQhB,EACpB0M,GANEY,EAAQvD,WAAW/I,EAO9B,EACAqN,SAAAA,CAAUrN,EAAMqN,GAId,OAAKA,GAMLf,EAAQhK,WAAWtC,GAAQqN,EACpB3B,GANEY,EAAQhK,WAAWtC,EAO9B,EACAsN,KAAAA,CAAMC,EAAeC,EAAWC,GAC9B,IAAKhB,EAAW,CACV,EAMJ,MAAM9W,EAAQqI,GAAYoO,EAAeC,GA4BzC,OA3BA1W,EAAMO,WAAaoW,GACD,IAAdmB,EACFA,EAAY,OACW,IAAdA,IACTA,OAAY,GAWVD,GAAarB,EACfA,EAAQxW,EAAO4X,GAEfpQ,EAAOxH,EAAO4X,EAAeE,GAE/BhB,GAAY,EACZf,EAAImB,WAAaU,EACjBA,EAAcG,YAAchC,EAKrBnJ,GAA2B5M,EAAMqJ,UAC1C,CAMF,EACA2O,OAAAA,GACMlB,IACFtP,EAAO,KAAMuO,EAAImB,mBAKVnB,EAAImB,WAAWa,YAI1B,EACA7F,OAAAA,CAAQ9c,EAAKjC,GAOX,OADAwjB,EAAQ7C,SAAS1e,GAAOjC,EACjB4iB,CACT,EACAkC,cAAAA,CAAennB,GACb,MAAMonB,EAAUC,GAChBA,GAAapC,EACb,IACE,OAAOjlB,GACT,CAAE,QACAqnB,GAAaD,CACf,CACF,GAEF,OAAOnC,CACT,CACF,CACA,IAAIoC,GAAa,KAEjB,SAASjG,GAAQ9c,EAAKjC,GACpB,GAAKwX,GAIE,CACL,IAAImJ,EAAWnJ,GAAgBmJ,SAC/B,MAAMsE,EAAiBzN,GAAgBna,QAAUma,GAAgBna,OAAOsjB,SACpEsE,IAAmBtE,IACrBA,EAAWnJ,GAAgBmJ,SAAWxd,OAAO+Y,OAAO+I,IAEtDtE,EAAS1e,GAAOjC,CAClB,MAVM,CAWR,CACA,SAASif,GAAOhd,EAAKijB,EAAcC,GAAwB,GACzD,MAAM9Y,EAAWmL,IAAmBvE,EACpC,GAAI5G,GAAY2Y,GAAY,CAC1B,MAAMrE,EAAWtU,EAA8B,MAAnBA,EAAShP,OAAiBgP,EAASQ,MAAMO,YAAcf,EAASQ,MAAMO,WAAWuT,SAAWtU,EAAShP,OAAOsjB,SAAWqE,GAAWhB,SAASrD,SACvK,GAAIA,GAAY1e,KAAO0e,EACrB,OAAOA,EAAS1e,GACX,GAAImjB,UAAUjnB,OAAS,EAC5B,OAAOgnB,IAAyBla,EAAAA,EAAAA,IAAWia,GAAgBA,EAAave,KAAK0F,GAAYA,EAAS1C,OAASub,CAI/G,MAAW,CAGb,CAKA,MAAMG,GAAsB,CAAC,EACvBC,GAAuBA,IAAMniB,OAAO+Y,OAAOmJ,IAC3CE,GAAoBthB,GAAQd,OAAOyB,eAAeX,KAASohB,GAEjE,SAASG,GAAUnZ,EAAUoZ,EAAUC,EAAYrb,GAAQ,GACzD,MAAMsG,EAAQ,CAAC,EACTyD,EAAQkR,KACdjZ,EAASsZ,cAAgCxiB,OAAO+Y,OAAO,MACvD0J,GAAavZ,EAAUoZ,EAAU9U,EAAOyD,GACxC,IAAK,MAAMnS,KAAOoK,EAAS6H,aAAa,GAChCjS,KAAO0O,IACXA,EAAM1O,QAAO,GAMbyjB,EACFrZ,EAASsE,MAAQtG,EAAQsG,GAAQtH,EAAAA,EAAAA,IAAgBsH,GAE5CtE,EAASrK,KAAK2O,MAGjBtE,EAASsE,MAAQA,EAFjBtE,EAASsE,MAAQyD,EAKrB/H,EAAS+H,MAAQA,CACnB,CAOA,SAASyR,GAAYxZ,EAAUoZ,EAAUK,EAAchQ,GACrD,MAAM,MACJnF,EAAK,MACLyD,EACAvH,OAAO,UAAEwJ,IACPhK,EACE0Z,GAAkBniB,EAAAA,EAAAA,IAAM+M,IACvBkC,GAAWxG,EAAS6H,aAC3B,IAAI8R,GAAkB,EACtB,KAI+ElQ,GAAaO,EAAY,IAAoB,GAAZA,EAmCzG,CAIL,IAAI4P,EAHAL,GAAavZ,EAAUoZ,EAAU9U,EAAOyD,KAC1C4R,GAAkB,GAGpB,IAAK,MAAM/jB,KAAO8jB,EACXN,KACJ3gB,EAAAA,EAAAA,IAAO2gB,EAAUxjB,KAEhBgkB,GAAWvU,EAAAA,EAAAA,IAAUzP,MAAUA,IAAQ6C,EAAAA,EAAAA,IAAO2gB,EAAUQ,MACpDpT,GACEiT,QACmB,IAAtBA,EAAa7jB,SACa,IAA3B6jB,EAAaG,KACXtV,EAAM1O,GAAOikB,GACXrT,EACAkT,EACA9jB,OACA,EACAoK,GACA,WAIGsE,EAAM1O,IAInB,GAAImS,IAAU2R,EACZ,IAAK,MAAM9jB,KAAOmS,EACXqR,IAAa3gB,EAAAA,EAAAA,IAAO2gB,EAAUxjB,YAC1BmS,EAAMnS,GACb+jB,GAAkB,EAI1B,MArEE,GAAgB,EAAZ3P,EAAe,CACjB,MAAM8P,EAAgB9Z,EAASQ,MAAM4J,aACrC,IAAK,IAAIxY,EAAI,EAAGA,EAAIkoB,EAAchoB,OAAQF,IAAK,CAC7C,IAAIgE,EAAMkkB,EAAcloB,GACxB,GAAI2U,EAAevG,EAASiK,aAAcrU,GACxC,SAEF,MAAMjC,EAAQylB,EAASxjB,GACvB,GAAI4Q,EACF,IAAI/N,EAAAA,EAAAA,IAAOsP,EAAOnS,GACZjC,IAAUoU,EAAMnS,KAClBmS,EAAMnS,GAAOjC,EACbgmB,GAAkB,OAEf,CACL,MAAMI,GAAe3U,EAAAA,EAAAA,IAASxP,GAC9B0O,EAAMyV,GAAgBF,GACpBrT,EACAkT,EACAK,EACApmB,EACAqM,GACA,EAEJ,MAEIrM,IAAUoU,EAAMnS,KAClBmS,EAAMnS,GAAOjC,EACbgmB,GAAkB,EAGxB,CACF,CAsCEA,IACFrnB,EAAAA,EAAAA,IAAQ0N,EAAS+H,MAAO,MAAO,GAKnC,CACA,SAASwR,GAAavZ,EAAUoZ,EAAU9U,EAAOyD,GAC/C,MAAOvB,EAASwT,GAAgBha,EAAS6H,aACzC,IACIoS,EADAN,GAAkB,EAEtB,GAAIP,EACF,IAAK,IAAIxjB,KAAOwjB,EAAU,CACxB,IAAIc,EAAAA,EAAAA,IAAetkB,GACjB,SAEF,MAAMjC,EAAQylB,EAASxjB,GACvB,IAAIukB,EACA3T,IAAW/N,EAAAA,EAAAA,IAAO+N,EAAS2T,GAAW/U,EAAAA,EAAAA,IAASxP,IAC5CokB,GAAiBA,EAAajX,SAASoX,IAGzCF,IAAkBA,EAAgB,CAAC,IAAIE,GAAYxmB,EAFpD2Q,EAAM6V,GAAYxmB,EAIV4S,EAAevG,EAASiK,aAAcrU,IAC1CA,KAAOmS,GAAUpU,IAAUoU,EAAMnS,KACrCmS,EAAMnS,GAAOjC,EACbgmB,GAAkB,EAGxB,CAEF,GAAIK,EAAc,CAChB,MAAMN,GAAkBniB,EAAAA,EAAAA,IAAM+M,GACxB8V,EAAaH,GAAiB1V,EAAAA,GACpC,IAAK,IAAI3S,EAAI,EAAGA,EAAIooB,EAAaloB,OAAQF,IAAK,CAC5C,MAAMgE,EAAMokB,EAAapoB,GACzB0S,EAAM1O,GAAOikB,GACXrT,EACAkT,EACA9jB,EACAwkB,EAAWxkB,GACXoK,IACCvH,EAAAA,EAAAA,IAAO2hB,EAAYxkB,GAExB,CACF,CACA,OAAO+jB,CACT,CACA,SAASE,GAAiBrT,EAASlC,EAAO1O,EAAKjC,EAAOqM,EAAUqa,GAC9D,MAAMpG,EAAMzN,EAAQ5Q,GACpB,GAAW,MAAPqe,EAAa,CACf,MAAMqG,GAAa7hB,EAAAA,EAAAA,IAAOwb,EAAK,WAC/B,GAAIqG,QAAwB,IAAV3mB,EAAkB,CAClC,MAAMklB,EAAe5E,EAAIe,QACzB,GAAIf,EAAIte,OAAS4kB,WAAatG,EAAIuG,cAAe5b,EAAAA,EAAAA,IAAWia,GAAe,CACzE,MAAM,cAAES,GAAkBtZ,EAC1B,GAAIpK,KAAO0jB,EACT3lB,EAAQ2lB,EAAc1jB,OACjB,CACL,MAAMsW,EAAQC,GAAmBnM,GACjCrM,EAAQ2lB,EAAc1jB,GAAOijB,EAAave,KACxC,KACAgK,GAEF4H,GACF,CACF,MACEvY,EAAQklB,CAEZ,CACI5E,EAAI,KACFoG,IAAaC,EACf3mB,GAAQ,GACCsgB,EAAI,IAAsC,KAAVtgB,GAAgBA,KAAU0R,EAAAA,EAAAA,IAAUzP,KAC7EjC,GAAQ,GAGd,CACA,OAAOA,CACT,CACA,SAAS8mB,GAAsBhV,EAAM1E,EAAY2E,GAAU,GACzD,MAAMC,EAAQ5E,EAAW8V,WACnBhR,EAASF,EAAM5R,IAAI0R,GACzB,GAAII,EACF,OAAOA,EAET,MAAMnI,EAAM+H,EAAKnB,MACXyB,EAAa,CAAC,EACdiU,EAAe,GACrB,IAAIhU,GAAa,EACjB,KAA4BpH,EAAAA,EAAAA,IAAW6G,GAAO,CAC5C,MAAMiV,EAAexU,IACnBF,GAAa,EACb,MAAO1B,EAAOvP,GAAQ0lB,GAAsBvU,EAAMnF,GAAY,IAC9DqF,EAAAA,EAAAA,IAAOL,EAAYzB,GACfvP,GAAMilB,EAAa7oB,QAAQ4D,EAAK,GAEjC2Q,GAAW3E,EAAWsF,OAAOvU,QAChCiP,EAAWsF,OAAOhQ,QAAQqkB,GAExBjV,EAAKa,SACPoU,EAAYjV,EAAKa,SAEfb,EAAKY,QACPZ,EAAKY,OAAOhQ,QAAQqkB,EAExB,CACA,IAAKhd,IAAQsI,EAIX,OAHInN,EAAAA,EAAAA,IAAS4M,IACXE,EAAMhR,IAAI8Q,EAAMkV,EAAAA,IAEXA,EAAAA,GAET,IAAIzkB,EAAAA,EAAAA,IAAQwH,GACV,IAAK,IAAI9L,EAAI,EAAGA,EAAI8L,EAAI5L,OAAQF,IAAK,CAC/B,EAGJ,MAAMgpB,GAAgBxV,EAAAA,EAAAA,IAAS1H,EAAI9L,IAC/BipB,GAAiBD,KACnB7U,EAAW6U,GAAiBrW,EAAAA,GAEhC,MACK,GAAI7G,EAAK,CACV,EAGJ,IAAK,MAAM9H,KAAO8H,EAAK,CACrB,MAAMkd,GAAgBxV,EAAAA,EAAAA,IAASxP,GAC/B,GAAIilB,GAAiBD,GAAgB,CACnC,MAAM3G,EAAMvW,EAAI9H,GACVklB,EAAO/U,EAAW6U,IAAiB1kB,EAAAA,EAAAA,IAAQ+d,KAAQrV,EAAAA,EAAAA,IAAWqV,GAAO,CAAEte,KAAMse,IAAQ7N,EAAAA,EAAAA,IAAO,CAAC,EAAG6N,GACtG,GAAI6G,EAAM,CACR,MAAMC,EAAeC,GAAaC,QAASH,EAAKnlB,MAC1CulB,EAAcF,GAAarjB,OAAQmjB,EAAKnlB,MAC9CmlB,EAAK,GAAsBC,GAAgB,EAC3CD,EAAK,GAA0BI,EAAc,GAAKH,EAAeG,GAC7DH,GAAgB,IAAKtiB,EAAAA,EAAAA,IAAOqiB,EAAM,aACpCd,EAAa7oB,KAAKypB,EAEtB,CACF,CACF,CACF,CACA,MAAMpjB,EAAM,CAACuO,EAAYiU,GAIzB,OAHInhB,EAAAA,EAAAA,IAAS4M,IACXE,EAAMhR,IAAI8Q,EAAMjO,GAEXA,CACT,CACA,SAASqjB,GAAiBjlB,GACxB,MAAe,MAAXA,EAAI,MAAeskB,EAAAA,EAAAA,IAAetkB,EAMxC,CACA,SAASulB,GAAQC,GACf,GAAa,OAATA,EACF,MAAO,OAET,GAAoB,oBAATA,EACT,OAAOA,EAAKvQ,MAAQ,GACf,GAAoB,kBAATuQ,EAAmB,CACnC,MAAMvQ,EAAOuQ,EAAK1qB,aAAe0qB,EAAK1qB,YAAYma,KAClD,OAAOA,GAAQ,EACjB,CACA,MAAO,EACT,CACA,SAASwQ,GAAWxX,EAAGC,GACrB,OAAOqX,GAAQtX,KAAOsX,GAAQrX,EAChC,CACA,SAASkX,GAAarlB,EAAM2lB,GAC1B,OAAIplB,EAAAA,EAAAA,IAAQolB,GACHA,EAAcC,WAAWC,GAAMH,GAAWG,EAAG7lB,MAC3CiJ,EAAAA,EAAAA,IAAW0c,IACbD,GAAWC,EAAe3lB,GAAQ,GAEnC,CACV,CAwGA,MAAM8lB,GAAiB7lB,GAAmB,MAAXA,EAAI,IAAsB,YAARA,EAC3C8lB,GAAsB/nB,IAAUuC,EAAAA,EAAAA,IAAQvC,GAASA,EAAMsD,IAAIwR,IAAkB,CAACA,GAAe9U,IAC7FgoB,GAAgBA,CAAC/lB,EAAKgmB,EAAS1U,KACnC,GAAI0U,EAAQxU,GACV,OAAOwU,EAET,MAAM7V,EAAakB,GAAQ,IAAI5P,IAMtBqkB,GAAmBE,KAAWvkB,KACpC6P,GAEH,OADAnB,EAAW0B,IAAK,EACT1B,CAAU,EAEb8V,GAAuBA,CAACC,EAAUhU,EAAO9H,KAC7C,MAAMkH,EAAM4U,EAASC,KACrB,IAAK,MAAMnmB,KAAOkmB,EAAU,CAC1B,GAAIL,GAAc7lB,GAAM,SACxB,MAAMjC,EAAQmoB,EAASlmB,GACvB,IAAIgJ,EAAAA,EAAAA,IAAWjL,GACbmU,EAAMlS,GAAO+lB,GAAc/lB,EAAKjC,EAAOuT,QAClC,GAAa,MAATvT,EAAe,CACpB,EAKJ,MAAMoS,EAAa2V,GAAmB/nB,GACtCmU,EAAMlS,GAAO,IAAMmQ,CACrB,CACF,GAEIiW,GAAsBA,CAAChc,EAAU2J,KAMrC,MAAM5D,EAAa2V,GAAmB/R,GACtC3J,EAAS8H,MAAMkN,QAAU,IAAMjP,CAAU,EAErCkW,GAAYA,CAACjc,EAAU2J,KAC3B,MAAM7B,EAAQ9H,EAAS8H,MAAQmR,KAC/B,GAA+B,GAA3BjZ,EAASQ,MAAM8H,UAAgB,CACjC,MAAM3S,EAAOgU,EAASyF,EAClBzZ,IACFyQ,EAAAA,EAAAA,IAAO0B,EAAO6B,IACd/L,EAAAA,EAAAA,IAAIkK,EAAO,IAAKnS,GAAM,IAEtBkmB,GAAqBlS,EAAU7B,EAEnC,MAAW6B,GACTqS,GAAoBhc,EAAU2J,EAChC,EAEIuS,GAAcA,CAAClc,EAAU2J,EAAUF,KACvC,MAAM,MAAEjJ,EAAK,MAAEsH,GAAU9H,EACzB,IAAImc,GAAoB,EACpBC,EAA2B7X,EAAAA,GAC/B,GAAsB,GAAlB/D,EAAM8H,UAAgB,CACxB,MAAM3S,EAAOgU,EAASyF,EAClBzZ,EAIS8T,GAAsB,IAAT9T,EACtBwmB,GAAoB,IAEpB/V,EAAAA,EAAAA,IAAO0B,EAAO6B,GACTF,GAAsB,IAAT9T,UACTmS,EAAMsH,IAIjB+M,GAAqBxS,EAASO,QAC9B2R,GAAqBlS,EAAU7B,IAEjCsU,EAA2BzS,CAC7B,MAAWA,IACTqS,GAAoBhc,EAAU2J,GAC9ByS,EAA2B,CAAEpH,QAAS,IAExC,GAAImH,EACF,IAAK,MAAMvmB,KAAOkS,EACX2T,GAAc7lB,IAAyC,MAAjCwmB,EAAyBxmB,WAC3CkS,EAAMlS,EAGnB,EAGF,SAASymB,GAAOC,EAAQC,EAAWC,EAAgBhc,EAAOic,GAAY,GACpE,IAAIvmB,EAAAA,EAAAA,IAAQomB,GAUV,YATAA,EAAOjmB,SACL,CAAC8I,EAAGvN,IAAMyqB,GACRld,EACAod,KAAcrmB,EAAAA,EAAAA,IAAQqmB,GAAaA,EAAU3qB,GAAK2qB,GAClDC,EACAhc,EACAic,KAKN,GAAIlO,GAAe/N,KAAWic,EAC5B,OAEF,MAAMC,EAA6B,EAAlBlc,EAAM8H,UAAgB8E,GAA2B5M,EAAMqJ,WAAarJ,EAAM+J,GACrF5W,EAAQ8oB,EAAY,KAAOC,GACzB9qB,EAAG+qB,EAAOxd,EAAGC,GAAQkd,EAO7B,MAAMM,EAASL,GAAaA,EAAUpd,EAChCkR,EAAOsM,EAAMtM,OAAS9L,EAAAA,GAAYoY,EAAMtM,KAAO,CAAC,EAAIsM,EAAMtM,KAC1DlI,EAAawU,EAAMxU,WAWzB,GAVc,MAAVyU,GAAkBA,IAAWxd,KAC3B2F,EAAAA,EAAAA,IAAS6X,IACXvM,EAAKuM,GAAU,MACXnkB,EAAAA,EAAAA,IAAO0P,EAAYyU,KACrBzU,EAAWyU,GAAU,QAEdhkB,EAAAA,EAAAA,IAAMgkB,KACfA,EAAOjpB,MAAQ,QAGfiL,EAAAA,EAAAA,IAAWQ,GACbW,EAAsBX,EAAKud,EAAO,GAAI,CAAChpB,EAAO0c,QACzC,CACL,MAAMwM,GAAY9X,EAAAA,EAAAA,IAAS3F,GACrB0d,GAASlkB,EAAAA,EAAAA,IAAMwG,GACrB,GAAIyd,GAAaC,EAAQ,CACvB,MAAMC,EAAQA,KACZ,GAAIT,EAAO1L,EAAG,CACZ,MAAMoM,EAAWH,GAAYpkB,EAAAA,EAAAA,IAAO0P,EAAY/I,GAAO+I,EAAW/I,GAAOiR,EAAKjR,GAAOA,EAAIzL,MACrF8oB,GACFvmB,EAAAA,EAAAA,IAAQ8mB,KAAaC,EAAAA,EAAAA,IAAOD,EAAUN,IAEjCxmB,EAAAA,EAAAA,IAAQ8mB,GAUDA,EAASja,SAAS2Z,IAC5BM,EAAS7rB,KAAKurB,GAVVG,GACFxM,EAAKjR,GAAO,CAACsd,IACTjkB,EAAAA,EAAAA,IAAO0P,EAAY/I,KACrB+I,EAAW/I,GAAOiR,EAAKjR,MAGzBA,EAAIzL,MAAQ,CAAC+oB,GACTJ,EAAOY,IAAG7M,EAAKiM,EAAOY,GAAK9d,EAAIzL,OAM3C,MAAWkpB,GACTxM,EAAKjR,GAAOzL,GACR8E,EAAAA,EAAAA,IAAO0P,EAAY/I,KACrB+I,EAAW/I,GAAOzL,IAEXmpB,IACT1d,EAAIzL,MAAQA,EACR2oB,EAAOY,IAAG7M,EAAKiM,EAAOY,GAAKvpB,GACsB,EAIrDA,GACFopB,EAAM1a,IAAM,EACZ8a,GAAsBJ,EAAOP,IAE7BO,GAEJ,MAAW,CAGb,CACF,CAqnBA,SAASK,KAUgD,mBAA5CC,2CAETC,EAAAA,EAAAA,MAAgBD,yCAA0C,EAU9D,CAEA,MAAMF,GAAwBzR,EAC9B,SAAS6R,GAAe/W,GACtB,OAAOgX,GAAmBhX,EAC5B,CAIA,SAASgX,GAAmBhX,EAASiX,GAEjCL,KAEF,MAAM1nB,GAAS4nB,EAAAA,EAAAA,MACf5nB,EAAOgoB,SAAU,EAIjB,MACEC,OAAQC,EACRX,OAAQY,EACRC,UAAWC,EACXC,cAAeC,EACfC,WAAYC,EACZC,cAAeC,EACfC,QAASC,EACTC,eAAgBC,EAChBC,WAAYC,EACZC,YAAaC,EACbC,WAAYC,EAAiBlgB,EAAAA,GAC7BmgB,oBAAqBC,GACnBzY,EACE0Y,EAAQA,CAACC,EAAIC,EAAIC,EAAWC,EAAS,KAAMC,EAAkB,KAAM/C,EAAiB,KAAMlE,OAAY,EAAQhJ,EAAe,KAAM7F,IAAmF2V,EAAGI,mBAC7N,GAAIL,IAAOC,EACT,OAEED,IAAOM,GAAgBN,EAAIC,KAC7BE,EAASI,EAAgBP,GACzB3G,EAAQ2G,EAAII,EAAiB/C,GAAgB,GAC7C2C,EAAK,OAEe,IAAlBC,EAAGpV,YACLP,GAAY,EACZ2V,EAAGI,gBAAkB,MAEvB,MAAM,KAAE7pB,EAAI,IAAEyJ,EAAG,UAAEkJ,GAAc8W,EACjC,OAAQzpB,GACN,KAAKgqB,GACHC,EAAYT,EAAIC,EAAIC,EAAWC,GAC/B,MACF,KAAKxW,GACH+W,EAAmBV,EAAIC,EAAIC,EAAWC,GACtC,MACF,KAAKQ,GACO,MAANX,GACFY,EAAgBX,EAAIC,EAAWC,EAAQhH,GAIzC,MACF,KAAKnJ,GACH6Q,EACEb,EACAC,EACAC,EACAC,EACAC,EACA/C,EACAlE,EACAhJ,EACA7F,GAEF,MACF,QACkB,EAAZnB,EACF2X,EACEd,EACAC,EACAC,EACAC,EACAC,EACA/C,EACAlE,EACAhJ,EACA7F,GAEmB,EAAZnB,EACT4X,EACEf,EACAC,EACAC,EACAC,EACAC,EACA/C,EACAlE,EACAhJ,EACA7F,IAEmB,GAAZnB,GAaY,IAAZA,IAZT3S,EAAKwqB,QACHhB,EACAC,EACAC,EACAC,EACAC,EACA/C,EACAlE,EACAhJ,EACA7F,EACA2W,IAmBG,MAAPhhB,GAAemgB,GACjBlD,GAAOjd,EAAK+f,GAAMA,EAAG/f,IAAKod,EAAgB4C,GAAMD,GAAKC,EACvD,EAEIQ,EAAcA,CAACT,EAAIC,EAAIC,EAAWC,KACtC,GAAU,MAANH,EACFvB,EACEwB,EAAG7U,GAAK4T,EAAeiB,EAAGzV,UAC1B0V,EACAC,OAEG,CACL,MAAM/U,EAAK6U,EAAG7U,GAAK4U,EAAG5U,GAClB6U,EAAGzV,WAAawV,EAAGxV,UACrB4U,EAAYhU,EAAI6U,EAAGzV,SAEvB,GAEIkW,EAAqBA,CAACV,EAAIC,EAAIC,EAAWC,KACnC,MAANH,EACFvB,EACEwB,EAAG7U,GAAK8T,EAAkBe,EAAGzV,UAAY,IACzC0V,EACAC,GAGFF,EAAG7U,GAAK4U,EAAG5U,EACb,EAEIwV,EAAkBA,CAACX,EAAIC,EAAWC,EAAQhH,MAC7C8G,EAAG7U,GAAI6U,EAAGE,QAAUL,EACnBG,EAAGzV,SACH0V,EACAC,EACAhH,EACA8G,EAAG7U,GACH6U,EAAGE,OACJ,EAiBGe,EAAiBA,EAAG9V,KAAI+U,UAAUD,EAAWT,KACjD,IAAIpjB,EACJ,MAAO+O,GAAMA,IAAO+U,EAClB9jB,EAAOqjB,EAAgBtU,GACvBqT,EAAWrT,EAAI8U,EAAWT,GAC1BrU,EAAK/O,EAEPoiB,EAAW0B,EAAQD,EAAWT,EAAY,EAEtC0B,EAAmBA,EAAG/V,KAAI+U,aAC9B,IAAI9jB,EACJ,MAAO+O,GAAMA,IAAO+U,EAClB9jB,EAAOqjB,EAAgBtU,GACvBsT,EAAWtT,GACXA,EAAK/O,EAEPqiB,EAAWyB,EAAO,EAEdW,EAAiBA,CAACd,EAAIC,EAAIC,EAAWC,EAAQC,EAAiB/C,EAAgBlE,EAAWhJ,EAAc7F,KAC3F,QAAZ2V,EAAGzpB,KACL2iB,EAAY,MACS,SAAZ8G,EAAGzpB,OACZ2iB,EAAY,UAEJ,MAAN6G,EACFoB,EACEnB,EACAC,EACAC,EACAC,EACA/C,EACAlE,EACAhJ,EACA7F,GAGF+W,EACErB,EACAC,EACAG,EACA/C,EACAlE,EACAhJ,EACA7F,EAEJ,EAEI8W,EAAeA,CAAC/f,EAAO6e,EAAWC,EAAQC,EAAiB/C,EAAgBlE,EAAWhJ,EAAc7F,KACxG,IAAIc,EACAkW,EACJ,MAAM,MAAEnc,EAAK,UAAEgE,EAAS,WAAEe,EAAU,KAAEF,GAAS3I,EAyB/C,GAxBA+J,EAAK/J,EAAM+J,GAAK0T,EACdzd,EAAM7K,KACN2iB,EACAhU,GAASA,EAAMoc,GACfpc,GAEc,EAAZgE,EACFmW,EAAmBlU,EAAI/J,EAAMmJ,UACR,GAAZrB,GACTqY,EACEngB,EAAMmJ,SACNY,EACA,KACAgV,EACA/C,EACAoE,GAAyBpgB,EAAO8X,GAChChJ,EACA7F,GAGAN,GACF0E,GAAoBrN,EAAO,KAAM+e,EAAiB,WAEpDT,EAAWvU,EAAI/J,EAAOA,EAAM6O,QAASC,EAAciQ,GAC/Cjb,EAAO,CACT,IAAK,MAAM1O,KAAO0O,EACJ,UAAR1O,IAAoBskB,EAAAA,EAAAA,IAAetkB,IACrCmoB,EACExT,EACA3U,EACA,KACA0O,EAAM1O,GACN0iB,EACA9X,EAAMmJ,SACN4V,EACA/C,EACAqE,GAIF,UAAWvc,GACbyZ,EAAcxT,EAAI,QAAS,KAAMjG,EAAM3Q,MAAO2kB,IAE5CmI,EAAYnc,EAAMwc,qBACpBC,GAAgBN,EAAWlB,EAAiB/e,EAEhD,CAWI2I,GACF0E,GAAoBrN,EAAO,KAAM+e,EAAiB,eAEpD,MAAMyB,EAA0BC,GAAezE,EAAgBnT,GAC3D2X,GACF3X,EAAW6X,YAAY3W,GAEzBqT,EAAWrT,EAAI8U,EAAWC,KACrBmB,EAAYnc,GAASA,EAAM6c,iBAAmBH,GAA2B7X,IAC5EgU,IAAsB,KACpBsD,GAAaM,GAAgBN,EAAWlB,EAAiB/e,GACzDwgB,GAA2B3X,EAAW+X,MAAM7W,GAC5CpB,GAAQ0E,GAAoBrN,EAAO,KAAM+e,EAAiB,UAAU,GACnE/C,EACL,EAEIsC,EAAaA,CAACvU,EAAI/J,EAAO6O,EAASC,EAAciQ,KAIpD,GAHIlQ,GACF0P,EAAexU,EAAI8E,GAEjBC,EACF,IAAK,IAAI1d,EAAI,EAAGA,EAAI0d,EAAaxd,OAAQF,IACvCmtB,EAAexU,EAAI+E,EAAa1d,IAGpC,GAAI2tB,EAAiB,CACnB,IAAI/U,EAAU+U,EAAgB/U,QAI9B,GAAIhK,IAAUgK,EAAS,CACrB,MAAM6W,EAAc9B,EAAgB/e,MACpCse,EACEvU,EACA8W,EACAA,EAAYhS,QACZgS,EAAY/R,aACZiQ,EAAgBvuB,OAEpB,CACF,GAEI2vB,EAAgBA,CAAChX,EAAU0V,EAAWC,EAAQC,EAAiB/C,EAAgBlE,EAAWhJ,EAAc7F,EAAWnH,EAAQ,KAC/H,IAAK,IAAI1Q,EAAI0Q,EAAO1Q,EAAI+X,EAAS7X,OAAQF,IAAK,CAC5C,MAAM4d,EAAQ7F,EAAS/X,GAAK6X,EAAY6X,GAAe3X,EAAS/X,IAAM6W,GAAekB,EAAS/X,IAC9FstB,EACE,KACA1P,EACA6P,EACAC,EACAC,EACA/C,EACAlE,EACAhJ,EACA7F,EAEJ,GAEI+W,EAAeA,CAACrB,EAAIC,EAAIG,EAAiB/C,EAAgBlE,EAAWhJ,EAAc7F,KACtF,MAAMc,EAAK6U,EAAG7U,GAAK4U,EAAG5U,GACtB,IAAI,UAAEP,EAAS,gBAAEwV,EAAe,KAAErW,GAASiW,EAC3CpV,GAA4B,GAAfmV,EAAGnV,UAChB,MAAMuX,EAAWpC,EAAG7a,OAASC,EAAAA,GACvBid,EAAWpC,EAAG9a,OAASC,EAAAA,GAC7B,IAAIkc,EAwCJ,GAvCAlB,GAAmBkC,GAAclC,GAAiB,IAC9CkB,EAAYe,EAASE,sBACvBX,GAAgBN,EAAWlB,EAAiBH,EAAID,GAE9ChW,GACF0E,GAAoBuR,EAAID,EAAII,EAAiB,gBAE/CA,GAAmBkC,GAAclC,GAAiB,GAM9CC,EACFmC,EACExC,EAAGK,gBACHA,EACAjV,EACAgV,EACA/C,EACAoE,GAAyBxB,EAAI9G,GAC7BhJ,GAKQ7F,GACVmY,EACEzC,EACAC,EACA7U,EACA,KACAgV,EACA/C,EACAoE,GAAyBxB,EAAI9G,GAC7BhJ,GACA,GAGAtF,EAAY,EAAG,CACjB,GAAgB,GAAZA,EACF6X,EACEtX,EACA6U,EACAmC,EACAC,EACAjC,EACA/C,EACAlE,QAWF,GARgB,EAAZtO,GACEuX,EAASO,QAAUN,EAASM,OAC9B/D,EAAcxT,EAAI,QAAS,KAAMiX,EAASM,MAAOxJ,GAGrC,EAAZtO,GACF+T,EAAcxT,EAAI,QAASgX,EAASQ,MAAOP,EAASO,MAAOzJ,GAE7C,EAAZtO,EAAe,CACjB,MAAM8P,EAAgBsF,EAAGhV,aACzB,IAAK,IAAIxY,EAAI,EAAGA,EAAIkoB,EAAchoB,OAAQF,IAAK,CAC7C,MAAMgE,EAAMkkB,EAAcloB,GACpBmV,EAAOwa,EAAS3rB,GAChB4F,EAAOgmB,EAAS5rB,GAClB4F,IAASuL,GAAgB,UAARnR,GACnBmoB,EACExT,EACA3U,EACAmR,EACAvL,EACA8c,EACA6G,EAAGxV,SACH4V,EACA/C,EACAqE,EAGN,CACF,CAEc,EAAZ7W,GACEmV,EAAGxV,WAAayV,EAAGzV,UACrB8U,EAAmBlU,EAAI6U,EAAGzV,SAGhC,MAAYF,GAAgC,MAAnB+V,GACvBqC,EACEtX,EACA6U,EACAmC,EACAC,EACAjC,EACA/C,EACAlE,KAGCmI,EAAYe,EAASQ,iBAAmB7Y,IAC3CgU,IAAsB,KACpBsD,GAAaM,GAAgBN,EAAWlB,EAAiBH,EAAID,GAC7DhW,GAAQ0E,GAAoBuR,EAAID,EAAII,EAAiB,UAAU,GAC9D/C,EACL,EAEImF,EAAqBA,CAACM,EAAaC,EAAaC,EAAmB5C,EAAiB/C,EAAgBlE,EAAWhJ,KACnH,IAAK,IAAI1d,EAAI,EAAGA,EAAIswB,EAAYpwB,OAAQF,IAAK,CAC3C,MAAMwwB,EAAWH,EAAYrwB,GACvBywB,EAAWH,EAAYtwB,GACvBytB,EAGJ+C,EAAS7X,KAER6X,EAASzsB,OAASwZ,KAElBsQ,GAAgB2C,EAAUC,IACN,GAArBD,EAAS9Z,WAAwBqW,EAAeyD,EAAS7X,IAGvD4X,EAGJjD,EACEkD,EACAC,EACAhD,EACA,KACAE,EACA/C,EACAlE,EACAhJ,GACA,EAEJ,GAEIuS,EAAaA,CAACtX,EAAI/J,EAAO+gB,EAAUC,EAAUjC,EAAiB/C,EAAgBlE,KAClF,GAAIiJ,IAAaC,EAAU,CACzB,GAAID,IAAahd,EAAAA,GACf,IAAK,MAAM3O,KAAO2rB,GACXrH,EAAAA,EAAAA,IAAetkB,IAAUA,KAAO4rB,GACnCzD,EACExT,EACA3U,EACA2rB,EAAS3rB,GACT,KACA0iB,EACA9X,EAAMmJ,SACN4V,EACA/C,EACAqE,GAKR,IAAK,MAAMjrB,KAAO4rB,EAAU,CAC1B,IAAItH,EAAAA,EAAAA,IAAetkB,GAAM,SACzB,MAAM4F,EAAOgmB,EAAS5rB,GAChBmR,EAAOwa,EAAS3rB,GAClB4F,IAASuL,GAAgB,UAARnR,GACnBmoB,EACExT,EACA3U,EACAmR,EACAvL,EACA8c,EACA9X,EAAMmJ,SACN4V,EACA/C,EACAqE,EAGN,CACI,UAAWW,GACbzD,EAAcxT,EAAI,QAASgX,EAAS5tB,MAAO6tB,EAAS7tB,MAAO2kB,EAE/D,GAEI0H,EAAkBA,CAACb,EAAIC,EAAIC,EAAWC,EAAQC,EAAiB/C,EAAgBlE,EAAWhJ,EAAc7F,KAC5G,MAAM6Y,EAAsBlD,EAAG7U,GAAK4U,EAAKA,EAAG5U,GAAK4T,EAAe,IAC1DoE,EAAoBnD,EAAGE,OAASH,EAAKA,EAAGG,OAASnB,EAAe,IACtE,IAAI,UAAEnU,EAAS,gBAAEwV,EAAiBlQ,aAAckT,GAAyBpD,EAOrEoD,IACFlT,EAAeA,EAAeA,EAAalG,OAAOoZ,GAAwBA,GAElE,MAANrD,GACFvB,EAAW0E,EAAqBjD,EAAWC,GAC3C1B,EAAW2E,EAAmBlD,EAAWC,GACzCqB,EAKEvB,EAAGzV,UAAY,GACf0V,EACAkD,EACAhD,EACA/C,EACAlE,EACAhJ,EACA7F,IAGEO,EAAY,GAAiB,GAAZA,GAAkBwV,GAEvCL,EAAGK,iBACDmC,EACExC,EAAGK,gBACHA,EACAH,EACAE,EACA/C,EACAlE,EACAhJ,IASU,MAAV8P,EAAGxpB,KAAe2pB,GAAmBH,IAAOG,EAAgB/U,UAE5DiY,GACEtD,EACAC,GACA,IAKJwC,EACEzC,EACAC,EACAC,EACAkD,EACAhD,EACA/C,EACAlE,EACAhJ,EACA7F,EAGN,EAEIyW,EAAmBA,CAACf,EAAIC,EAAIC,EAAWC,EAAQC,EAAiB/C,EAAgBlE,EAAWhJ,EAAc7F,KAC7G2V,EAAG9P,aAAeA,EACR,MAAN6P,EACiB,IAAfC,EAAG9W,UACLiX,EAAgBrY,IAAIwb,SAClBtD,EACAC,EACAC,EACAhH,EACA7O,GAGFkZ,EACEvD,EACAC,EACAC,EACAC,EACA/C,EACAlE,EACA7O,GAIJmZ,EAAgBzD,EAAIC,EAAI3V,EAC1B,EAEIkZ,EAAiBA,CAACE,EAAcxD,EAAWC,EAAQC,EAAiB/C,EAAgBlE,EAAW7O,KACnG,MAAMzJ,EAAY6iB,EAAahZ,UAAYiZ,GACzCD,EACAtD,EACA/C,GAqBF,GAZIuG,GAAYF,KACd7iB,EAASkH,IAAI8b,SAAW5C,IAMxB6C,GAAejjB,GAKbA,EAASkjB,UAEX,GADA1G,GAAkBA,EAAe2G,YAAYnjB,EAAUojB,EAAmB3Z,IACrEoZ,EAAatY,GAAI,CACpB,MAAM8Y,EAAcrjB,EAASwK,QAAU3B,GAAYC,IACnD+W,EAAmB,KAAMwD,EAAahE,EAAWC,EACnD,OAEA8D,EACEpjB,EACA6iB,EACAxD,EACAC,EACA9C,EACAlE,EACA7O,EAG4C,EAK5CmZ,EAAkBA,CAACzD,EAAIC,EAAI3V,KAC/B,MAAMzJ,EAAWof,EAAGvV,UAAYsV,EAAGtV,UACnC,GAAIP,EAAsB6V,EAAIC,EAAI3V,GAAY,CAC5C,GAAIzJ,EAASkjB,WAAaljB,EAASsjB,cAQjC,YAJAC,EAAyBvjB,EAAUof,EAAI3V,GAMvCzJ,EAASxE,KAAO4jB,EAChBjc,EAAcnD,EAAS6Q,QACvB7Q,EAAS9N,OAAOY,OAAQ,EACxBkN,EAAS6Q,QAEb,MACEuO,EAAG7U,GAAK4U,EAAG5U,GACXvK,EAASQ,MAAQ4e,CACnB,EAEIgE,EAAoBA,CAACpjB,EAAU6iB,EAAcxD,EAAWC,EAAQ9C,EAAgBlE,EAAW7O,KAC/F,MAAM+Z,EAAoBA,KACxB,GAAKxjB,EAASsX,UA0FP,CACL,IAAI,KAAE9b,EAAI,GAAEioB,EAAE,EAAEC,EAAC,OAAE1yB,EAAM,MAAEwP,GAAUR,EACrC,CACE,MAAM2jB,EAAuBC,GAA2B5jB,GACxD,GAAI2jB,EAUF,OATInoB,IACFA,EAAK+O,GAAK/J,EAAM+J,GAChBgZ,EAAyBvjB,EAAUxE,EAAMiO,SAE3Cka,EAAqBT,SAAShhB,MAAK,KAC5BlC,EAASqE,aACZmf,GACF,GAIN,CACA,IACI/C,EADAoD,EAAaroB,EAEb,EAGJimB,GAAczhB,GAAU,GACpBxE,GACFA,EAAK+O,GAAK/J,EAAM+J,GAChBgZ,EAAyBvjB,EAAUxE,EAAMiO,IAEzCjO,EAAOgF,EAELijB,IACFK,EAAAA,EAAAA,IAAeL,IAEbhD,EAAYjlB,EAAK8I,OAAS9I,EAAK8I,MAAMod,sBACvCX,GAAgBN,EAAWzvB,EAAQwK,EAAMgF,GAE3CihB,GAAczhB,GAAU,GAIxB,MAAM+jB,EAAWrc,EAAoB1H,GACjC,EAGJ,MAAMgkB,EAAWhkB,EAASwK,QAC1BxK,EAASwK,QAAUuZ,EAInB7E,EACE8E,EACAD,EAEApF,EAAeqF,EAASzZ,IAExBmV,EAAgBsE,GAChBhkB,EACAwc,EACAlE,GAKF9c,EAAK+O,GAAKwZ,EAASxZ,GACA,OAAfsZ,GACFvZ,EAAgBtK,EAAU+jB,EAASxZ,IAEjCmZ,GACFvG,GAAsBuG,EAAGlH,IAEvBiE,EAAYjlB,EAAK8I,OAAS9I,EAAK8I,MAAM0d,iBACvC7E,IACE,IAAM4D,GAAgBN,EAAWzvB,EAAQwK,EAAMgF,IAC/Cgc,EASN,KA3KyB,CACvB,IAAIiE,EACJ,MAAM,GAAElW,EAAE,MAAEjG,GAAUue,GAChB,GAAEoB,EAAE,EAAExO,EAAC,OAAEzkB,GAAWgP,EACpBkkB,EAAsB3V,GAAesU,GAS3C,GARApB,GAAczhB,GAAU,GACpBikB,IACFH,EAAAA,EAAAA,IAAeG,IAEZC,IAAwBzD,EAAYnc,GAASA,EAAMwc,qBACtDC,GAAgBN,EAAWzvB,EAAQ6xB,GAErCpB,GAAczhB,GAAU,GACpBuK,GAAM4Z,GAAa,CACrB,MAAMC,EAAiBA,KAIrBpkB,EAASwK,QAAU9C,EAAoB1H,GAOvCmkB,GACE5Z,EACAvK,EAASwK,QACTxK,EACAwc,EACA,KAE8C,EAI9C0H,EACFrB,EAAaltB,KAAK6Y,gBAAgBtM,MAKhC,KAAOlC,EAASqE,aAAe+f,MAGjCA,GAEJ,KAAO,CACD,EAGJ,MAAM5Z,EAAUxK,EAASwK,QAAU9C,EAAoB1H,GACnD,EAMJkf,EACE,KACA1U,EACA6U,EACAC,EACAtf,EACAwc,EACAlE,GAKFuK,EAAatY,GAAKC,EAAQD,EAC5B,CAIA,GAHIkL,GACF0H,GAAsB1H,EAAG+G,IAEtB0H,IAAwBzD,EAAYnc,GAASA,EAAM6c,gBAAiB,CACvE,MAAMkD,EAAqBxB,EAC3B1F,IACE,IAAM4D,GAAgBN,EAAWzvB,EAAQqzB,IACzC7H,EAEJ,EAC6B,IAAzBqG,EAAava,WAAmBtX,GAAUud,GAAevd,EAAOwP,QAAmC,IAAzBxP,EAAOwP,MAAM8H,YACzFtI,EAAS6D,GAAKsZ,GAAsBnd,EAAS6D,EAAG2Y,GAElDxc,EAASsX,WAAY,EAIrBuL,EAAexD,EAAYC,EAAS,IACtC,CAiFA,EAEIptB,EAAS8N,EAAS9N,OAAS,IAAIG,EAAAA,GACnCmxB,EACA3kB,EAAAA,IACA,IAAMgE,EAASgO,IACf7Q,EAAS7N,OAGL0e,EAAS7Q,EAAS6Q,OAAS,KAC3B3e,EAAOY,OACTZ,EAAOb,KACT,EAEFwf,EAAOxO,GAAKrC,EAASyD,IACrBge,GAAczhB,GAAU,GAMxB6Q,GAAQ,EAEJ0S,EAA2BA,CAACvjB,EAAUwJ,EAAWC,KACrDD,EAAUK,UAAY7J,EACtB,MAAM0J,EAAY1J,EAASQ,MAAM8D,MACjCtE,EAASQ,MAAQgJ,EACjBxJ,EAASxE,KAAO,KAChBge,GAAYxZ,EAAUwJ,EAAUlF,MAAOoF,EAAWD,GAClDyS,GAAYlc,EAAUwJ,EAAUG,SAAUF,IAC1C1W,EAAAA,EAAAA,MACAwQ,EAAiBvD,IACjB7M,EAAAA,EAAAA,KAAe,EAEXyuB,EAAgBA,CAACzC,EAAIC,EAAIC,EAAWC,EAAQC,EAAiB/C,EAAgBlE,EAAWhJ,EAAc7F,GAAY,KACtH,MAAM6a,EAAKnF,GAAMA,EAAGxV,SACd4a,EAAgBpF,EAAKA,EAAG7W,UAAY,EACpCkc,EAAKpF,EAAGzV,UACR,UAAEK,EAAS,UAAE1B,GAAc8W,EACjC,GAAIpV,EAAY,EAAG,CACjB,GAAgB,IAAZA,EAYF,YAXAya,EACEH,EACAE,EACAnF,EACAC,EACAC,EACA/C,EACAlE,EACAhJ,EACA7F,GAGG,GAAgB,IAAZO,EAYT,YAXA0a,EACEJ,EACAE,EACAnF,EACAC,EACAC,EACA/C,EACAlE,EACAhJ,EACA7F,EAIN,CACgB,EAAZnB,GACkB,GAAhBic,GACF1D,EAAgByD,EAAI/E,EAAiB/C,GAEnCgI,IAAOF,GACT7F,EAAmBY,EAAWmF,IAGZ,GAAhBD,EACc,GAAZjc,EACFmc,EACEH,EACAE,EACAnF,EACAC,EACAC,EACA/C,EACAlE,EACAhJ,EACA7F,GAGFoX,EAAgByD,EAAI/E,EAAiB/C,GAAgB,IAGnC,EAAhB+H,GACF9F,EAAmBY,EAAW,IAEhB,GAAZ/W,GACFqY,EACE6D,EACAnF,EACAC,EACAC,EACA/C,EACAlE,EACAhJ,EACA7F,GAIR,EAEIib,EAAuBA,CAACJ,EAAIE,EAAInF,EAAWC,EAAQC,EAAiB/C,EAAgBlE,EAAWhJ,EAAc7F,KACjH6a,EAAKA,GAAM3J,EAAAA,GACX6J,EAAKA,GAAM7J,EAAAA,GACX,MAAMgK,EAAYL,EAAGxyB,OACfqE,EAAYquB,EAAG1yB,OACf8yB,EAAeC,KAAKC,IAAIH,EAAWxuB,GACzC,IAAIvE,EACJ,IAAKA,EAAI,EAAGA,EAAIgzB,EAAchzB,IAAK,CACjC,MAAMmzB,EAAYP,EAAG5yB,GAAK6X,EAAY6X,GAAekD,EAAG5yB,IAAM6W,GAAe+b,EAAG5yB,IAChFstB,EACEoF,EAAG1yB,GACHmzB,EACA1F,EACA,KACAE,EACA/C,EACAlE,EACAhJ,EACA7F,EAEJ,CACIkb,EAAYxuB,EACd0qB,EACEyD,EACA/E,EACA/C,GACA,GACA,EACAoI,GAGFjE,EACE6D,EACAnF,EACAC,EACAC,EACA/C,EACAlE,EACAhJ,EACA7F,EACAmb,EAEJ,EAEIH,EAAqBA,CAACH,EAAIE,EAAInF,EAAW2F,EAAczF,EAAiB/C,EAAgBlE,EAAWhJ,EAAc7F,KACrH,IAAI7X,EAAI,EACR,MAAMqzB,EAAKT,EAAG1yB,OACd,IAAIozB,EAAKZ,EAAGxyB,OAAS,EACjBqzB,EAAKF,EAAK,EACd,MAAOrzB,GAAKszB,GAAMtzB,GAAKuzB,EAAI,CACzB,MAAMhG,EAAKmF,EAAG1yB,GACRwtB,EAAKoF,EAAG5yB,GAAK6X,EAAY6X,GAAekD,EAAG5yB,IAAM6W,GAAe+b,EAAG5yB,IACzE,IAAI6tB,GAAgBN,EAAIC,GAatB,MAZAF,EACEC,EACAC,EACAC,EACA,KACAE,EACA/C,EACAlE,EACAhJ,EACA7F,GAKJ7X,GACF,CACA,MAAOA,GAAKszB,GAAMtzB,GAAKuzB,EAAI,CACzB,MAAMhG,EAAKmF,EAAGY,GACR9F,EAAKoF,EAAGW,GAAM1b,EAAY6X,GAAekD,EAAGW,IAAO1c,GAAe+b,EAAGW,IAC3E,IAAI1F,GAAgBN,EAAIC,GAatB,MAZAF,EACEC,EACAC,EACAC,EACA,KACAE,EACA/C,EACAlE,EACAhJ,EACA7F,GAKJyb,IACAC,GACF,CACA,GAAIvzB,EAAIszB,GACN,GAAItzB,GAAKuzB,EAAI,CACX,MAAMC,EAAUD,EAAK,EACf7F,EAAS8F,EAAUH,EAAKT,EAAGY,GAAS7a,GAAKya,EAC/C,MAAOpzB,GAAKuzB,EACVjG,EACE,KACAsF,EAAG5yB,GAAK6X,EAAY6X,GAAekD,EAAG5yB,IAAM6W,GAAe+b,EAAG5yB,IAC9DytB,EACAC,EACAC,EACA/C,EACAlE,EACAhJ,EACA7F,GAEF7X,GAEJ,OACK,GAAIA,EAAIuzB,EACb,MAAOvzB,GAAKszB,EACV1M,EAAQ8L,EAAG1yB,GAAI2tB,EAAiB/C,GAAgB,GAChD5qB,QAEG,CACL,MAAMyzB,EAAKzzB,EACL0zB,EAAK1zB,EACL2zB,EAAmC,IAAIpwB,IAC7C,IAAKvD,EAAI0zB,EAAI1zB,GAAKuzB,EAAIvzB,IAAK,CACzB,MAAMmzB,EAAYP,EAAG5yB,GAAK6X,EAAY6X,GAAekD,EAAG5yB,IAAM6W,GAAe+b,EAAG5yB,IAC3D,MAAjBmzB,EAAUnvB,KAQZ2vB,EAAiB5wB,IAAIowB,EAAUnvB,IAAKhE,EAExC,CACA,IAAI4zB,EACAC,EAAU,EACd,MAAMC,EAAcP,EAAKG,EAAK,EAC9B,IAAIK,GAAQ,EACRC,EAAmB,EACvB,MAAMC,EAAwB,IAAIzX,MAAMsX,GACxC,IAAK9zB,EAAI,EAAGA,EAAI8zB,EAAa9zB,IAAKi0B,EAAsBj0B,GAAK,EAC7D,IAAKA,EAAIyzB,EAAIzzB,GAAKszB,EAAItzB,IAAK,CACzB,MAAMk0B,EAAYxB,EAAG1yB,GACrB,GAAI6zB,GAAWC,EAAa,CAC1BlN,EAAQsN,EAAWvG,EAAiB/C,GAAgB,GACpD,QACF,CACA,IAAIuJ,EACJ,GAAqB,MAAjBD,EAAUlwB,IACZmwB,EAAWR,EAAiBxxB,IAAI+xB,EAAUlwB,UAE1C,IAAK4vB,EAAIF,EAAIE,GAAKL,EAAIK,IACpB,GAAsC,IAAlCK,EAAsBL,EAAIF,IAAa7F,GAAgBqG,EAAWtB,EAAGgB,IAAK,CAC5EO,EAAWP,EACX,KACF,MAGa,IAAbO,EACFvN,EAAQsN,EAAWvG,EAAiB/C,GAAgB,IAEpDqJ,EAAsBE,EAAWT,GAAM1zB,EAAI,EACvCm0B,GAAYH,EACdA,EAAmBG,EAEnBJ,GAAQ,EAEVzG,EACE4G,EACAtB,EAAGuB,GACH1G,EACA,KACAE,EACA/C,EACAlE,EACAhJ,EACA7F,GAEFgc,IAEJ,CACA,MAAMO,EAA6BL,EAAQM,GAAYJ,GAAyBlL,EAAAA,GAEhF,IADA6K,EAAIQ,EAA2Bl0B,OAAS,EACnCF,EAAI8zB,EAAc,EAAG9zB,GAAK,EAAGA,IAAK,CACrC,MAAMs0B,EAAYZ,EAAK1zB,EACjBmzB,EAAYP,EAAG0B,GACf5G,EAAS4G,EAAY,EAAIjB,EAAKT,EAAG0B,EAAY,GAAG3b,GAAKya,EAC1B,IAA7Ba,EAAsBj0B,GACxBstB,EACE,KACA6F,EACA1F,EACAC,EACAC,EACA/C,EACAlE,EACAhJ,EACA7F,GAEOkc,IACLH,EAAI,GAAK5zB,IAAMo0B,EAA2BR,GAC5CW,EAAKpB,EAAW1F,EAAWC,EAAQ,GAEnCkG,IAGN,CACF,GAEIW,EAAOA,CAAC3lB,EAAO6e,EAAWC,EAAQ8G,EAAU5J,EAAiB,QACjE,MAAM,GAAEjS,EAAE,KAAE5U,EAAI,WAAE0T,EAAU,SAAEM,EAAQ,UAAErB,GAAc9H,EACtD,GAAgB,EAAZ8H,EAEF,YADA6d,EAAK3lB,EAAMqJ,UAAUW,QAAS6U,EAAWC,EAAQ8G,GAGnD,GAAgB,IAAZ9d,EAEF,YADA9H,EAAMiK,SAAS0b,KAAK9G,EAAWC,EAAQ8G,GAGzC,GAAgB,GAAZ9d,EAEF,YADA3S,EAAKwwB,KAAK3lB,EAAO6e,EAAWC,EAAQc,IAGtC,GAAIzqB,IAASwZ,GAAU,CACrByO,EAAWrT,EAAI8U,EAAWC,GAC1B,IAAK,IAAI1tB,EAAI,EAAGA,EAAI+X,EAAS7X,OAAQF,IACnCu0B,EAAKxc,EAAS/X,GAAIytB,EAAWC,EAAQ8G,GAGvC,YADAxI,EAAWpd,EAAM8e,OAAQD,EAAWC,EAEtC,CACA,GAAI3pB,IAASmqB,GAEX,YADAO,EAAe7f,EAAO6e,EAAWC,GAGnC,MAAM+G,EAA+B,IAAbD,GAA8B,EAAZ9d,GAAiBe,EAC3D,GAAIgd,EACF,GAAiB,IAAbD,EACF/c,EAAW6X,YAAY3W,GACvBqT,EAAWrT,EAAI8U,EAAWC,GAC1BnC,IAAsB,IAAM9T,EAAW+X,MAAM7W,IAAKiS,OAC7C,CACL,MAAM,MAAE8J,EAAK,WAAEC,EAAU,WAAEC,GAAend,EACpCod,EAAUA,IAAM7I,EAAWrT,EAAI8U,EAAWC,GAC1CoH,EAAeA,KACnBJ,EAAM/b,GAAI,KACRkc,IACAD,GAAcA,GAAY,GAC1B,EAEAD,EACFA,EAAWhc,EAAIkc,EAASC,GAExBA,GAEJ,MAEA9I,EAAWrT,EAAI8U,EAAWC,EAC5B,EAEI9G,EAAUA,CAAChY,EAAO+e,EAAiB/C,EAAgBmK,GAAW,EAAOld,GAAY,KACrF,MAAM,KACJ9T,EAAI,MACJ2O,EAAK,IACLlF,EAAG,SACHuK,EAAQ,gBACR6V,EAAe,UACflX,EAAS,UACT0B,EAAS,KACTb,EAAI,UACJyd,GACEpmB,EAOJ,GANW,MAAPpB,GACFid,GAAOjd,EAAK,KAAMod,EAAgBhc,GAAO,GAE1B,MAAbomB,IACFrH,EAAgBtX,YAAY2e,QAAa,GAE3B,IAAZte,EAEF,YADAiX,EAAgBrY,IAAI2f,WAAWrmB,GAGjC,MAAMsmB,EAA+B,EAAZxe,GAAiBa,EACpC4d,GAAyBxY,GAAe/N,GAC9C,IAAIigB,EAIJ,GAHIsG,IAA0BtG,EAAYnc,GAASA,EAAM0iB,uBACvDjG,GAAgBN,EAAWlB,EAAiB/e,GAE9B,EAAZ8H,EACF2e,EAAiBzmB,EAAMqJ,UAAW2S,EAAgBmK,OAC7C,CACL,GAAgB,IAAZre,EAEF,YADA9H,EAAMiK,SAAS+N,QAAQgE,EAAgBmK,GAGrCG,GACFjZ,GAAoBrN,EAAO,KAAM+e,EAAiB,iBAEpC,GAAZjX,EACF9H,EAAM7K,KAAKsnB,OACTzc,EACA+e,EACA/C,EACA/S,EACA2W,GACAuG,GAEOnH,IACV7pB,IAASwZ,IAAYnF,EAAY,GAAiB,GAAZA,GACrC6W,EACErB,EACAD,EACA/C,GACA,GACA,IAEO7mB,IAASwZ,IAAwB,IAAZnF,IAA4BP,GAAyB,GAAZnB,IACvEuY,EAAgBlX,EAAU4V,EAAiB/C,GAEzCmK,GACF1J,EAAOzc,EAEX,EACIumB,IAA0BtG,EAAYnc,GAASA,EAAM4iB,mBAAqBJ,IAC5E3J,IAAsB,KACpBsD,GAAaM,GAAgBN,EAAWlB,EAAiB/e,GACzDsmB,GAAoBjZ,GAAoBrN,EAAO,KAAM+e,EAAiB,YAAY,GACjF/C,EACL,EAEIS,EAAUzc,IACd,MAAM,KAAE7K,EAAI,GAAE4U,EAAE,OAAE+U,EAAM,WAAEjW,GAAe7I,EACzC,GAAI7K,IAASwZ,GAYX,YAFEgY,EAAe5c,EAAI+U,GAIvB,GAAI3pB,IAASmqB,GAEX,YADAQ,EAAiB9f,GAGnB,MAAM4mB,EAAgBA,KACpBvJ,EAAWtT,GACPlB,IAAeA,EAAWge,WAAahe,EAAWmd,YACpDnd,EAAWmd,YACb,EAEF,GAAsB,EAAlBhmB,EAAM8H,WAAiBe,IAAeA,EAAWge,UAAW,CAC9D,MAAM,MAAEf,EAAK,WAAEC,GAAeld,EACxBqd,EAAeA,IAAMJ,EAAM/b,EAAI6c,GACjCb,EACFA,EAAW/lB,EAAM+J,GAAI6c,EAAeV,GAEpCA,GAEJ,MACEU,GACF,EAEID,EAAiBA,CAAC1mB,EAAK8B,KAC3B,IAAI/G,EACJ,MAAOiF,IAAQ8B,EACb/G,EAAOqjB,EAAgBpe,GACvBod,EAAWpd,GACXA,EAAMjF,EAERqiB,EAAWtb,EAAI,EAEX0kB,EAAmBA,CAACjnB,EAAUwc,EAAgBmK,KAIlD,MAAM,IAAEW,EAAG,MAAEn1B,EAAK,OAAE0e,EAAM,QAAErG,EAAO,GAAE+c,EAAE,EAAE9R,EAAC,EAAE5R,GAAM7D,EAClDwnB,GAAgB/R,GAChB+R,GAAgB3jB,GACZyjB,IACFxD,EAAAA,EAAAA,IAAewD,GAEjBn1B,EAAMT,OACFmf,IACFA,EAAOzf,QAAS,EAChBonB,EAAQhO,EAASxK,EAAUwc,EAAgBmK,IAEzCY,GACFpK,GAAsBoK,EAAI/K,GAE5BW,IAAsB,KACpBnd,EAASqE,aAAc,CAAI,GAC1BmY,GACCA,GAAkBA,EAAe7Q,gBAAkB6Q,EAAenY,aAAerE,EAASkjB,WAAaljB,EAASsjB,eAAiBtjB,EAASynB,aAAejL,EAAekL,YAC1KlL,EAAehqB,OACa,IAAxBgqB,EAAehqB,MACjBgqB,EAAe1a,UAGsD,EAIrE+e,EAAkBA,CAAClX,EAAU4V,EAAiB/C,EAAgBmK,GAAW,EAAOld,GAAY,EAAOnH,EAAQ,KAC/G,IAAK,IAAI1Q,EAAI0Q,EAAO1Q,EAAI+X,EAAS7X,OAAQF,IACvC4mB,EAAQ7O,EAAS/X,GAAI2tB,EAAiB/C,EAAgBmK,EAAUld,EAClE,EAEIiW,EAAmBlf,GACD,EAAlBA,EAAM8H,UACDoX,EAAgBlf,EAAMqJ,UAAUW,SAEnB,IAAlBhK,EAAM8H,UACD9H,EAAMiK,SAASjP,OAEjBqjB,EAAgBre,EAAM8e,QAAU9e,EAAM+J,IAE/C,IAAIlJ,GAAa,EACjB,MAAM2G,GAASA,CAACxH,EAAO6e,EAAW/G,KACnB,MAAT9X,EACE6e,EAAUsI,QACZnP,EAAQ6G,EAAUsI,OAAQ,KAAM,MAAM,GAGxCzI,EACEG,EAAUsI,QAAU,KACpBnnB,EACA6e,EACA,KACA,KACA,KACA/G,GAGCjX,IACHA,GAAa,EACbkC,IACAG,IACArC,GAAa,GAEfge,EAAUsI,OAASnnB,CAAK,EAEpB4f,GAAY,CAChBne,EAAGid,EACHqI,GAAI/O,EACJ/C,EAAG0Q,EACHhnB,EAAG8d,EACH2K,GAAIjF,EACJkF,GAAIlH,EACJmH,GAAIlG,EACJmG,IAAKpG,EACL5Q,EAAG2O,EACHsI,EAAGxhB,GAEL,IAAIwQ,GACAmN,GAMJ,OALI1G,KACDzG,GAASmN,IAAe1G,EACvB2C,KAGG,CACLpY,UACAgP,WACAiR,UAAWlR,GAAa/O,GAAQgP,IAEpC,CACA,SAAS4J,IAAyB,KAAEjrB,EAAI,MAAE2O,GAAS4jB,GACjD,MAA4B,QAArBA,GAAuC,kBAATvyB,GAAiD,WAArBuyB,GAA0C,mBAATvyB,GAA6B2O,GAASA,EAAM6jB,UAAY7jB,EAAM6jB,SAASplB,SAAS,aAAU,EAASmlB,CACvM,CACA,SAASzG,IAAc,OAAEvvB,EAAM,OAAE2e,GAAUuX,GACzCl2B,EAAO+C,aAAe4b,EAAO5b,aAAemzB,CAC9C,CACA,SAASnH,GAAezE,EAAgBnT,GACtC,QAASmT,GAAkBA,IAAmBA,EAAe7Q,gBAAkBtC,IAAeA,EAAWge,SAC3G,CACA,SAAS5E,GAAuBtD,EAAIC,EAAI9iB,GAAU,GAChD,MAAM+rB,EAAMlJ,EAAGxV,SACT2e,EAAMlJ,EAAGzV,SACf,IAAIzT,EAAAA,EAAAA,IAAQmyB,KAAQnyB,EAAAA,EAAAA,IAAQoyB,GAC1B,IAAK,IAAI12B,EAAI,EAAGA,EAAIy2B,EAAIv2B,OAAQF,IAAK,CACnC,MAAM0yB,EAAK+D,EAAIz2B,GACf,IAAI4yB,EAAK8D,EAAI12B,GACM,EAAf4yB,EAAGlc,YAAkBkc,EAAGhF,mBACtBgF,EAAGxa,WAAa,GAAsB,KAAjBwa,EAAGxa,aAC1Bwa,EAAK8D,EAAI12B,GAAK0vB,GAAegH,EAAI12B,IACjC4yB,EAAGja,GAAK+Z,EAAG/Z,IAERjO,IAA6B,IAAlBkoB,EAAGxa,WACjByY,GAAuB6B,EAAIE,IAE3BA,EAAG7uB,OAASgqB,KACd6E,EAAGja,GAAK+Z,EAAG/Z,GAKf,CAEJ,CACA,SAAS0b,GAAY3uB,GACnB,MAAM2K,EAAI3K,EAAIqN,QACRrL,EAAS,CAAC,GAChB,IAAI1H,EAAG4zB,EAAG9B,EAAGtwB,EAAG8gB,EAChB,MAAMqU,EAAMjxB,EAAIxF,OAChB,IAAKF,EAAI,EAAGA,EAAI22B,EAAK32B,IAAK,CACxB,MAAM42B,EAAOlxB,EAAI1F,GACjB,GAAa,IAAT42B,EAAY,CAEd,GADAhD,EAAIlsB,EAAOA,EAAOxH,OAAS,GACvBwF,EAAIkuB,GAAKgD,EAAM,CACjBvmB,EAAErQ,GAAK4zB,EACPlsB,EAAOnI,KAAKS,GACZ,QACF,CACA8xB,EAAI,EACJtwB,EAAIkG,EAAOxH,OAAS,EACpB,MAAO4xB,EAAItwB,EACT8gB,EAAIwP,EAAItwB,GAAK,EACTkE,EAAIgC,EAAO4a,IAAMsU,EACnB9E,EAAIxP,EAAI,EAER9gB,EAAI8gB,EAGJsU,EAAOlxB,EAAIgC,EAAOoqB,MAChBA,EAAI,IACNzhB,EAAErQ,GAAK0H,EAAOoqB,EAAI,IAEpBpqB,EAAOoqB,GAAK9xB,EAEhB,CACF,CACA8xB,EAAIpqB,EAAOxH,OACXsB,EAAIkG,EAAOoqB,EAAI,GACf,MAAOA,KAAM,EACXpqB,EAAOoqB,GAAKtwB,EACZA,EAAI6O,EAAE7O,GAER,OAAOkG,CACT,CACA,SAASsqB,GAA2B5jB,GAClC,MAAMyoB,EAAezoB,EAASwK,QAAQX,UACtC,GAAI4e,EACF,OAAIA,EAAavF,WAAauF,EAAanF,cAClCmF,EAEA7E,GAA2B6E,EAGxC,CACA,SAASjB,GAAgBzb,GACvB,GAAIA,EACF,IAAK,IAAIna,EAAI,EAAGA,EAAIma,EAAMja,OAAQF,IAAKma,EAAMna,GAAGR,QAAS,CAE7D,CAEA,MAAMs3B,GAAgBnzB,OAAO0V,IAAI,SAC3B0d,GAAgBA,KACpB,CACE,MAAMzhB,EAAM0L,GAAO8V,IAMnB,OAAOxhB,CACT,GAoBF,MAAM0hB,GAAwB,CAAC,EAC/B,SAASpW,GAAMvE,EAAQ3K,EAAIkD,GAMzB,OAAOqiB,GAAQ5a,EAAQ3K,EAAIkD,EAC7B,CACA,SAASqiB,GAAQ5a,EAAQ3K,GAAI,UAC3BwlB,EAAS,KACTnb,EAAI,MACJob,EAAK,KACLC,EAAI,QACJC,EAAO,UACPC,GACE3kB,EAAAA,IACF,GAAIjB,GAAM0lB,EAAM,CACd,MAAMG,EAAM7lB,EACZA,EAAKA,IAAIjM,KACP8xB,KAAO9xB,GACP+xB,GAAS,CAEb,CAuBA,MAOMppB,EAAWmL,GACXke,EAAkBC,IAAqB,IAAT3b,EAAgB2b,EAElD1b,GAAS0b,GAAkB,IAAT3b,EAAiB,OAAI,GAEzC,IAAI7P,EA+CA5J,EA9CAq1B,GAAe,EACfC,GAAgB,EAyCpB,IAxCI5wB,EAAAA,EAAAA,IAAMqV,IACRnQ,EAASA,IAAMmQ,EAAOta,MACtB41B,GAAenwB,EAAAA,EAAAA,IAAU6U,KAChBzQ,EAAAA,EAAAA,IAAWyQ,IACpBnQ,EAASA,IAAMurB,EAAepb,GAC9Bsb,GAAe,IACNrzB,EAAAA,EAAAA,IAAQ+X,IACjBub,GAAgB,EAChBD,EAAetb,EAAOjF,MAAMygB,IAAMjsB,EAAAA,EAAAA,IAAWisB,KAAMrwB,EAAAA,EAAAA,IAAUqwB,KAC7D3rB,EAASA,IAAMmQ,EAAOhX,KAAKwyB,IACrB7wB,EAAAA,EAAAA,IAAM6wB,GACDA,EAAE91B,OACA6J,EAAAA,EAAAA,IAAWisB,GACbJ,EAAeI,IACb7qB,EAAAA,EAAAA,IAAW6qB,GACb1pB,EAAsB0pB,EAAGzpB,EAAU,QADrC,KAQPlC,GAFOc,EAAAA,EAAAA,IAAWqP,GAChB3K,EACOxF,IAAMiC,EAAsBkO,EAAQjO,EAAU,GAE9ClC,KACH5J,GACFA,IAEKiM,EACL8N,EACAjO,EACA,EACA,CAAC0pB,KAKE7qB,EAAAA,GAGPyE,GAAMqK,EAAM,CACd,MAAMgc,EAAa7rB,EACnBA,EAASA,IAAM8P,GAAS+b,IAC1B,CAEA,IAMIC,EANAF,EAAap4B,IACf4C,EAAUhC,EAAOwB,OAAS,KACxBqM,EAAsBzO,EAAI0O,EAAU,GACpC9L,EAAUhC,EAAOwB,YAAS,CAAM,CACjC,EAGH,GAAI6Y,GAAuB,CAWzB,GAVAmd,EAAY7qB,EAAAA,GACPyE,EAEMwlB,GACT3oB,EAA2BmD,EAAItD,EAAU,EAAG,CAC1ClC,IACA0rB,EAAgB,QAAK,EACrBE,IALF5rB,IAQY,SAAVirB,EAIF,OAAOlqB,EAAAA,GAJa,CACpB,MAAMqI,EAAMyhB,KACZiB,EAAa1iB,EAAI2iB,mBAAqB3iB,EAAI2iB,iBAAmB,GAC/D,CAGF,CACA,IAAI9zB,EAAWyzB,EAAgB,IAAIpb,MAAMH,EAAOnc,QAAQg4B,KAAKlB,IAAyBA,GACtF,MAAM9lB,EAAMA,KACV,GAAK5Q,EAAOd,QAAWc,EAAOY,MAG9B,GAAIwQ,EAAI,CACN,MAAMxN,EAAW5D,EAAOb,OACpBsc,GAAQ4b,IAAiBC,EAAgB1zB,EAASkT,MAAK,CAAC5V,EAAGxB,KAAM2H,EAAAA,EAAAA,IAAWnG,EAAG2C,EAASnE,OAAO2H,EAAAA,EAAAA,IAAWzD,EAAUC,OAClH7B,GACFA,IAEFiM,EAA2BmD,EAAItD,EAAU,EAAG,CAC1ClK,EAEAC,IAAa6yB,QAAwB,EAASY,GAAiBzzB,EAAS,KAAO6yB,GAAwB,GAAK7yB,EAC5G2zB,IAEF3zB,EAAWD,EAEf,MACE5D,EAAOb,KACT,EAGF,IAAIkB,EADJuQ,EAAI7N,eAAiBqO,EAEP,SAAVylB,EACFx2B,EAAYuQ,EACO,SAAVimB,EACTx2B,EAAYA,IAAM4qB,GAAsBra,EAAK9C,GAAYA,EAASyK,WAElE3H,EAAIF,KAAM,EACN5C,IAAU8C,EAAIT,GAAKrC,EAASyD,KAChClR,EAAYA,IAAMsQ,EAASC,IAE7B,MAAM5Q,EAAS,IAAIG,EAAAA,GAAeyL,EAAQe,EAAAA,GAAMtM,GAC1CJ,GAAQC,EAAAA,EAAAA,MACRg3B,EAAUA,KACdl3B,EAAOR,OACHS,IACF8qB,EAAAA,EAAAA,IAAO9qB,EAAMrB,QAASoB,EACxB,EAqBF,OAfIoR,EACEwlB,EACFhmB,IAEA/M,EAAW7D,EAAOb,MAED,SAAV03B,EACT5L,GACEjrB,EAAOb,IAAI8Q,KAAKjQ,GAChB8N,GAAYA,EAASyK,UAGvBvY,EAAOb,MAELu4B,GAAYA,EAAWz4B,KAAKi4B,GACzBA,CACT,CACA,SAASnY,GAAchD,EAAQta,EAAO6S,GACpC,MAAM0L,EAAathB,KAAK0M,MAClBQ,GAASiH,EAAAA,EAAAA,IAASkJ,GAAUA,EAAOlL,SAAS,KAAOmS,GAAiBhD,EAAYjE,GAAU,IAAMiE,EAAWjE,GAAUA,EAAO9L,KAAK+P,EAAYA,GACnJ,IAAI5O,GACA1E,EAAAA,EAAAA,IAAWjL,GACb2P,EAAK3P,GAEL2P,EAAK3P,EAAMuR,QACXsB,EAAU7S,GAEZ,MAAMuY,EAAQC,GAAmBvb,MAC3B4G,EAAMqxB,GAAQ/qB,EAAQwF,EAAGnB,KAAK+P,GAAa1L,GAEjD,OADA0F,IACO1U,CACT,CACA,SAAS0d,GAAiBhO,EAAK6iB,GAC7B,MAAMC,EAAWD,EAAKE,MAAM,KAC5B,MAAO,KACL,IAAIxpB,EAAMyG,EACV,IAAK,IAAItV,EAAI,EAAGA,EAAIo4B,EAASl4B,QAAU2O,EAAK7O,IAC1C6O,EAAMA,EAAIupB,EAASp4B,IAErB,OAAO6O,CAAG,CAEd,CACA,SAASmN,GAASja,EAAOu2B,EAAQnmB,IAAUP,GACzC,GAAI0mB,GAAS,KAAMrxB,EAAAA,EAAAA,IAASlF,IAAUA,EAAM,YAC1C,OAAOA,EAGT,GADA6P,EAAOA,GAAwB,IAAI3M,IAC/B2M,EAAK7K,IAAIhF,GACX,OAAOA,EAIT,GAFA6P,EAAKjJ,IAAI5G,GACTu2B,KACItxB,EAAAA,EAAAA,IAAMjF,GACRia,GAASja,EAAMA,MAAOu2B,EAAO1mB,QACxB,IAAItN,EAAAA,EAAAA,IAAQvC,GACjB,IAAK,IAAI/B,EAAI,EAAGA,EAAI+B,EAAM7B,OAAQF,IAChCgc,GAASja,EAAM/B,GAAIs4B,EAAO1mB,QAEvB,IAAI2mB,EAAAA,EAAAA,IAAMx2B,KAAU8C,EAAAA,EAAAA,IAAM9C,GAC/BA,EAAM0C,SAASjD,IACbwa,GAASxa,EAAG82B,EAAO1mB,EAAK,SAErB,IAAI4mB,EAAAA,EAAAA,IAAcz2B,GAAQ,CAC/B,IAAK,MAAMiC,KAAOjC,EAChBia,GAASja,EAAMiC,GAAMs0B,EAAO1mB,GAE9B,IAAK,MAAM5N,KAAOkB,OAAOuzB,sBAAsB12B,GACzCmD,OAAOwzB,UAAUC,qBAAqBjwB,KAAK3G,EAAOiC,IACpDgY,GAASja,EAAMiC,GAAMs0B,EAAO1mB,EAGlC,CACA,OAAO7P,CACT,CAEA,MAAMovB,GAAeviB,GAAUA,EAAM7K,KAAK60B,cAQpBC,OACAA,OA+LtB,SAASC,GAAQC,EAAS9f,GACxB,OAAI3U,EAAAA,EAAAA,IAAQy0B,GACHA,EAAQ3hB,MAAM/G,GAAMyoB,GAAQzoB,EAAG4I,MAC7B9F,EAAAA,EAAAA,IAAS4lB,GACXA,EAAQV,MAAM,KAAKlnB,SAAS8H,MAC1B+f,EAAAA,EAAAA,IAASD,IACXA,EAAQE,KAAKhgB,EAGxB,CACA,SAAS6J,GAAY7I,EAAMnW,GACzBo1B,GAAsBjf,EAAM,IAAKnW,EACnC,CACA,SAASif,GAAc9I,EAAMnW,GAC3Bo1B,GAAsBjf,EAAM,KAAMnW,EACpC,CACA,SAASo1B,GAAsBjf,EAAMlW,EAAMD,EAASyV,IAClD,MAAMa,EAAcH,EAAKkf,QAAUlf,EAAKkf,MAAQ,KAC9C,IAAIC,EAAUt1B,EACd,MAAOs1B,EAAS,CACd,GAAIA,EAAQC,cACV,OAEFD,EAAUA,EAAQh6B,MACpB,CACA,OAAO6a,GAAM,GAGf,GADAD,EAAWjW,EAAMqW,EAAatW,GAC1BA,EAAQ,CACV,IAAIs1B,EAAUt1B,EAAO1E,OACrB,MAAOg6B,GAAWA,EAAQh6B,OACpB+xB,GAAYiI,EAAQh6B,OAAOwP,QAC7B0qB,GAAsBlf,EAAarW,EAAMD,EAAQs1B,GAEnDA,EAAUA,EAAQh6B,MAEtB,CACF,CACA,SAASk6B,GAAsBrf,EAAMlW,EAAMD,EAAQy1B,GACjD,MAAMpW,EAAWnJ,EACfjW,EACAkW,EACAsf,GACA,GAGFte,IAAY,MACVoQ,EAAAA,EAAAA,IAAOkO,EAAcx1B,GAAOof,EAAS,GACpCrf,EACL,CACA,SAAS01B,GAAe5qB,GACtBA,EAAM8H,YAAa,IACnB9H,EAAM8H,YAAa,GACrB,CACA,SAAS+iB,GAAc7qB,GACrB,OAAyB,IAAlBA,EAAM8H,UAAkB9H,EAAM8qB,UAAY9qB,CACnD,CAEA,MAAM+qB,GAAah2B,OAAO,YACpBi2B,GAAaj2B,OAAO,YAC1B,SAASk2B,KACP,MAAMta,EAAQ,CACZmG,WAAW,EACXoU,WAAW,EACXC,cAAc,EACdC,cAA+B,IAAIz2B,KAQrC,OANAsX,GAAU,KACR0E,EAAMmG,WAAY,CAAI,IAExB1K,IAAgB,KACduE,EAAMwa,cAAe,CAAI,IAEpBxa,CACT,CACA,MAAM0a,GAA0B,CAACtR,SAAUnM,OACrC0d,GAAgC,CACpCC,KAAMp0B,OACNq0B,OAAQ/Q,QACRoM,UAAWpM,QAEXgR,cAAeJ,GACfK,QAASL,GACTM,aAAcN,GACdO,iBAAkBP,GAElBQ,cAAeR,GACfS,QAAST,GACTU,aAAcV,GACdW,iBAAkBX,GAElBY,eAAgBZ,GAChBa,SAAUb,GACVc,cAAed,GACfe,kBAAmBf,IAEfgB,GAAuB7sB,IAC3B,MAAMwK,EAAUxK,EAASwK,QACzB,OAAOA,EAAQX,UAAYgjB,GAAoBriB,EAAQX,WAAaW,CAAO,EAEvEsiB,GAAqB,CACzBjiB,KAAM,iBACNvG,MAAOwnB,GACPiB,KAAAA,CAAMzoB,GAAO,MAAEwD,IACb,MAAM9H,EAAWgtB,KACX7b,EAAQsa,KACd,MAAO,KACL,MAAM9hB,EAAW7B,EAAMkN,SAAWiY,GAAyBnlB,EAAMkN,WAAW,GAC5E,IAAKrL,IAAaA,EAAS7X,OACzB,OAEF,IAAI0d,EAAQ7F,EAAS,GACrB,GAAIA,EAAS7X,OAAS,EAAG,CACvB,IAAIo7B,GAAW,EACf,IAAK,MAAMhZ,KAAKvK,EACd,GAAIuK,EAAEve,OAASmT,GAAS,CAClB,EAMJ0G,EAAQ0E,EACRgZ,GAAW,EACqC,KAClD,CAEJ,CACA,MAAM9T,GAAW7hB,EAAAA,EAAAA,IAAM+M,IACjB,KAAEynB,GAAS3S,EAIjB,GAAIjI,EAAMua,UACR,OAAOyB,GAAiB3d,GAE1B,MAAM4d,EAAaC,GAAkB7d,GACrC,IAAK4d,EACH,OAAOD,GAAiB3d,GAE1B,IAAI8d,EAAaC,GACfH,EACAhU,EACAjI,EACAnR,GAEC+L,GAAUuhB,EAAavhB,IAE1ByhB,GAAmBJ,EAAYE,GAC/B,MAAMG,EAAWztB,EAASwK,QACpBkjB,EAAgBD,GAAYJ,GAAkBI,GACpD,GAAIC,GAAiBA,EAAc/3B,OAASmT,KAAY2W,GAAgB2N,EAAYM,IAAkBb,GAAoB7sB,GAAUrK,OAASmT,GAAS,CACpJ,MAAM6kB,EAAeJ,GACnBG,EACAtU,EACAjI,EACAnR,GAGF,GADAwtB,GAAmBE,EAAeC,GACrB,WAAT5B,GAAqBqB,EAAWz3B,OAASmT,GAS3C,OARAqI,EAAMua,WAAY,EAClBiC,EAAanH,WAAa,KACxBrV,EAAMua,WAAY,GACa,IAA3B1rB,EAAS6Q,OAAOzf,SAClB4O,EAAS9N,OAAOY,OAAQ,EACxBkN,EAAS6Q,SACX,EAEKsc,GAAiB3d,GACN,WAATuc,GAAqBqB,EAAWz3B,OAASmT,KAClD6kB,EAAapH,WAAa,CAAChc,EAAIqjB,EAAaC,KAC1C,MAAMC,EAAqBC,GACzB5c,EACAuc,GAEFI,EAAmBn2B,OAAO+1B,EAAc93B,MAAQ83B,EAChDnjB,EAAGghB,IAAc,KACfqC,IACArjB,EAAGghB,SAAc,SACV+B,EAAWO,YAAY,EAEhCP,EAAWO,aAAeA,CAAY,EAG5C,CACA,OAAOre,CAAK,CAEhB,GAEIwe,GAAiBlB,GACvB,SAASiB,GAAuB5c,EAAO3Q,GACrC,MAAM,cAAEorB,GAAkBza,EAC1B,IAAI2c,EAAqBlC,EAAc73B,IAAIyM,EAAM7K,MAKjD,OAJKm4B,IACHA,EAAqCh3B,OAAO+Y,OAAO,MACnD+b,EAAcj3B,IAAI6L,EAAM7K,KAAMm4B,IAEzBA,CACT,CACA,SAASP,GAAuB/sB,EAAO8D,EAAO6M,EAAOnR,EAAUiuB,GAC7D,MAAM,OACJjC,EAAM,KACND,EAAI,UACJ1E,GAAY,EAAK,cACjB4E,EAAa,QACbC,EAAO,aACPC,EAAY,iBACZC,EAAgB,cAChBC,EAAa,QACbC,EAAO,aACPC,EAAY,iBACZC,EAAgB,eAChBC,EAAc,SACdC,EAAQ,cACRC,EAAa,kBACbC,GACEtoB,EACE1O,EAAM+B,OAAO6I,EAAM5K,KACnBk4B,EAAqBC,GAAuB5c,EAAO3Q,GACnD4R,EAAWA,CAACvG,EAAMxU,KACtBwU,GAAQ1L,EACN0L,EACA7L,EACA,EACA3I,EACD,EAEG62B,EAAgBA,CAACriB,EAAMxU,KAC3B,MAAMoE,EAAOpE,EAAK,GAClB+a,EAASvG,EAAMxU,IACXnB,EAAAA,EAAAA,IAAQ2V,GACNA,EAAKsiB,OAAOC,GAAUA,EAAMt8B,QAAU,KAAI2J,IACrCoQ,EAAK/Z,QAAU,GACxB2J,GACF,EAEIsQ,EAAQ,CACZggB,OACA1E,YACAnG,WAAAA,CAAY3W,GACV,IAAIsB,EAAOogB,EACX,IAAK9a,EAAMmG,UAAW,CACpB,IAAI0U,EAGF,OAFAngB,EAAO4gB,GAAkBR,CAI7B,CACI1hB,EAAGghB,KACLhhB,EAAGghB,KACD,GAIJ,MAAM8C,EAAeP,EAAmBl4B,GACpCy4B,GAAgB5O,GAAgBjf,EAAO6tB,IAAiBA,EAAa9jB,GAAGghB,KAC1E8C,EAAa9jB,GAAGghB,MAElBnZ,EAASvG,EAAM,CAACtB,GAClB,EACA6W,KAAAA,CAAM7W,GACJ,IAAIsB,EAAOqgB,EACPoC,EAAYnC,EACZoC,EAAanC,EACjB,IAAKjb,EAAMmG,UAAW,CACpB,IAAI0U,EAKF,OAJAngB,EAAO6gB,GAAYR,EACnBoC,EAAY3B,GAAiBR,EAC7BoC,EAAa3B,GAAqBR,CAItC,CACA,IAAIoC,GAAS,EACb,MAAM/yB,EAAO8O,EAAGihB,IAAeiD,IACzBD,IACJA,GAAS,EAEPpc,EADEqc,EACOF,EAEAD,EAFY,CAAC/jB,IAIpBwB,EAAM8hB,cACR9hB,EAAM8hB,eAERtjB,EAAGihB,SAAc,EAAM,EAErB3f,EACFqiB,EAAcriB,EAAM,CAACtB,EAAI9O,IAEzBA,GAEJ,EACA6qB,KAAAA,CAAM/b,EAAI0S,GACR,MAAM3mB,EAAOqB,OAAO6I,EAAM5K,KAO1B,GANI2U,EAAGihB,KACLjhB,EAAGihB,KACD,GAIAra,EAAMwa,aACR,OAAO1O,IAET7K,EAASia,EAAe,CAAC9hB,IACzB,IAAIikB,GAAS,EACb,MAAM/yB,EAAO8O,EAAGghB,IAAekD,IACzBD,IACJA,GAAS,EACTvR,IAEE7K,EADEqc,EACOjC,EAEAD,EAFkB,CAAChiB,IAI9BA,EAAGghB,SAAc,EACbuC,EAAmBx3B,KAAUkK,UACxBstB,EAAmBx3B,GAC5B,EAEFw3B,EAAmBx3B,GAAQkK,EACvB8rB,EACF4B,EAAc5B,EAAS,CAAC/hB,EAAI9O,IAE5BA,GAEJ,EACAizB,KAAAA,CAAMC,GACJ,MAAMC,EAASrB,GACboB,EACArqB,EACA6M,EACAnR,EACAiuB,GAGF,OADIA,GAAWA,EAAUW,GAClBA,CACT,GAEF,OAAO7iB,CACT,CACA,SAASohB,GAAiB3sB,GACxB,GAAIuiB,GAAYviB,GAGd,OAFAA,EAAQ0I,GAAW1I,GACnBA,EAAMmJ,SAAW,KACVnJ,CAEX,CACA,SAAS6sB,GAAkB7sB,GACzB,IAAKuiB,GAAYviB,GACf,OAAOA,EAKT,MAAM,UAAE8H,EAAS,SAAEqB,GAAanJ,EAChC,GAAImJ,EAAU,CACZ,GAAgB,GAAZrB,EACF,OAAOqB,EAAS,GAElB,GAAgB,GAAZrB,IAAkB1J,EAAAA,EAAAA,IAAW+K,EAASqL,SACxC,OAAOrL,EAASqL,SAEpB,CACF,CACA,SAASwY,GAAmBhtB,EAAOuL,GACX,EAAlBvL,EAAM8H,WAAiB9H,EAAMqJ,UAC/B2jB,GAAmBhtB,EAAMqJ,UAAUW,QAASuB,GACjB,IAAlBvL,EAAM8H,WACf9H,EAAM8qB,UAAUjiB,WAAa0C,EAAM2iB,MAAMluB,EAAM8qB,WAC/C9qB,EAAMquB,WAAWxlB,WAAa0C,EAAM2iB,MAAMluB,EAAMquB,aAEhDruB,EAAM6I,WAAa0C,CAEvB,CACA,SAASkhB,GAAyBtjB,EAAUmlB,GAAc,EAAOC,GAC/D,IAAI5gB,EAAM,GACN6gB,EAAqB,EACzB,IAAK,IAAIp9B,EAAI,EAAGA,EAAI+X,EAAS7X,OAAQF,IAAK,CACxC,IAAI4d,EAAQ7F,EAAS/X,GACrB,MAAMgE,EAAmB,MAAbm5B,EAAoBvf,EAAM5Z,IAAM+B,OAAOo3B,GAAap3B,OAAoB,MAAb6X,EAAM5Z,IAAc4Z,EAAM5Z,IAAMhE,GACnG4d,EAAM7Z,OAASwZ,IACK,IAAlBK,EAAMxF,WAAiBglB,IAC3B7gB,EAAMA,EAAI/E,OACR6jB,GAAyBzd,EAAM7F,SAAUmlB,EAAal5B,MAE/Ck5B,GAAetf,EAAM7Z,OAASmT,KACvCqF,EAAIhd,KAAY,MAAPyE,EAAcsT,GAAWsG,EAAO,CAAE5Z,QAAS4Z,EAExD,CACA,GAAIwf,EAAqB,EACvB,IAAK,IAAIp9B,EAAI,EAAGA,EAAIuc,EAAIrc,OAAQF,IAC9Buc,EAAIvc,GAAGoY,WAAa,EAGxB,OAAOmE,CACT,CAEA,MAAM8gB,GAAct5B,GAASA,EAAKu5B,aAiRlC,MAAM/f,GAAW5Z,OAAO0V,IAAI,SACtB0U,GAAOpqB,OAAO0V,IAAI,SAClBnC,GAAUvT,OAAO0V,IAAI,SACrB6U,GAASvqB,OAAO0V,IAAI,SACpBrC,GAAa,GACnB,IAAIumB,GAAe,KACnB,SAASrgB,GAAUsgB,GAAkB,GACnCxmB,GAAWzX,KAAKg+B,GAAeC,EAAkB,KAAO,GAC1D,CACA,SAASC,KACPzmB,GAAW5W,MACXm9B,GAAevmB,GAAWA,GAAW9W,OAAS,IAAM,IACtD,CACA,IAAIw9B,GAAqB,EACzB,SAAS/nB,GAAiB5T,GACxB27B,IAAsB37B,CACxB,CACA,SAAS47B,GAAW/uB,GAMlB,OALAA,EAAMgf,gBAAkB8P,GAAqB,EAAIH,IAAgBxU,EAAAA,GAAY,KAC7E0U,KACIC,GAAqB,GAAKH,IAC5BA,GAAah+B,KAAKqP,GAEbA,CACT,CACA,SAASgvB,GAAmB75B,EAAM2O,EAAOqF,EAAUK,EAAWI,EAAc9B,GAC1E,OAAOinB,GACLE,GACE95B,EACA2O,EACAqF,EACAK,EACAI,EACA9B,GACA,GAGN,CACA,SAAS4G,GAAYvZ,EAAM2O,EAAOqF,EAAUK,EAAWI,GACrD,OAAOmlB,GACL1mB,GACElT,EACA2O,EACAqF,EACAK,EACAI,GACA,GAGN,CACA,SAASqF,GAAQ9b,GACf,QAAOA,IAA8B,IAAtBA,EAAM+7B,WACvB,CACA,SAASjQ,GAAgBN,EAAIC,GAM3B,OAAOD,EAAGxpB,OAASypB,EAAGzpB,MAAQwpB,EAAGvpB,MAAQwpB,EAAGxpB,GAC9C,CAKA,MAKM+5B,GAAeA,EAAG/5B,SAAiB,MAAPA,EAAcA,EAAM,KAChDg6B,GAAeA,EACnBxwB,MACAywB,UACAC,cAEmB,kBAAR1wB,IACTA,EAAM,GAAKA,GAEC,MAAPA,GAAc2F,EAAAA,EAAAA,IAAS3F,KAAQxG,EAAAA,EAAAA,IAAMwG,KAAQR,EAAAA,EAAAA,IAAWQ,GAAO,CAAExN,EAAGgV,EAA0BzH,EAAGC,EAAK8d,EAAG2S,EAASjf,IAAKkf,GAAY1wB,EAAM,MAElJ,SAASqwB,GAAgB95B,EAAM2O,EAAQ,KAAMqF,EAAW,KAAMK,EAAY,EAAGI,EAAe,KAAM9B,GAAY3S,IAASwZ,GAAW,EAAI,GAAG4gB,GAAc,EAAOC,GAAgC,GAC5L,MAAMxvB,EAAQ,CACZkvB,aAAa,EACbO,UAAU,EACVt6B,OACA2O,QACA1O,IAAK0O,GAASqrB,GAAarrB,GAC3BlF,IAAKkF,GAASsrB,GAAatrB,GAC3B+K,QAASxI,EACTyI,aAAc,KACd3F,WACAE,UAAW,KACXY,SAAU,KACV6gB,UAAW,KACXuD,WAAY,KACZ1lB,KAAM,KACNE,WAAY,KACZkB,GAAI,KACJ+U,OAAQ,KACR5pB,OAAQ,KACRw6B,aAAc,KACdC,YAAa,EACb7nB,YACA0B,YACAI,eACAoV,gBAAiB,KACjBze,WAAY,KACZmG,IAAKN,GAwBP,OAtBIopB,GACFI,GAAkB5vB,EAAOmJ,GACT,IAAZrB,GACF3S,EAAK06B,UAAU7vB,IAERmJ,IACTnJ,EAAM8H,YAAavD,EAAAA,EAAAA,IAAS4E,GAAY,EAAI,IAK1C2lB,GAAqB,IACxBS,GACDZ,KAIC3uB,EAAMwJ,UAAY,GAAiB,EAAZ1B,IAEJ,KAApB9H,EAAMwJ,WACJmlB,GAAah+B,KAAKqP,GAEbA,CACT,CACA,MAAMqI,GAAyFynB,GAC/F,SAASA,GAAa36B,EAAM2O,EAAQ,KAAMqF,EAAW,KAAMK,EAAY,EAAGI,EAAe,KAAM2lB,GAAc,GAO3G,GANKp6B,GAAQA,IAASqV,IAIpBrV,EAAOmT,IAEL2G,GAAQ9Z,GAAO,CACjB,MAAM46B,EAASrnB,GACbvT,EACA2O,GACA,GAcF,OAXIqF,GACFymB,GAAkBG,EAAQ5mB,GAExB2lB,GAAqB,IAAMS,GAAeZ,KACrB,EAAnBoB,EAAOjoB,UACT6mB,GAAaA,GAAa/rB,QAAQzN,IAAS46B,EAE3CpB,GAAah+B,KAAKo/B,IAGtBA,EAAOvmB,WAAa,EACbumB,CACT,CAIA,GAHIC,GAAiB76B,KACnBA,EAAOA,EAAK86B,WAEVnsB,EAAO,CACTA,EAAQosB,GAAmBpsB,GAC3B,IAAMwd,MAAO6O,EAAK,MAAE5O,GAAUzd,EAC1BqsB,KAAU5rB,EAAAA,EAAAA,IAAS4rB,KACrBrsB,EAAMwd,OAAQ8O,EAAAA,EAAAA,IAAeD,KAE3B93B,EAAAA,EAAAA,IAASkpB,MACPtkB,EAAAA,EAAAA,IAAQskB,MAAW7rB,EAAAA,EAAAA,IAAQ6rB,KAC7BA,GAAQ3b,EAAAA,EAAAA,IAAO,CAAC,EAAG2b,IAErBzd,EAAMyd,OAAQ8O,EAAAA,EAAAA,IAAe9O,GAEjC,CACA,MAAMzZ,GAAYvD,EAAAA,EAAAA,IAASpP,GAAQ,EAAI6V,EAAW7V,GAAQ,IAAMs5B,GAAWt5B,GAAQ,IAAKkD,EAAAA,EAAAA,IAASlD,GAAQ,GAAIiJ,EAAAA,EAAAA,IAAWjJ,GAAQ,EAAI,EAUpI,OAAO85B,GACL95B,EACA2O,EACAqF,EACAK,EACAI,EACA9B,EACAynB,GACA,EAEJ,CACA,SAASW,GAAmBpsB,GAC1B,OAAKA,GACE7G,EAAAA,EAAAA,IAAQ6G,IAAU4U,GAAiB5U,IAAS8B,EAAAA,EAAAA,IAAO,CAAC,EAAG9B,GAASA,EADpD,IAErB,CACA,SAAS4E,GAAW1I,EAAOswB,EAAYC,GAAW,EAAOC,GAAkB,GACzE,MAAM,MAAE1sB,EAAK,IAAElF,EAAG,UAAE4K,EAAS,SAAEL,EAAQ,WAAEN,GAAe7I,EAClDywB,EAAcH,EAAaI,GAAW5sB,GAAS,CAAC,EAAGwsB,GAAcxsB,EACjEisB,EAAS,CACbb,aAAa,EACbO,UAAU,EACVt6B,KAAM6K,EAAM7K,KACZ2O,MAAO2sB,EACPr7B,IAAKq7B,GAAetB,GAAasB,GACjC7xB,IAAK0xB,GAAcA,EAAW1xB,IAI5B2xB,GAAY3xB,GAAMlJ,EAAAA,EAAAA,IAAQkJ,GAAOA,EAAIgK,OAAOwmB,GAAakB,IAAe,CAAC1xB,EAAKwwB,GAAakB,IAAelB,GAAakB,GACrH1xB,EACJiQ,QAAS7O,EAAM6O,QACfC,aAAc9O,EAAM8O,aACpB3F,SAA8HA,EAC9HjU,OAAQ8K,EAAM9K,OACdw6B,aAAc1vB,EAAM0vB,aACpBC,YAAa3vB,EAAM2vB,YACnB7nB,UAAW9H,EAAM8H,UAKjB0B,UAAW8mB,GAActwB,EAAM7K,OAASwZ,IAA0B,IAAfnF,EAAmB,GAAiB,GAAZA,EAAiBA,EAC5FI,aAAc5J,EAAM4J,aACpBoV,gBAAiBhf,EAAMgf,gBACvBze,WAAYP,EAAMO,WAClBoI,KAAM3I,EAAM2I,KACZE,aAKAQ,UAAWrJ,EAAMqJ,UACjBY,SAAUjK,EAAMiK,SAChB6gB,UAAW9qB,EAAM8qB,WAAapiB,GAAW1I,EAAM8qB,WAC/CuD,WAAYruB,EAAMquB,YAAc3lB,GAAW1I,EAAMquB,YACjDtkB,GAAI/J,EAAM+J,GACV+U,OAAQ9e,EAAM8e,OACdpY,IAAK1G,EAAM0G,IACXiqB,GAAI3wB,EAAM2wB,IAQZ,OANI9nB,GAAc2nB,GAChBxD,GACE+C,EACAlnB,EAAWqlB,MAAM6B,IAGdA,CACT,CAQA,SAASa,GAAgBC,EAAO,IAAKC,EAAO,GAC1C,OAAOzoB,GAAY8W,GAAM,KAAM0R,EAAMC,EACvC,CAMA,SAASC,GAAmBF,EAAO,GAAIG,GAAU,GAC/C,OAAOA,GAAW1iB,KAAaI,GAAYpG,GAAS,KAAMuoB,IAASxoB,GAAYC,GAAS,KAAMuoB,EAChG,CACA,SAAS5oB,GAAe+G,GACtB,OAAa,MAATA,GAAkC,mBAAVA,EACnB3G,GAAYC,KACV5S,EAAAA,EAAAA,IAAQsZ,GACV3G,GACLsG,GACA,KAEAK,EAAM7K,SAEkB,kBAAV6K,EACT8R,GAAe9R,GAEf3G,GAAY8W,GAAM,KAAMhoB,OAAO6X,GAE1C,CACA,SAAS8R,GAAe9R,GACtB,OAAoB,OAAbA,EAAMjF,KAAoC,IAArBiF,EAAMxF,WAAoBwF,EAAMiiB,KAAOjiB,EAAQtG,GAAWsG,EACxF,CACA,SAAS4gB,GAAkB5vB,EAAOmJ,GAChC,IAAIhU,EAAO,EACX,MAAM,UAAE2S,GAAc9H,EACtB,GAAgB,MAAZmJ,EACFA,EAAW,UACN,IAAIzT,EAAAA,EAAAA,IAAQyT,GACjBhU,EAAO,QACF,GAAwB,kBAAbgU,EAAuB,CACvC,GAAgB,GAAZrB,EAAsB,CACxB,MAAMuG,EAAOlF,EAASqL,QAMtB,YALInG,IACFA,EAAKpH,KAAOoH,EAAKvH,IAAK,GACtB8oB,GAAkB5vB,EAAOqO,KACzBA,EAAKpH,KAAOoH,EAAKvH,IAAK,IAG1B,CAAO,CACL3R,EAAO,GACP,MAAM+7B,EAAW/nB,EAASyF,EACrBsiB,GAAaxY,GAAiBvP,GAEX,IAAb+nB,GAAkB9qB,IACc,IAArCA,EAAyBkB,MAAMsH,EACjCzF,EAASyF,EAAI,GAEbzF,EAASyF,EAAI,EACb5O,EAAMwJ,WAAa,OANrBL,EAASoS,KAAOnV,CASpB,CACF,MAAWhI,EAAAA,EAAAA,IAAW+K,IACpBA,EAAW,CAAEqL,QAASrL,EAAUoS,KAAMnV,GACtCjR,EAAO,KAEPgU,EAAWhS,OAAOgS,GACF,GAAZrB,GACF3S,EAAO,GACPgU,EAAW,CAACynB,GAAgBznB,KAE5BhU,EAAO,GAGX6K,EAAMmJ,SAAWA,EACjBnJ,EAAM8H,WAAa3S,CACrB,CACA,SAASu7B,MAAc75B,GACrB,MAAM8W,EAAM,CAAC,EACb,IAAK,IAAIvc,EAAI,EAAGA,EAAIyF,EAAKvF,OAAQF,IAAK,CACpC,MAAM+/B,EAAUt6B,EAAKzF,GACrB,IAAK,MAAMgE,KAAO+7B,EAChB,GAAY,UAAR/7B,EACEuY,EAAI2T,QAAU6P,EAAQ7P,QACxB3T,EAAI2T,OAAQ8O,EAAAA,EAAAA,IAAe,CAACziB,EAAI2T,MAAO6P,EAAQ7P,cAE5C,GAAY,UAARlsB,EACTuY,EAAI4T,OAAQ8O,EAAAA,EAAAA,IAAe,CAAC1iB,EAAI4T,MAAO4P,EAAQ5P,aAC1C,IAAItb,EAAAA,EAAAA,IAAK7Q,GAAM,CACpB,MAAMonB,EAAW7O,EAAIvY,GACfg8B,EAAWD,EAAQ/7B,IACrBg8B,GAAY5U,IAAa4U,IAAc17B,EAAAA,EAAAA,IAAQ8mB,IAAaA,EAASja,SAAS6uB,KAChFzjB,EAAIvY,GAAOonB,EAAW,GAAG5T,OAAO4T,EAAU4U,GAAYA,EAE1D,KAAmB,KAARh8B,IACTuY,EAAIvY,GAAO+7B,EAAQ/7B,GAGzB,CACA,OAAOuY,CACT,CACA,SAAS4S,GAAgBlV,EAAM7L,EAAUQ,EAAO+I,EAAY,MAC1DpJ,EAA2B0L,EAAM7L,EAAU,EAAG,CAC5CQ,EACA+I,GAEJ,CAEA,MAAMsoB,GAAkBvb,KACxB,IAAI7S,GAAM,EACV,SAASqf,GAAwBtiB,EAAOxP,EAAQyZ,GAC9C,MAAM9U,EAAO6K,EAAM7K,KACboL,GAAc/P,EAASA,EAAO+P,WAAaP,EAAMO,aAAe8wB,GAChE7xB,EAAW,CACfyD,IAAKA,KACLjD,QACA7K,OACA3E,SACA+P,aACAgI,KAAM,KAENvN,KAAM,KACNgP,QAAS,KAETtY,OAAQ,KACR2e,OAAQ,KAER1e,MAAO,IAAI1B,EAAAA,IACT,GAGFuX,OAAQ,KACR1K,MAAO,KACPsX,QAAS,KACTkd,YAAa,KACblqB,UAAW,KACX0M,SAAUtjB,EAASA,EAAOsjB,SAAWxd,OAAO+Y,OAAO9O,EAAWuT,UAC9DhD,YAAa,KACbrJ,YAAa,GAEb2L,WAAY,KACZzG,WAAY,KAEZtF,aAAc4S,GAAsB9kB,EAAMoL,GAC1CkJ,aAAczE,EAAsB7P,EAAMoL,GAE1CmD,KAAM,KAENqB,QAAS,KAET+T,cAAe/U,EAAAA,GAEf6D,aAAczS,EAAKyS,aAEnBlB,IAAK3C,EAAAA,GACL2D,KAAM3D,EAAAA,GACND,MAAOC,EAAAA,GACPwD,MAAOxD,EAAAA,GACPuD,MAAOvD,EAAAA,GACP8L,KAAM9L,EAAAA,GACN4D,WAAY5D,EAAAA,GACZwtB,aAAc,KACdC,WAAY,KACZC,WAAY,KAEZxnB,WACAgd,WAAYhd,EAAWA,EAASid,UAAY,EAC5CxE,SAAU,KACVI,eAAe,EAGfhM,WAAW,EACXjT,aAAa,EACb4mB,eAAe,EACfiH,GAAI,KACJhe,EAAG,KACH+P,GAAI,KACJxO,EAAG,KACHgO,GAAI,KACJC,EAAG,KACH6D,GAAI,KACJD,IAAK,KACL6K,GAAI,KACJtuB,EAAG,KACHuuB,IAAK,KACLC,IAAK,KACLxxB,GAAI,KACJyxB,GAAI,MAYN,OAPEtyB,EAASkH,IAAM,CAAEkI,EAAGpP,GAEtBA,EAAS+I,KAAO/X,EAASA,EAAO+X,KAAO/I,EACvCA,EAASkE,KAAOA,EAAK/B,KAAK,KAAMnC,GAC5BQ,EAAM2wB,IACR3wB,EAAM2wB,GAAGnxB,GAEJA,CACT,CACA,IAAImL,GAAkB,KACtB,MAAM6hB,GAAqBA,IAAM7hB,IAAmBvE,EACpD,IAAI2rB,GACAC,GACJ,CACE,MAAMC,GAAInV,EAAAA,EAAAA,MACJoV,EAAuBA,CAAC98B,EAAK8I,KACjC,IAAIi0B,EAGJ,OAFMA,EAAUF,EAAE78B,MAAO+8B,EAAUF,EAAE78B,GAAO,IAC5C+8B,EAAQxhC,KAAKuN,GACLtL,IACFu/B,EAAQ7gC,OAAS,EAAG6gC,EAAQt8B,SAAS1B,GAAQA,EAAIvB,KAChDu/B,EAAQ,GAAGv/B,EAAE,CACnB,EAEHm/B,GAA6BG,EAC3B,4BACCt/B,GAAM+X,GAAkB/X,IAE3Bo/B,GAAqBE,EACnB,uBACCt/B,GAAMmZ,GAAwBnZ,GAEnC,CACA,MAAM+Y,GAAsBnM,IAC1B,MAAM+G,EAAOoE,GAGb,OAFAonB,GAA2BvyB,GAC3BA,EAAS7N,MAAMX,KACR,KACLwO,EAAS7N,MAAMV,MACf8gC,GAA2BxrB,EAAK,CACjC,EAEG6rB,GAAuBA,KAC3BznB,IAAmBA,GAAgBhZ,MAAMV,MACzC8gC,GAA2B,KAAK,EAUlC,SAAS5iB,GAAoB3P,GAC3B,OAAkC,EAA3BA,EAASQ,MAAM8H,SACxB,CACA,IA4GIuqB,GACAC,GA7GAvmB,IAAwB,EAC5B,SAAS0W,GAAejjB,EAAUhC,GAAQ,GACxCA,GAASw0B,GAAmBx0B,GAC5B,MAAM,MAAEsG,EAAK,SAAEqF,GAAa3J,EAASQ,MAC/B6Y,EAAa1J,GAAoB3P,GACvCmZ,GAAUnZ,EAAUsE,EAAO+U,EAAYrb,GACvCie,GAAUjc,EAAU2J,GACpB,MAAMopB,EAAc1Z,EAAa2Z,GAAuBhzB,EAAUhC,QAAS,EAE3E,OADAA,GAASw0B,IAAmB,GACrBO,CACT,CACA,SAASC,GAAuBhzB,EAAUhC,GAExC,MAAM2J,EAAY3H,EAASrK,KAuB3BqK,EAASsR,YAA8Bxa,OAAO+Y,OAAO,MACrD7P,EAAS1C,MAAQ,IAAIC,MAAMyC,EAASkH,IAAKmK,IAIzC,MAAM,MAAE0b,GAAUplB,EAClB,GAAIolB,EAAO,CACT,MAAMgF,EAAe/xB,EAAS+xB,aAAehF,EAAMj7B,OAAS,EAAImhC,GAAmBjzB,GAAY,KACzFkM,EAAQC,GAAmBnM,IACjCjN,EAAAA,EAAAA,MACA,MAAMggC,EAAchzB,EAClBgtB,EACA/sB,EACA,EACA,CACgFA,EAASsE,MACvFytB,IAKJ,IAFA5+B,EAAAA,EAAAA,MACA+Y,KACI9L,EAAAA,EAAAA,IAAU2yB,GAAc,CAE1B,GADAA,EAAY7wB,KAAK0wB,GAAsBA,IACnC50B,EACF,OAAO+0B,EAAY7wB,MAAMgxB,IACvBC,GAAkBnzB,EAAUkzB,EAAgBl1B,EAAM,IACjDqC,OAAO+yB,IACRlzB,EAAYkzB,EAAGpzB,EAAU,EAAE,IAG7BA,EAASkjB,SAAW6P,CAQxB,MACEI,GAAkBnzB,EAAU+yB,EAAa/0B,EAE7C,MACEq1B,GAAqBrzB,EAAUhC,EAEnC,CACA,SAASm1B,GAAkBnzB,EAAU+yB,EAAa/0B,IAC5CY,EAAAA,EAAAA,IAAWm0B,GACT/yB,EAASrK,KAAK29B,kBAChBtzB,EAASuzB,UAAYR,EAErB/yB,EAASgI,OAAS+qB,GAEXl6B,EAAAA,EAAAA,IAASk6B,KASlB/yB,EAASmI,YAAatI,EAAAA,EAAAA,IAAUkzB,IASlCM,GAAqBrzB,EAAUhC,EACjC,CAYA,SAASq1B,GAAqBrzB,EAAUhC,EAAOw1B,GAC7C,MAAM7rB,EAAY3H,EAASrK,KAC3B,IAAKqK,EAASgI,OAAQ,CACpB,IAAKhK,GAAS60B,KAAYlrB,EAAUK,OAAQ,CAC1C,MAAMyrB,EAAW9rB,EAAU8rB,UAAY/iB,GAAqB1Q,GAAUyzB,SACtE,GAAIA,EAAU,CACR,EAGJ,MAAM,gBAAEC,EAAe,gBAAE9c,GAAoB5W,EAASe,WAAWC,QAC3D,WAAE2yB,EAAY/c,gBAAiBgd,GAA6BjsB,EAC5DksB,GAAuBztB,EAAAA,EAAAA,KAC3BA,EAAAA,EAAAA,IACE,CACEstB,kBACAC,cAEF/c,GAEFgd,GAEFjsB,EAAUK,OAAS6qB,GAAQY,EAAUI,EAIvC,CACF,CACA7zB,EAASgI,OAASL,EAAUK,QAAUnJ,EAAAA,GAClCi0B,IACFA,GAAiB9yB,EAErB,CACiC,CAC/B,MAAMkM,EAAQC,GAAmBnM,IACjCjN,EAAAA,EAAAA,MACA,IACEkf,GAAajS,EACf,CAAE,SACA7M,EAAAA,EAAAA,MACA+Y,GACF,CACF,CAUF,CACA,MAAM4nB,GAcF,CACF//B,GAAAA,CAAI2B,EAAQE,GAEV,OADAH,EAAAA,EAAAA,IAAMC,EAAQ,MAAO,IACdA,EAAOE,EAChB,GAUF,SAASq9B,GAAmBjzB,GAC1B,MAAM2T,EAAUiB,IAqBd5U,EAAS4U,QAAUA,GAAW,CAAC,CAAC,EAiBhC,MAAO,CACL7M,MAAO,IAAIxK,MAAMyC,EAAS+H,MAAO+rB,IACjChsB,MAAO9H,EAAS8H,MAChB5D,KAAMlE,EAASkE,KACfyP,SAGN,CACA,SAASvG,GAA2BpN,GAClC,OAAIA,EAAS4U,QACJ5U,EAAS8xB,cAAgB9xB,EAAS8xB,YAAc,IAAIv0B,OAAMsC,EAAAA,EAAAA,KAAUlC,EAAAA,EAAAA,IAAQqC,EAAS4U,UAAW,CACrG7gB,GAAAA,CAAI2B,EAAQE,GACV,OAAIA,KAAOF,EACFA,EAAOE,GACLA,KAAOga,GACTA,GAAoBha,GAAKoK,QAD3B,CAGT,EACArH,GAAAA,CAAIjD,EAAQE,GACV,OAAOA,KAAOF,GAAUE,KAAOga,EACjC,KAGK5P,EAAS1C,KAEpB,CAGA,SAAS+N,GAAiB1D,EAAWosB,GAAkB,GACrD,OAAOn1B,EAAAA,EAAAA,IAAW+I,GAAaA,EAAUqsB,aAAersB,EAAUkD,KAAOlD,EAAUkD,MAAQkpB,GAAmBpsB,EAAUssB,MAC1H,CAuBA,SAASzD,GAAiB78B,GACxB,OAAOiL,EAAAA,EAAAA,IAAWjL,IAAU,cAAeA,CAC7C,CAEA,MAAMV,GAAWA,CAACuL,EAAiBC,KACjC,MAAMyV,GAAIggB,EAAAA,EAAAA,IAAW11B,EAAiBC,EAAc8N,IAOpD,OAAO2H,CAAC,EAwDV,SAASe,GAAEtf,EAAMw+B,EAAiBxqB,GAChC,MAAM9X,EAAIknB,UAAUjnB,OACpB,OAAU,IAAND,GACEgH,EAAAA,EAAAA,IAASs7B,MAAqBj+B,EAAAA,EAAAA,IAAQi+B,GACpC1kB,GAAQ0kB,GACHtrB,GAAYlT,EAAM,KAAM,CAACw+B,IAE3BtrB,GAAYlT,EAAMw+B,GAElBtrB,GAAYlT,EAAM,KAAMw+B,IAG7BtiC,EAAI,EACN8X,EAAWyE,MAAMkc,UAAU3lB,MAAMrK,KAAKye,UAAW,GAClC,IAANlnB,GAAW4d,GAAQ9F,KAC5BA,EAAW,CAACA,IAEPd,GAAYlT,EAAMw+B,EAAiBxqB,GAE9C,CA4MA,MAAMkO,GAAU,Q;;;;;;ACn+PhB,MAAMuc,EAAQ,6BACRC,EAAW,qCACXC,EAA0B,qBAAbC,SAA2BA,SAAW,KACnDC,EAAoBF,GAAuBA,EAAItW,cAAc,YAC7DyW,EAAU,CACd9W,OAAQA,CAACnO,EAAOxe,EAAQsuB,KACtBtuB,EAAO0jC,aAAallB,EAAO8P,GAAU,KAAK,EAE5CrC,OAASzN,IACP,MAAMxe,EAASwe,EAAMkP,WACjB1tB,GACFA,EAAO2jC,YAAYnlB,EACrB,EAEFwO,cAAeA,CAAC4W,EAAKtc,EAAWoI,EAAIpc,KAClC,MAAMiG,EAAmB,QAAd+N,EAAsBgc,EAAIO,gBAAgBT,EAAOQ,GAAqB,WAAdtc,EAAyBgc,EAAIO,gBAAgBR,EAAUO,GAAOlU,EAAK4T,EAAItW,cAAc4W,EAAK,CAAElU,OAAQ4T,EAAItW,cAAc4W,GAIzL,MAHY,WAARA,GAAoBtwB,GAA2B,MAAlBA,EAAMwwB,UACrCvqB,EAAGwqB,aAAa,WAAYzwB,EAAMwwB,UAE7BvqB,CAAE,EAEX2T,WAAamT,GAASiD,EAAIU,eAAe3D,GACzCjT,cAAgBiT,GAASiD,EAAIlW,cAAciT,GAC3C/S,QAASA,CAAC2W,EAAM5D,KACd4D,EAAKC,UAAY7D,CAAI,EAEvB7S,eAAgBA,CAACjU,EAAI8mB,KACnB9mB,EAAG4qB,YAAc9D,CAAI,EAEvB3S,WAAauW,GAASA,EAAKvW,WAC3BE,YAAcqW,GAASA,EAAKrW,YAC5BwW,cAAgBC,GAAaf,EAAIc,cAAcC,GAC/CvW,UAAAA,CAAWvU,EAAIlI,GACbkI,EAAGwqB,aAAa1yB,EAAI,GACtB,EAKA2c,mBAAAA,CAAoBsW,EAAStkC,EAAQsuB,EAAQhH,EAAWhW,EAAOC,GAC7D,MAAMgzB,EAASjW,EAASA,EAAOkW,gBAAkBxkC,EAAOykC,UACxD,GAAInzB,IAAUA,IAAUC,GAAOD,EAAMsc,cACnC,MAAO,EAEL,GADA5tB,EAAO0jC,aAAapyB,EAAMozB,WAAU,GAAOpW,GACvChd,IAAUC,KAASD,EAAQA,EAAMsc,aAAc,UAEhD,CACL4V,EAAkBmB,UAA0B,QAAdrd,EAAsB,QAAQgd,UAAgC,WAAdhd,EAAyB,SAASgd,WAAmBA,EACnI,MAAM7B,EAAWe,EAAkBc,QACnC,GAAkB,QAAdhd,GAAqC,WAAdA,EAAwB,CACjD,MAAMsd,EAAUnC,EAASoC,WACzB,MAAOD,EAAQC,WACbpC,EAASqC,YAAYF,EAAQC,YAE/BpC,EAASkB,YAAYiB,EACvB,CACA5kC,EAAO0jC,aAAajB,EAAUnU,EAChC,CACA,MAAO,CAELiW,EAASA,EAAO3W,YAAc5tB,EAAO6kC,WAErCvW,EAASA,EAAOkW,gBAAkBxkC,EAAOykC,UAE7C,GAGIM,EAAa,aACbC,EAAY,YACZC,EAAS1gC,OAAO,QAChB2gC,EAAaA,CAAC5xB,GAASwD,YAAYmN,EAAAA,EAAAA,GAAE+Y,EAAAA,GAAgBmI,EAAuB7xB,GAAQwD,GAC1FouB,EAAWlC,YAAc,aACzB,MAAMoC,EAA+B,CACnCvrB,KAAMlT,OACNhC,KAAMgC,OACN0+B,IAAK,CACH1gC,KAAMslB,QACNjG,SAAS,GAEXshB,SAAU,CAAC3+B,OAAQvB,OAAQU,QAC3By/B,eAAgB5+B,OAChB6+B,iBAAkB7+B,OAClB8+B,aAAc9+B,OACd++B,gBAAiB/+B,OACjBg/B,kBAAmBh/B,OACnBi/B,cAAej/B,OACfk/B,eAAgBl/B,OAChBm/B,iBAAkBn/B,OAClBo/B,aAAcp/B,QAEVq/B,EAA4Bd,EAAW5xB,OAAwB8B,EAAAA,EAAAA,IACnE,CAAC,EACD0lB,EAAAA,GACAsK,GAEIhkB,EAAWA,CAACvG,EAAMxU,EAAO,OACzBnB,EAAAA,EAAAA,IAAQ2V,GACVA,EAAKxV,SAAS4gC,GAAOA,KAAM5/B,KAClBwU,GACTA,KAAQxU,EACV,EAEI6/B,EAAuBrrB,KACpBA,KAAO3V,EAAAA,EAAAA,IAAQ2V,GAAQA,EAAK7C,MAAMiuB,GAAOA,EAAGnlC,OAAS,IAAK+Z,EAAK/Z,OAAS,GAEjF,SAASqkC,EAAuB/c,GAC9B,MAAM+d,EAAY,CAAC,EACnB,IAAK,MAAMvhC,KAAOwjB,EACVxjB,KAAOwgC,IACXe,EAAUvhC,GAAOwjB,EAASxjB,IAG9B,IAAqB,IAAjBwjB,EAASid,IACX,OAAOc,EAET,MAAM,KACJtsB,EAAO,IAAG,KACVlV,EAAI,SACJ2gC,EAAQ,eACRC,EAAiB,GAAG1rB,eAAiB,iBACrC2rB,EAAmB,GAAG3rB,iBAAmB,aACzC4rB,EAAe,GAAG5rB,aAAe,gBACjC6rB,EAAkBH,EAAc,kBAChCI,EAAoBH,EAAgB,cACpCI,EAAgBH,EAAY,eAC5BI,EAAiB,GAAGhsB,eAAiB,iBACrCisB,EAAmB,GAAGjsB,iBAAmB,aACzCksB,EAAe,GAAGlsB,cAChBuO,EACEge,EAAYC,EAAkBf,GAC9BgB,EAAgBF,GAAaA,EAAU,GACvCG,EAAgBH,GAAaA,EAAU,IACvC,cACJnL,EAAa,QACbC,EAAO,iBACPE,EAAgB,QAChBE,EAAO,iBACPE,EAAgB,eAChBC,EAAiBR,EAAa,SAC9BS,EAAWR,EAAO,kBAClBU,EAAoBR,GAClB+K,EACEK,EAAcA,CAACjtB,EAAIktB,EAAUh8B,KACjCi8B,EAAsBntB,EAAIktB,EAAWb,EAAgBH,GACrDiB,EAAsBntB,EAAIktB,EAAWd,EAAoBH,GACzD/6B,GAAQA,GAAM,EAEVk8B,EAAcA,CAACptB,EAAI9O,KACvB8O,EAAGqtB,YAAa,EAChBF,EAAsBntB,EAAIssB,GAC1Ba,EAAsBntB,EAAIwsB,GAC1BW,EAAsBntB,EAAIusB,GAC1Br7B,GAAQA,GAAM,EAEVo8B,EAAiBJ,GACd,CAACltB,EAAI9O,KACV,MAAMoQ,EAAO4rB,EAAW/K,EAAWR,EAC7BpqB,EAAUA,IAAM01B,EAAYjtB,EAAIktB,EAAUh8B,GAChD2W,EAASvG,EAAM,CAACtB,EAAIzI,IACpBg2B,GAAU,KACRJ,EAAsBntB,EAAIktB,EAAWf,EAAkBH,GACvDwB,EAAmBxtB,EAAIktB,EAAWb,EAAgBH,GAC7CS,EAAoBrrB,IACvBmsB,EAAmBztB,EAAI5U,EAAM2hC,EAAex1B,EAC9C,GACA,EAGN,OAAOsE,EAAAA,EAAAA,IAAO+wB,EAAW,CACvBlL,aAAAA,CAAc1hB,GACZ6H,EAAS6Z,EAAe,CAAC1hB,IACzBwtB,EAAmBxtB,EAAIgsB,GACvBwB,EAAmBxtB,EAAIisB,EACzB,EACA/J,cAAAA,CAAeliB,GACb6H,EAASqa,EAAgB,CAACliB,IAC1BwtB,EAAmBxtB,EAAImsB,GACvBqB,EAAmBxtB,EAAIosB,EACzB,EACAzK,QAAS2L,GAAc,GACvBnL,SAAUmL,GAAc,GACxBvL,OAAAA,CAAQ/hB,EAAI9O,GACV8O,EAAGqtB,YAAa,EAChB,MAAM91B,EAAUA,IAAM61B,EAAYptB,EAAI9O,GACtCs8B,EAAmBxtB,EAAIssB,GACvBkB,EAAmBxtB,EAAIusB,GACvBmB,IACAH,GAAU,KACHvtB,EAAGqtB,aAGRF,EAAsBntB,EAAIssB,GAC1BkB,EAAmBxtB,EAAIwsB,GAClBG,EAAoB5K,IACvB0L,EAAmBztB,EAAI5U,EAAM4hC,EAAez1B,GAC9C,IAEFsQ,EAASka,EAAS,CAAC/hB,EAAIzI,GACzB,EACAsqB,gBAAAA,CAAiB7hB,GACfitB,EAAYjtB,GAAI,GAChB6H,EAASga,EAAkB,CAAC7hB,GAC9B,EACAqiB,iBAAAA,CAAkBriB,GAChBitB,EAAYjtB,GAAI,GAChB6H,EAASwa,EAAmB,CAACriB,GAC/B,EACAiiB,gBAAAA,CAAiBjiB,GACfotB,EAAYptB,GACZ6H,EAASoa,EAAkB,CAACjiB,GAC9B,GAEJ,CACA,SAAS8sB,EAAkBf,GACzB,GAAgB,MAAZA,EACF,OAAO,KACF,IAAIz9B,EAAAA,EAAAA,IAASy9B,GAClB,MAAO,CAAC4B,EAAS5B,EAASlV,OAAQ8W,EAAS5B,EAAShQ,QAC/C,CACL,MAAMvV,EAAImnB,EAAS5B,GACnB,MAAO,CAACvlB,EAAGA,EACb,CACF,CACA,SAASmnB,EAASrjB,GAChB,MAAMrd,GAAM2gC,EAAAA,EAAAA,IAAStjB,GAIrB,OAAOrd,CACT,CACA,SAASugC,EAAmBxtB,EAAI6tB,GAC9BA,EAAInO,MAAM,OAAO5zB,SAAS6d,GAAMA,GAAK3J,EAAG8tB,UAAU99B,IAAI2Z,MACrD3J,EAAG0rB,KAAY1rB,EAAG0rB,GAA0B,IAAIp/B,MAAQ0D,IAAI69B,EAC/D,CACA,SAASV,EAAsBntB,EAAI6tB,GACjCA,EAAInO,MAAM,OAAO5zB,SAAS6d,GAAMA,GAAK3J,EAAG8tB,UAAUpb,OAAO/I,KACzD,MAAMokB,EAAO/tB,EAAG0rB,GACZqC,IACFA,EAAKtkC,OAAOokC,GACPE,EAAKrkC,OACRsW,EAAG0rB,QAAU,GAGnB,CACA,SAAS6B,EAAUx0B,GACjBi1B,uBAAsB,KACpBA,sBAAsBj1B,EAAG,GAE7B,CACA,IAAIk1B,EAAQ,EACZ,SAASR,EAAmBztB,EAAIkuB,EAAcC,EAAiB52B,GAC7D,MAAMO,EAAKkI,EAAGouB,SAAWH,EACnBI,EAAoBA,KACpBv2B,IAAOkI,EAAGouB,QACZ72B,GACF,EAEF,GAAI42B,EACF,OAAOG,WAAWD,EAAmBF,GAEvC,MAAM,KAAE/iC,EAAI,QAAEmjC,EAAO,UAAEC,GAAcC,EAAkBzuB,EAAIkuB,GAC3D,IAAK9iC,EACH,OAAOmM,IAET,MAAMm3B,EAAWtjC,EAAO,MACxB,IAAIujC,EAAQ,EACZ,MAAM32B,EAAMA,KACVgI,EAAG4uB,oBAAoBF,EAAUG,GACjCR,GAAmB,EAEfQ,EAAShG,IACTA,EAAE19B,SAAW6U,KAAQ2uB,GAASH,GAChCx2B,GACF,EAEFs2B,YAAW,KACLK,EAAQH,GACVx2B,GACF,GACCu2B,EAAU,GACbvuB,EAAG8uB,iBAAiBJ,EAAUG,EAChC,CACA,SAASJ,EAAkBzuB,EAAIkuB,GAC7B,MAAMa,EAASC,OAAOC,iBAAiBjvB,GACjCkvB,EAAsB7jC,IAAS0jC,EAAO1jC,IAAQ,IAAIq0B,MAAM,MACxDyP,EAAmBD,EAAmB,GAAG1D,UACzC4D,EAAsBF,EAAmB,GAAG1D,aAC5C6D,EAAoBC,EAAWH,EAAkBC,GACjDG,EAAkBL,EAAmB,GAAGzD,UACxC+D,EAAqBN,EAAmB,GAAGzD,aAC3CgE,EAAmBH,EAAWC,EAAiBC,GACrD,IAAIpkC,EAAO,KACPmjC,EAAU,EACVC,EAAY,EACZN,IAAiB1C,EACf6D,EAAoB,IACtBjkC,EAAOogC,EACP+C,EAAUc,EACVb,EAAYY,EAAoB7nC,QAEzB2mC,IAAiBzC,EACtBgE,EAAmB,IACrBrkC,EAAOqgC,EACP8C,EAAUkB,EACVjB,EAAYgB,EAAmBjoC,SAGjCgnC,EAAUjU,KAAKoV,IAAIL,EAAmBI,GACtCrkC,EAAOmjC,EAAU,EAAIc,EAAoBI,EAAmBjE,EAAaC,EAAY,KACrF+C,EAAYpjC,EAAOA,IAASogC,EAAa4D,EAAoB7nC,OAASioC,EAAmBjoC,OAAS,GAEpG,MAAMooC,EAAevkC,IAASogC,GAAc,yBAAyBlL,KACnE4O,EAAmB,GAAG1D,aAAsBoE,YAE9C,MAAO,CACLxkC,OACAmjC,UACAC,YACAmB,eAEJ,CACA,SAASL,EAAWO,EAAQhD,GAC1B,MAAOgD,EAAOtoC,OAASslC,EAAUtlC,OAC/BsoC,EAASA,EAAOhxB,OAAOgxB,GAEzB,OAAOvV,KAAKoV,OAAO7C,EAAUngC,KAAI,CAACojC,EAAGzoC,IAAM0oC,EAAKD,GAAKC,EAAKF,EAAOxoC,MACnE,CACA,SAAS0oC,EAAK7Q,GACZ,MAAU,SAANA,EAAqB,EACyB,IAA3CrzB,OAAOqzB,EAAE9kB,MAAM,GAAI,GAAG+B,QAAQ,IAAK,KAC5C,CACA,SAASuxB,IACP,OAAO1D,SAASgG,KAAKC,YACvB,CAEA,SAASC,EAAWlwB,EAAI5W,EAAO+mC,GAC7B,MAAMC,EAAoBpwB,EAAG0rB,GACzB0E,IACFhnC,GAASA,EAAQ,CAACA,KAAUgnC,GAAqB,IAAIA,IAAoBC,KAAK,MAEnE,MAATjnC,EACF4W,EAAGswB,gBAAgB,SACVH,EACTnwB,EAAGwqB,aAAa,QAASphC,GAEzB4W,EAAGuwB,UAAYnnC,CAEnB,CAEA,MAAMonC,EAAuBxlC,OAAO,QAC9BylC,EAAczlC,OAAO,QACrB0lC,EAAQ,CACZloB,WAAAA,CAAYxI,GAAI,MAAE5W,IAAS,WAAE0V,IAC3BkB,EAAGwwB,GAA6C,SAArBxwB,EAAGwX,MAAMmZ,QAAqB,GAAK3wB,EAAGwX,MAAMmZ,QACnE7xB,GAAc1V,EAChB0V,EAAW6X,YAAY3W,GAEvB4wB,EAAW5wB,EAAI5W,EAEnB,EACA8Z,OAAAA,CAAQlD,GAAI,MAAE5W,IAAS,WAAE0V,IACnBA,GAAc1V,GAChB0V,EAAW+X,MAAM7W,EAErB,EACAmD,OAAAA,CAAQnD,GAAI,MAAE5W,EAAK,SAAEoC,IAAY,WAAEsT,KAC5B1V,KAAWoC,IACZsT,EACE1V,GACF0V,EAAW6X,YAAY3W,GACvB4wB,EAAW5wB,GAAI,GACflB,EAAW+X,MAAM7W,IAEjBlB,EAAWid,MAAM/b,GAAI,KACnB4wB,EAAW5wB,GAAI,EAAM,IAIzB4wB,EAAW5wB,EAAI5W,GAEnB,EACAyf,aAAAA,CAAc7I,GAAI,MAAE5W,IAClBwnC,EAAW5wB,EAAI5W,EACjB,GAKF,SAASwnC,EAAW5wB,EAAI5W,GACtB4W,EAAGwX,MAAMmZ,QAAUvnC,EAAQ4W,EAAGwwB,GAAwB,OACtDxwB,EAAGywB,IAAgBrnC,CACrB,CASA,MAAMynC,EAAe7lC,OAAoE,IAiEzF,MAAM8lC,EAAY,sBAClB,SAASC,EAAW/wB,EAAIxD,EAAMvL,GAC5B,MAAMumB,EAAQxX,EAAGwX,MACXwZ,GAAcx2B,EAAAA,EAAAA,IAASvJ,GAC7B,IAAIggC,GAAuB,EAC3B,GAAIhgC,IAAS+/B,EAAa,CACxB,GAAIx0B,EACF,IAAKhC,EAAAA,EAAAA,IAASgC,GAOZ,IAAK,MAAM00B,KAAa10B,EAAKkjB,MAAM,KAAM,CACvC,MAAMr0B,EAAM6lC,EAAU92B,MAAM,EAAG82B,EAAUr4B,QAAQ,MAAM0B,OACtC,MAAbtJ,EAAK5F,IACP8lC,EAAS3Z,EAAOnsB,EAAK,GAEzB,MAXA,IAAK,MAAMA,KAAOmR,EACC,MAAbvL,EAAK5F,IACP8lC,EAAS3Z,EAAOnsB,EAAK,IAY7B,IAAK,MAAMA,KAAO4F,EACJ,YAAR5F,IACF4lC,GAAuB,GAEzBE,EAAS3Z,EAAOnsB,EAAK4F,EAAK5F,GAE9B,MACE,GAAI2lC,GACF,GAAIx0B,IAASvL,EAAM,CACjB,MAAMmgC,EAAa5Z,EAAMqZ,GACrBO,IACFngC,GAAQ,IAAMmgC,GAEhB5Z,EAAM6Z,QAAUpgC,EAChBggC,EAAuBH,EAAUxQ,KAAKrvB,EACxC,OACSuL,GACTwD,EAAGswB,gBAAgB,SAGnBE,KAAwBxwB,IAC1BA,EAAGwwB,GAAwBS,EAAuBzZ,EAAMmZ,QAAU,GAC9D3wB,EAAGywB,KACLjZ,EAAMmZ,QAAU,QAGtB,CACA,MACMW,EAAc,iBACpB,SAASH,EAAS3Z,EAAOlX,EAAMgK,GAC7B,IAAI3e,EAAAA,EAAAA,IAAQ2e,GACVA,EAAIxe,SAASjD,GAAMsoC,EAAS3Z,EAAOlX,EAAMzX,UAUzC,GARW,MAAPyhB,IAAaA,EAAM,IAQnBhK,EAAKpG,WAAW,MAClBsd,EAAM+Z,YAAYjxB,EAAMgK,OACnB,CACL,MAAMknB,EAAWC,EAAWja,EAAOlX,GAC/BgxB,EAAYhR,KAAKhW,GACnBkN,EAAM+Z,aACJz2B,EAAAA,EAAAA,IAAU02B,GACVlnB,EAAInO,QAAQm1B,EAAa,IACzB,aAGF9Z,EAAMga,GAAYlnB,CAEtB,CAEJ,CACA,MAAMonB,EAAW,CAAC,SAAU,MAAO,MAC7BC,EAAc,CAAC,EACrB,SAASF,EAAWja,EAAOoa,GACzB,MAAMt2B,EAASq2B,EAAYC,GAC3B,GAAIt2B,EACF,OAAOA,EAET,IAAIgF,GAAOzF,EAAAA,EAAAA,IAAS+2B,GACpB,GAAa,WAATtxB,GAAqBA,KAAQkX,EAC/B,OAAOma,EAAYC,GAAWtxB,EAEhCA,GAAOS,EAAAA,EAAAA,IAAWT,GAClB,IAAK,IAAIjZ,EAAI,EAAGA,EAAIqqC,EAASnqC,OAAQF,IAAK,CACxC,MAAMmqC,EAAWE,EAASrqC,GAAKiZ,EAC/B,GAAIkxB,KAAYha,EACd,OAAOma,EAAYC,GAAWJ,CAElC,CACA,OAAOI,CACT,CAEA,MAAMC,EAAU,+BAChB,SAASC,EAAU9xB,EAAI3U,EAAKjC,EAAO+mC,EAAO16B,EAAUs8B,GAAYC,EAAAA,EAAAA,IAAqB3mC,IAC/E8kC,GAAS9kC,EAAI6O,WAAW,UACb,MAAT9Q,EACF4W,EAAGiyB,kBAAkBJ,EAASxmC,EAAI+O,MAAM,EAAG/O,EAAI9D,SAE/CyY,EAAGkyB,eAAeL,EAASxmC,EAAKjC,GAGrB,MAATA,GAAiB2oC,KAAcI,EAAAA,EAAAA,IAAmB/oC,GACpD4W,EAAGswB,gBAAgBjlC,GAEnB2U,EAAGwqB,aAAan/B,EAAK0mC,EAAY,GAAK3kC,OAAOhE,GAGnD,CAEA,SAASgpC,EAAapyB,EAAI3U,EAAKjC,EAAOiW,EAAc2V,EAAiB/C,EAAgBqE,GACnF,GAAY,cAARjrB,GAA+B,gBAARA,EAKzB,OAJIgU,GACFiX,EAAgBjX,EAAc2V,EAAiB/C,QAEjDjS,EAAG3U,GAAgB,MAATjC,EAAgB,GAAKA,GAGjC,MAAMihC,EAAMrqB,EAAGqyB,QACf,GAAY,UAARhnC,GAA2B,aAARg/B,IACtBA,EAAI7xB,SAAS,KAAM,CAClB,MAAMhN,EAAmB,WAAR6+B,EAAmBrqB,EAAGsyB,aAAa,UAAY,GAAKtyB,EAAG5W,MAClEmC,EAAoB,MAATnC,EAAgB,GAAKgE,OAAOhE,GAQ7C,OAPIoC,IAAaD,GAAc,WAAYyU,IACzCA,EAAG5W,MAAQmC,GAEA,MAATnC,GACF4W,EAAGswB,gBAAgBjlC,QAErB2U,EAAGrM,OAASvK,EAEd,CACA,IAAImpC,GAAa,EACjB,GAAc,KAAVnpC,GAAyB,MAATA,EAAe,CACjC,MAAMgC,SAAc4U,EAAG3U,GACV,YAATD,EACFhC,GAAQ+oC,EAAAA,EAAAA,IAAmB/oC,GACT,MAATA,GAA0B,WAATgC,GAC1BhC,EAAQ,GACRmpC,GAAa,GACK,WAATnnC,IACThC,EAAQ,EACRmpC,GAAa,EAEjB,CACA,IACEvyB,EAAG3U,GAAOjC,CACZ,CAAE,MAAOy/B,GACH,CAMN,CACA0J,GAAcvyB,EAAGswB,gBAAgBjlC,EACnC,CAEA,SAASyjC,EAAiB9uB,EAAIpG,EAAOe,EAASsB,GAC5C+D,EAAG8uB,iBAAiBl1B,EAAOe,EAASsB,EACtC,CACA,SAAS2yB,EAAoB5uB,EAAIpG,EAAOe,EAASsB,GAC/C+D,EAAG4uB,oBAAoBh1B,EAAOe,EAASsB,EACzC,CACA,MAAMu2B,EAASxnC,OAAO,QACtB,SAASynC,EAAWzyB,EAAI4xB,EAASc,EAAWC,EAAWl9B,EAAW,MAChE,MAAMm9B,EAAW5yB,EAAGwyB,KAAYxyB,EAAGwyB,GAAU,CAAC,GACxCK,EAAkBD,EAAShB,GACjC,GAAIe,GAAaE,EACfA,EAAgBzpC,MAA6FupC,MACxG,CACL,MAAOryB,EAAMrE,GAAW62B,EAAUlB,GAClC,GAAIe,EAAW,CACb,MAAMI,EAAUH,EAAShB,GAAWoB,GACmDL,EACrFl9B,GAEFq5B,EAAiB9uB,EAAIM,EAAMyyB,EAAS92B,EACtC,MAAW42B,IACTjE,EAAoB5uB,EAAIM,EAAMuyB,EAAiB52B,GAC/C22B,EAAShB,QAAW,EAExB,CACF,CACA,MAAMqB,EAAoB,4BAC1B,SAASH,EAAUxyB,GACjB,IAAIrE,EACJ,GAAIg3B,EAAkB3S,KAAKhgB,GAAO,CAEhC,IAAI4K,EADJjP,EAAU,CAAC,EAEX,MAAOiP,EAAI5K,EAAK4yB,MAAMD,GACpB3yB,EAAOA,EAAKlG,MAAM,EAAGkG,EAAK/Y,OAAS2jB,EAAE,GAAG3jB,QACxC0U,EAAQiP,EAAE,GAAG9O,gBAAiB,CAElC,CACA,MAAMxC,EAAoB,MAAZ0G,EAAK,GAAaA,EAAKlG,MAAM,IAAKU,EAAAA,EAAAA,IAAUwF,EAAKlG,MAAM,IACrE,MAAO,CAACR,EAAOqC,EACjB,CACA,IAAIk3B,EAAY,EAChB,MAAMz7B,GAAoBJ,QAAQC,UAC5B67B,GAASA,IAAMD,IAAcz7B,GAAEC,MAAK,IAAMw7B,EAAY,IAAIA,EAAYE,KAAKC,OACjF,SAASN,GAAcO,EAAc99B,GACnC,MAAMs9B,EAAWlK,IACf,GAAKA,EAAE2K,MAEA,GAAI3K,EAAE2K,MAAQT,EAAQU,SAC3B,YAFA5K,EAAE2K,KAAOH,KAAKC,OAIhB19B,EAAAA,EAAAA,IACE89B,GAA8B7K,EAAGkK,EAAQ3pC,OACzCqM,EACA,EACA,CAACozB,GACF,EAIH,OAFAkK,EAAQ3pC,MAAQmqC,EAChBR,EAAQU,SAAWL,KACZL,CACT,CAWA,SAASW,GAA8B7K,EAAGz/B,GACxC,IAAIuC,EAAAA,EAAAA,IAAQvC,GAAQ,CAClB,MAAMuqC,EAAe9K,EAAE+K,yBAKvB,OAJA/K,EAAE+K,yBAA2B,KAC3BD,EAAa5jC,KAAK84B,GAClBA,EAAEgL,UAAW,CAAI,EAEZzqC,EAAMsD,KACV3F,GAAQ6zB,IAAQA,EAAGiZ,UAAY9sC,GAAMA,EAAG6zB,IAE7C,CACE,OAAOxxB,CAEX,CAEA,MAAM0qC,GAAczoC,GAA8B,MAAtBA,EAAI0oC,WAAW,IAAoC,MAAtB1oC,EAAI0oC,WAAW,IACxE1oC,EAAI0oC,WAAW,GAAK,IAAM1oC,EAAI0oC,WAAW,GAAK,IACxCxgB,GAAYA,CAACvT,EAAI3U,EAAKqnC,EAAWC,EAAW5kB,EAAW1O,EAAc2V,EAAiB/C,EAAgBqE,KAC1G,MAAM6Z,EAAsB,QAAdpiB,EACF,UAAR1iB,EACF6kC,EAAWlwB,EAAI2yB,EAAWxC,GACT,UAAR9kC,EACT0lC,EAAW/wB,EAAI0yB,EAAWC,IACjBz2B,EAAAA,EAAAA,IAAK7Q,IACT4O,EAAAA,EAAAA,IAAgB5O,IACnBonC,EAAWzyB,EAAI3U,EAAKqnC,EAAWC,EAAW3d,IAExB,MAAX3pB,EAAI,IAAcA,EAAMA,EAAI+O,MAAM,GAAI,GAAmB,MAAX/O,EAAI,IAAcA,EAAMA,EAAI+O,MAAM,GAAI,GAAS45B,GAAgBh0B,EAAI3U,EAAKsnC,EAAWxC,KAC1IiC,EACEpyB,EACA3U,EACAsnC,EACAtzB,EACA2V,EACA/C,EACAqE,GAEU,UAARjrB,GAA2B,YAARA,GAA6B,aAARA,GAC1CymC,EAAU9xB,EAAI3U,EAAKsnC,EAAWxC,EAAOnb,EAAyB,UAAR3pB,KAG5C,eAARA,EACF2U,EAAGi0B,WAAatB,EACC,gBAARtnC,IACT2U,EAAGk0B,YAAcvB,GAEnBb,EAAU9xB,EAAI3U,EAAKsnC,EAAWxC,GAChC,EAEF,SAAS6D,GAAgBh0B,EAAI3U,EAAKjC,EAAO+mC,GACvC,GAAIA,EACF,MAAY,cAAR9kC,GAA+B,gBAARA,MAGvBA,KAAO2U,GAAM8zB,GAAWzoC,KAAQgJ,EAAAA,EAAAA,IAAWjL,IAKjD,GAAY,eAARiC,GAAgC,cAARA,GAA+B,cAARA,EACjD,OAAO,EAET,GAAY,SAARA,EACF,OAAO,EAET,GAAY,SAARA,GAAiC,UAAf2U,EAAGqyB,QACvB,OAAO,EAET,GAAY,SAARhnC,GAAiC,aAAf2U,EAAGqyB,QACvB,OAAO,EAET,GAAY,UAARhnC,GAA2B,WAARA,EAAkB,CACvC,MAAMg/B,EAAMrqB,EAAGqyB,QACf,GAAY,QAARhI,GAAyB,UAARA,GAA2B,WAARA,GAA4B,WAARA,EAC1D,OAAO,CAEX,CACA,QAAIyJ,GAAWzoC,MAAQmP,EAAAA,EAAAA,IAASpR,KAGzBiC,KAAO2U,CAChB;;;AAkByC,qBAAhBm0B,aAA8BA,YAmOvD,MAAMC,GAA8B,IAAItpC,QAClCupC,GAAiC,IAAIvpC,QACrCwpC,GAAYtpC,OAAO,WACnBi2B,GAAaj2B,OAAO,YACpBupC,GAAsB,CAC1Bj0B,KAAM,kBACNvG,OAAuB8B,EAAAA,EAAAA,IAAO,CAAC,EAAG4wB,EAA2B,CAC3DpC,IAAKj9B,OACLonC,UAAWpnC,SAEbo1B,KAAAA,CAAMzoB,GAAO,MAAEwD,IACb,MAAM9H,GAAWgtB,EAAAA,EAAAA,MACX7b,GAAQsa,EAAAA,EAAAA,MACd,IAAI7hB,EACAD,EAmCJ,OAlCAgD,EAAAA,EAAAA,KAAU,KACR,IAAK/C,EAAa9X,OAChB,OAEF,MAAMitC,EAAYz6B,EAAMy6B,WAAa,GAAGz6B,EAAMuG,MAAQ,WACtD,IAAKm0B,GACHp1B,EAAa,GAAGW,GAChBvK,EAASQ,MAAM+J,GACfw0B,GAEA,OAEFn1B,EAAavT,QAAQ4oC,IACrBr1B,EAAavT,QAAQ6oC,IACrB,MAAMC,EAAgBv1B,EAAa5S,OAAOooC,IAC1CnH,IACAkH,EAAc9oC,SAAS6d,IACrB,MAAM3J,EAAK2J,EAAE3J,GACPwX,EAAQxX,EAAGwX,MACjBgW,EAAmBxtB,EAAIw0B,GACvBhd,EAAMsd,UAAYtd,EAAMud,gBAAkBvd,EAAMwd,mBAAqB,GACrE,MAAMj8B,EAAKiH,EAAGs0B,IAAczL,IACtBA,GAAKA,EAAE19B,SAAW6U,GAGjB6oB,IAAK,aAAavI,KAAKuI,EAAEoM,gBAC5Bj1B,EAAG4uB,oBAAoB,gBAAiB71B,GACxCiH,EAAGs0B,IAAa,KAChBnH,EAAsBntB,EAAIw0B,GAC5B,EAEFx0B,EAAG8uB,iBAAiB,gBAAiB/1B,EAAG,GACxC,IAEG,KACL,MAAM8V,GAAW7hB,EAAAA,EAAAA,IAAM+M,GACjBm7B,EAAqBtJ,EAAuB/c,GAClD,IAAIwb,EAAMxb,EAASwb,KAAOzlB,EAAAA,GAE1B,GADAvF,EAAe,GACXD,EACF,IAAK,IAAI/X,EAAI,EAAGA,EAAI+X,EAAS7X,OAAQF,IAAK,CACxC,MAAM4d,EAAQ7F,EAAS/X,GACnB4d,EAAMjF,IAAMiF,EAAMjF,cAAcm1B,UAClC91B,EAAazY,KAAKqe,IAClBge,EAAAA,EAAAA,IACEhe,GACA+d,EAAAA,EAAAA,IACE/d,EACAiwB,EACAtuB,EACAnR,IAGJ2+B,GAAYhqC,IACV6a,EACAA,EAAMjF,GAAGo1B,yBAGf,CAEFh2B,EAAW7B,EAAMkN,SAAUiY,EAAAA,EAAAA,IAAyBnlB,EAAMkN,WAAa,GACvE,IAAK,IAAIpjB,EAAI,EAAGA,EAAI+X,EAAS7X,OAAQF,IAAK,CACxC,MAAM4d,EAAQ7F,EAAS/X,GACN,MAAb4d,EAAM5Z,MACR43B,EAAAA,EAAAA,IACEhe,GACA+d,EAAAA,EAAAA,IAAuB/d,EAAOiwB,EAAoBtuB,EAAOnR,GAK/D,CACA,OAAO6I,EAAAA,EAAAA,IAAY+rB,EAAK,KAAMjrB,EAAS,CAE3C,GAGyBm1B,GAAoBx6B,MAE/C,SAAS26B,GAAe/qB,GACtB,MAAM3J,EAAK2J,EAAE3J,GACTA,EAAGs0B,KACLt0B,EAAGs0B,MAEDt0B,EAAGihB,KACLjhB,EAAGihB,KAEP,CACA,SAAS0T,GAAehrB,GACtB0qB,GAAejqC,IAAIuf,EAAGA,EAAE3J,GAAGo1B,wBAC7B,CACA,SAASP,GAAiBlrB,GACxB,MAAM0rB,EAASjB,GAAY5qC,IAAImgB,GACzB2rB,EAASjB,GAAe7qC,IAAImgB,GAC5B4rB,EAAKF,EAAOG,KAAOF,EAAOE,KAC1BC,EAAKJ,EAAOK,IAAMJ,EAAOI,IAC/B,GAAIH,GAAME,EAAI,CACZ,MAAMvW,EAAIvV,EAAE3J,GAAGwX,MAGf,OAFA0H,EAAE4V,UAAY5V,EAAE6V,gBAAkB,aAAaQ,OAAQE,OACvDvW,EAAE8V,mBAAqB,KAChBrrB,CACT,CACF,CACA,SAAS8qB,GAAgBz0B,EAAIxB,EAAMg2B,GACjC,MAAMrQ,EAAQnkB,EAAGmrB,YACX4C,EAAO/tB,EAAG0rB,GACZqC,GACFA,EAAKjiC,SAAS+hC,IACZA,EAAInO,MAAM,OAAO5zB,SAAS6d,GAAMA,GAAKwa,EAAM2J,UAAUpb,OAAO/I,IAAG,IAGnE6qB,EAAU9U,MAAM,OAAO5zB,SAAS6d,GAAMA,GAAKwa,EAAM2J,UAAU99B,IAAI2Z,KAC/Dwa,EAAM3M,MAAMmZ,QAAU,OACtB,MAAM7b,EAA8B,IAAlBtW,EAAKm3B,SAAiBn3B,EAAOA,EAAK2V,WACpDW,EAAUyW,YAAYpH,GACtB,MAAM,aAAEwL,GAAiBlB,EAAkBtK,GAE3C,OADArP,EAAUsV,YAAYjG,GACfwL,CACT,CAgBkB3kC,OAAO,WAqQzB,MAgDM4qC,IAAkC/5B,EAAAA,EAAAA,IAAO,CAAE0X,cAAa2W,GAC9D,IAAIzR,GAEJ,SAASod,KACP,OAAOpd,KAAaA,IAAWzF,EAAAA,EAAAA,IAAe4iB,IAChD,CAMA,MAMMlY,GAAYA,IAAI5wB,KACpB,MAAMkf,EAAM6pB,KAAiBnY,aAAa5wB,GAK1C,MAAM,MAAE8gB,GAAU5B,EAgBlB,OAfAA,EAAI4B,MAASkoB,IACX,MAAMhhB,EAAYihB,GAAmBD,GACrC,IAAKhhB,EAAW,OAChB,MAAMxV,EAAY0M,EAAIiB,YACjB5Y,EAAAA,EAAAA,IAAWiL,IAAeA,EAAU7B,QAAW6B,EAAU4pB,WAC5D5pB,EAAU4pB,SAAWpU,EAAUsW,WAEjCtW,EAAUsW,UAAY,GACtB,MAAMr4B,EAAQ6a,EAAMkH,GAAW,EAAOkhB,GAAqBlhB,IAK3D,OAJIA,aAAqBqgB,UACvBrgB,EAAUwb,gBAAgB,WAC1Bxb,EAAU0V,aAAa,aAAc,KAEhCz3B,CAAK,EAEPiZ,CAAG,EAiBZ,SAASgqB,GAAqBlhB,GAC5B,OAAIA,aAAqBmhB,WAChB,MAEoB,oBAAlBC,eAAgCphB,aAAqBohB,cACvD,cADT,CAGF,CAoCA,SAASH,GAAmBjhB,GAC1B,IAAIta,EAAAA,EAAAA,IAASsa,GAAY,CACvB,MAAM7nB,EAAM+8B,SAASa,cAAc/V,GAMnC,OAAO7nB,CACT,CAMA,OAAO6nB,CACT,C;;;;;;;AClkDA,SAAS1oB,EAAQ+pC,EAAKC,GACpB,MAAMhsC,EAAM,IAAIkC,IAAI6pC,EAAIzW,MAAM,MAC9B,OAAO0W,EAAoB9rB,GAAQlgB,EAAIgE,IAAIkc,EAAIlO,eAAkBkO,GAAQlgB,EAAIgE,IAAIkc,EACnF,CAEA,MAAMtQ,EAA4E,CAAC,EAC7EoW,EAA4E,GAC5E9b,EAAOA,OAEP4X,EAAKA,KAAM,EACXhQ,EAAQ7Q,GAA8B,MAAtBA,EAAI0oC,WAAW,IAAoC,MAAtB1oC,EAAI0oC,WAAW,KACjE1oC,EAAI0oC,WAAW,GAAK,KAAO1oC,EAAI0oC,WAAW,GAAK,IAC1C95B,EAAmB5O,GAAQA,EAAI6O,WAAW,aAC1C2B,EAAStP,OAAO8pC,OAChB3jB,EAASA,CAAC3lB,EAAKiT,KACnB,MAAM3Y,EAAI0F,EAAI8L,QAAQmH,GAClB3Y,GAAK,GACP0F,EAAI0L,OAAOpR,EAAG,EAChB,EAEI8F,EAAiBZ,OAAOwzB,UAAU5yB,eAClCe,EAASA,CAACoc,EAAKjf,IAAQ8B,EAAe4C,KAAKua,EAAKjf,GAChDM,EAAUkY,MAAMlY,QAChBO,EAASoe,GAA8B,iBAAtBgsB,EAAahsB,GAC9BsV,EAAStV,GAA8B,iBAAtBgsB,EAAahsB,GAC9BisB,EAAUjsB,GAA8B,kBAAtBgsB,EAAahsB,GAC/B+V,EAAY/V,GAA8B,oBAAtBgsB,EAAahsB,GACjCjW,EAAciW,GAAuB,oBAARA,EAC7B9P,EAAY8P,GAAuB,kBAARA,EAC3Bte,EAAYse,GAAuB,kBAARA,EAC3Bhc,EAAYgc,GAAgB,OAARA,GAA+B,kBAARA,EAC3CzU,EAAayU,IACThc,EAASgc,IAAQjW,EAAWiW,KAASjW,EAAWiW,EAAI3S,OAAStD,EAAWiW,EAAIxU,OAEhF0gC,EAAiBjqC,OAAOwzB,UAAU6P,SAClC0G,EAAgBltC,GAAUotC,EAAezmC,KAAK3G,GAC9CmJ,EAAanJ,GACVktC,EAAaltC,GAAOgR,MAAM,GAAI,GAEjCylB,EAAiBvV,GAA8B,oBAAtBgsB,EAAahsB,GACtCre,EAAgBZ,GAAQmP,EAASnP,IAAgB,QAARA,GAA4B,MAAXA,EAAI,IAAc,GAAKorC,SAASprC,EAAK,MAAQA,EACvGskB,EAAiCvjB,EAErC,uIAKIsqC,EAAuB3vC,IAC3B,MAAMqU,EAAwB7O,OAAO+Y,OAAO,MAC5C,OAAQ6wB,IACN,MAAMQ,EAAMv7B,EAAM+6B,GAClB,OAAOQ,IAAQv7B,EAAM+6B,GAAOpvC,EAAGovC,GAAK,CACrC,EAEGS,EAAa,SACb/7B,EAAW67B,GAAqBP,GAC7BA,EAAIh6B,QAAQy6B,GAAY,CAAC/xB,EAAG8E,IAAMA,EAAIA,EAAEktB,cAAgB,OAE3DC,EAAc,aACdh8B,EAAY47B,GACfP,GAAQA,EAAIh6B,QAAQ26B,EAAa,OAAO16B,gBAErC2E,EAAa21B,GAAqBP,GAC/BA,EAAIY,OAAO,GAAGF,cAAgBV,EAAI/7B,MAAM,KAE3CQ,EAAe87B,GAAqBP,IACxC,MAAMjX,EAAIiX,EAAM,KAAKp1B,EAAWo1B,KAAS,GACzC,OAAOjX,CAAC,IAEJlwB,EAAaA,CAAC5F,EAAOoC,KAAce,OAAO4pB,GAAG/sB,EAAOoC,GACpD+tB,EAAiBA,CAACyd,KAAQh0B,KAC9B,IAAK,IAAI3b,EAAI,EAAGA,EAAI2vC,EAAIzvC,OAAQF,IAC9B2vC,EAAI3vC,MAAM2b,EACZ,EAEI3P,EAAMA,CAAChG,EAAKhC,EAAKjC,EAAO6tC,GAAW,KACvC1qC,OAAO+a,eAAeja,EAAKhC,EAAK,CAC9Bwe,cAAc,EACdD,YAAY,EACZqtB,WACA7tC,SACA,EAEEqR,EAAiB6P,IACrB,MAAM9D,EAAI0wB,WAAW5sB,GACrB,OAAO6sB,MAAM3wB,GAAK8D,EAAM9D,CAAC,EAErBonB,EAAYtjB,IAChB,MAAM9D,EAAIhM,EAAS8P,GAAOze,OAAOye,GAAO8sB,IACxC,OAAOD,MAAM3wB,GAAK8D,EAAM9D,CAAC,EAE3B,IAAI6wB,EACJ,MAAMtkB,EAAgBA,IACbskB,IAAgBA,EAAoC,qBAAfC,WAA6BA,WAA6B,qBAATxjC,KAAuBA,KAAyB,qBAAXk7B,OAAyBA,OAA2B,qBAAXuI,EAAAA,EAAyBA,EAAAA,EAAS,CAAC,GAOhN,MAsFMC,EAAkB,iNAClBC,EAAoCrrC,EAAQorC,GA6ClD,SAASlR,EAAel9B,GACtB,GAAIuC,EAAQvC,GAAQ,CAClB,MAAM6D,EAAM,CAAC,EACb,IAAK,IAAI5F,EAAI,EAAGA,EAAI+B,EAAM7B,OAAQF,IAAK,CACrC,MAAM0c,EAAO3a,EAAM/B,GACbmU,EAAahB,EAASuJ,GAAQ2zB,EAAiB3zB,GAAQuiB,EAAeviB,GAC5E,GAAIvI,EACF,IAAK,MAAMnQ,KAAOmQ,EAChBvO,EAAI5B,GAAOmQ,EAAWnQ,EAG5B,CACA,OAAO4B,CACT,CAAO,GAAIuN,EAASpR,IAAUkF,EAASlF,GACrC,OAAOA,CAEX,CACA,MAAMuuC,EAAkB,gBAClBC,EAAsB,UACtBC,EAAiB,iBACvB,SAASH,EAAiBrG,GACxB,MAAMztB,EAAM,CAAC,EAOb,OANAytB,EAAQl1B,QAAQ07B,EAAgB,IAAInY,MAAMiY,GAAiB7rC,SAASiY,IAClE,GAAIA,EAAM,CACR,MAAM+zB,EAAM/zB,EAAK2b,MAAMkY,GACvBE,EAAIvwC,OAAS,IAAMqc,EAAIk0B,EAAI,GAAGv9B,QAAUu9B,EAAI,GAAGv9B,OACjD,KAEKqJ,CACT,CAeA,SAASyiB,EAAej9B,GACtB,IAAI6D,EAAM,GACV,GAAIuN,EAASpR,GACX6D,EAAM7D,OACD,GAAIuC,EAAQvC,GACjB,IAAK,IAAI/B,EAAI,EAAGA,EAAI+B,EAAM7B,OAAQF,IAAK,CACrC,MAAMmU,EAAa6qB,EAAej9B,EAAM/B,IACpCmU,IACFvO,GAAOuO,EAAa,IAExB,MACK,GAAIlN,EAASlF,GAClB,IAAK,MAAMkX,KAAQlX,EACbA,EAAMkX,KACRrT,GAAOqT,EAAO,KAIpB,OAAOrT,EAAIsN,MACb,CAaA,MASMw9B,EAAsB,8EACtB/F,EAAuC5lC,EAAQ2rC,GAIrD,SAAS5F,GAAmB/oC,GAC1B,QAASA,GAAmB,KAAVA,CACpB,CA6EA,SAAS4uC,GAAmB1+B,EAAGC,GAC7B,GAAID,EAAE/R,SAAWgS,EAAEhS,OAAQ,OAAO,EAClC,IAAI0wC,GAAQ,EACZ,IAAK,IAAI5wC,EAAI,EAAG4wC,GAAS5wC,EAAIiS,EAAE/R,OAAQF,IACrC4wC,EAAQC,GAAW5+B,EAAEjS,GAAIkS,EAAElS,IAE7B,OAAO4wC,CACT,CACA,SAASC,GAAW5+B,EAAGC,GACrB,GAAID,IAAMC,EAAG,OAAO,EACpB,IAAI4+B,EAAa5B,EAAOj9B,GACpB8+B,EAAa7B,EAAOh9B,GACxB,GAAI4+B,GAAcC,EAChB,SAAOD,IAAcC,IAAa9+B,EAAE++B,YAAc9+B,EAAE8+B,UAItD,GAFAF,EAAansC,EAASsN,GACtB8+B,EAAapsC,EAASuN,GAClB4+B,GAAcC,EAChB,OAAO9+B,IAAMC,EAIf,GAFA4+B,EAAaxsC,EAAQ2N,GACrB8+B,EAAazsC,EAAQ4N,GACjB4+B,GAAcC,EAChB,SAAOD,IAAcC,IAAaJ,GAAmB1+B,EAAGC,GAI1D,GAFA4+B,EAAa7pC,EAASgL,GACtB8+B,EAAa9pC,EAASiL,GAClB4+B,GAAcC,EAAY,CAC5B,IAAKD,IAAeC,EAClB,OAAO,EAET,MAAME,EAAa/rC,OAAO/B,KAAK8O,GAAG/R,OAC5BgxC,EAAahsC,OAAO/B,KAAK+O,GAAGhS,OAClC,GAAI+wC,IAAeC,EACjB,OAAO,EAET,IAAK,MAAMltC,KAAOiO,EAAG,CACnB,MAAMk/B,EAAUl/B,EAAEnM,eAAe9B,GAC3BotC,EAAUl/B,EAAEpM,eAAe9B,GACjC,GAAImtC,IAAYC,IAAYD,GAAWC,IAAYP,GAAW5+B,EAAEjO,GAAMkO,EAAElO,IACtE,OAAO,CAEX,CACF,CACA,OAAO+B,OAAOkM,KAAOlM,OAAOmM,EAC9B,CACA,SAASm/B,GAAa3rC,EAAKud,GACzB,OAAOvd,EAAIikB,WAAWjN,GAASm0B,GAAWn0B,EAAMuG,IAClD,CAEA,MAAMquB,GAAmBruB,GAChB9P,EAAS8P,GAAOA,EAAa,MAAPA,EAAc,GAAK3e,EAAQ2e,IAAQhc,EAASgc,KAASA,EAAIslB,WAAa4G,IAAmBniC,EAAWiW,EAAIslB,WAAagJ,KAAKC,UAAUvuB,EAAKwuB,GAAU,GAAK1rC,OAAOkd,GAExLwuB,GAAWA,CAACC,EAAMzuB,IAClBA,GAAOA,EAAI5W,UACNolC,GAASC,EAAMzuB,EAAIlhB,OACjB8C,EAAMoe,GACR,CACL,CAAC,OAAOA,EAAI5gB,SAAU,IAAI4gB,EAAI0uB,WAAWvxB,QACvC,CAACuxB,GAAU3tC,EAAK4tC,GAAO5xC,KACrB2xC,EAAQE,GAAgB7tC,EAAKhE,GAAK,OAAS4xC,EACpCD,IAET,CAAC,IAGIpZ,EAAMtV,GACR,CACL,CAAC,OAAOA,EAAI5gB,SAAU,IAAI4gB,EAAI5e,UAAUgB,KAAK7D,GAAMqwC,GAAgBrwC,MAE5DmD,EAASse,GACX4uB,GAAgB5uB,IACdhc,EAASgc,IAAS3e,EAAQ2e,IAASuV,EAAcvV,GAGrDA,EAFEld,OAAOkd,GAIZ4uB,GAAkBA,CAACrwC,EAAGxB,EAAI,MAC9B,IAAIoN,EACJ,OAGEzI,EAASnD,GAAK,UAAkC,OAAvB4L,EAAK5L,EAAEswC,aAAuB1kC,EAAKpN,KAAOwB,CAAC,C,8IChexE,MAAMooB,EAAa,IAAIrmB,IAEvBi+B,EAAe,CACbz+B,GAAAA,CAAIy+B,EAASxhC,EAAKmf,GACXyK,EAAW7iB,IAAIy6B,IAClB5X,EAAW7mB,IAAIy+B,EAAS,IAAIj+B,KAG9B,MAAMs0B,EAAcjO,EAAWznB,IAAIq/B,GAI9B3J,EAAY9wB,IAAI/G,IAA6B,IAArB63B,EAAYx1B,KAMzCw1B,EAAY90B,IAAI/C,EAAKmf,GAJnB5P,QAAQC,MAAO,+EAA8EgN,MAAMC,KAAKob,EAAY10B,QAAQ,M,EAOhIhB,IAAGA,CAACq/B,EAASxhC,IACP4pB,EAAW7iB,IAAIy6B,IACV5X,EAAWznB,IAAIq/B,GAASr/B,IAAInC,IAG9B,KAGTqrB,MAAAA,CAAOmW,EAASxhC,GACd,IAAK4pB,EAAW7iB,IAAIy6B,GAClB,OAGF,MAAMriB,EAAcyK,EAAWznB,IAAIq/B,GAEnCriB,EAAY/c,OAAOpC,GAGM,IAArBmf,EAAY9c,MACdunB,EAAWxnB,OAAOo/B,EAEtB,GC5CIxhC,EAAiB,gBAOjBmf,EAAgByK,IAChBA,GAAY+d,OAAOoK,KAAOpK,OAAOoK,IAAIC,SAEvCpoB,EAAWA,EAAS9U,QAAQ,iBAAiB,CAAC8U,EAAO4X,IAAQ,IAAGuQ,IAAIC,OAAOxQ,QAGtE5X,GA+CHiO,EAAuBjO,IAC3BA,EAAQqoB,cAAc,IAAIC,MAAMlyC,GAAgB,EAG5Co2B,EAAYxM,MACXA,GAA4B,iBAAXA,UAAA,IAIXA,EAAOuoB,SAChBvoB,EAASA,EAAO,aAGJA,EAAO0kB,UAGjB/gC,EAAaqc,GAEbwM,EAAUxM,GACLA,EAAOuoB,OAASvoB,EAAO,GAAKA,EAGf,iBAAXA,GAAuBA,EAAO1pB,OAAS,EACzCyiC,SAASa,cAAcrkB,EAAcyK,IAGvC,KAGH3X,EAAY2X,IAChB,IAAKwM,EAAUxM,IAAgD,IAApCA,EAAQwoB,iBAAiBlyC,OAClD,OAAO,EAGT,MAAMshC,EAAgF,YAA7DoG,iBAAiBhe,GAASyoB,iBAAiB,cAE9DryC,EAAgB4pB,EAAQ0oB,QAAQ,uBAEtC,IAAKtyC,EACH,OAAOwhC,EAGT,GAAIxhC,IAAkB4pB,EAAS,CAC7B,MAAM4X,EAAU5X,EAAQ0oB,QAAQ,WAChC,GAAI9Q,GAAWA,EAAQ1U,aAAe9sB,EACpC,OAAO,EAGT,GAAgB,OAAZwhC,EACF,OAAO,CAEX,CAEA,OAAOA,CAAgB,EAGnBvhC,EAAa2pB,IACZA,GAAWA,EAAQ0kB,WAAaiE,KAAKC,gBAItC5oB,EAAQ6c,UAAUgM,SAAS,uBAIpB7oB,EAAQ8oB,SACV9oB,EAAQ8oB,SAGV9oB,EAAQ+oB,aAAa,aAAoD,UAArC/oB,EAAQqhB,aAAa,aAG5D3oB,EAAiBsH,IACrB,IAAK+Y,SAASiQ,gBAAgBC,aAC5B,OAAO,KAIT,GAAmC,mBAAxBjpB,EAAQkpB,YAA4B,CAC7C,MAAMtR,EAAO5X,EAAQkpB,cACrB,OAAOtR,aAAgBuR,WAAavR,EAAO,IAC7C,CAEA,OAAI5X,aAAmBmpB,WACdnpB,EAIJA,EAAQkD,WAINxK,EAAesH,EAAQkD,YAHrB,IAGgC,EAGrCzJ,EAAOA,OAUPolB,EAAS7e,IACbA,EAAQgf,YAAY,EAGhB9W,EAAYA,IACZ6V,OAAOqL,SAAWrQ,SAASgG,KAAKgK,aAAa,qBACxChL,OAAOqL,OAGT,KAGHh0B,EAA4B,GAmB5B3O,EAAQA,IAAuC,QAAjCsyB,SAASiQ,gBAAgBl3B,IAEvCmI,EAAqB+F,IAnBA,IAAA4X,EAAAA,EAoBNt4B,KACjB,MAAMs4B,EAAI1P,IAEV,GAAI0P,EAAG,CACL,MAAMxhC,EAAO4pB,EAAOqpB,KACd9zB,EAAqBqiB,EAAE9hC,GAAGM,GAChCwhC,EAAE9hC,GAAGM,GAAQ4pB,EAAOspB,gBACpB1R,EAAE9hC,GAAGM,GAAMmzC,YAAcvpB,EACzB4X,EAAE9hC,GAAGM,GAAMozC,WAAa,KACtB5R,EAAE9hC,GAAGM,GAAQmf,EACNyK,EAAOspB,gBAElB,GA/B0B,YAAxBvQ,SAAS0Q,YAENr0B,EAA0B9e,QAC7ByiC,SAAS8E,iBAAiB,oBAAoB,KAC5C,IAAK,MAAM7d,KAAY5K,EACrB4K,GACF,IAIJ5K,EAA0Bzf,KAAKiiC,IAE/BA,GAoBA,EAGEX,EAAUA,CAACjX,EAAkB4X,EAAO,GAAIxhC,EAAe4pB,IACxB,mBAArBA,EAAkCA,KAAoB4X,GAAQxhC,EAGxEwd,EAAyBA,CAACoM,EAAU4X,EAAmBriB,GAAA,KAC3D,IAAKA,EAEH,YADA0hB,EAAQjX,GAIV,MACMwM,EA7LiC,CAAAxM,IACvC,IAAKA,EACH,OAAO,EAIT,IAAI+jB,mBAAEnM,EAAkB8R,gBAAEtzC,GAAoB2nC,OAAOC,iBAAiBhe,GAEtE,MAAMzK,EAA0B3a,OAAOqrC,WAAWrO,GAC5C3J,EAAuBrzB,OAAOqrC,WAAW7vC,GAG/C,OAAKmf,GAA4B0Y,GAKjC2J,EAAqBA,EAAmBnJ,MAAM,KAAK,GACnDr4B,EAAkBA,EAAgBq4B,MAAM,KAAK,GAxDf,KA0DtB7zB,OAAOqrC,WAAWrO,GAAsBh9B,OAAOqrC,WAAW7vC,KAPzD,CAOoG,EApBtE,CA6LmBwhC,GADlC,EAGxB,IAAIj0B,GAAA,EAEJ,MAAM0E,EAAUA,EAAGnO,OAAAqb,MACbA,IAAWqiB,IAIfj0B,GAAA,EACAi0B,EAAkB+F,oBAAoBvnC,EAAgBiS,GACtD4uB,EAAQjX,GAAS,EAGnB4X,EAAkBiG,iBAAiBznC,EAAgBiS,GACnDg1B,YAAW,KACJ15B,GACHsqB,EAAqB2J,EACvB,GACCpL,EAAiB,EAYhBlkB,EAAuBA,CAAC0X,EAAM4X,EAAexhC,EAAemf,KAChE,MAAM0Y,EAAajO,EAAK1pB,OACxB,IAAIk2B,EAAQxM,EAAKpY,QAAQgwB,GAIzB,OAAe,IAAXpL,GACMp2B,GAAiBmf,EAAiByK,EAAKiO,EAAa,GAAKjO,EAAK,IAGxEwM,GAASp2B,EAAgB,GAAK,EAE1Bmf,IACFiX,GAASA,EAAQyB,GAAcA,GAG1BjO,EAAKqJ,KAAKoV,IAAI,EAAGpV,KAAKC,IAAIkD,EAAOyB,EAAa,KAAI,EC7QrDr2B,EAAiB,qBACjB+xC,EAAiB,OACjBC,EAAgB,SAChBC,EAAgB,CAAC,EACvB,IAAIC,EAAW,EACf,MAAMC,EAAe,CACnBC,WAAY,YACZC,WAAY,YAGRC,EAAe,IAAI7uC,IAAI,CAC3B,QACA,WACA,UACA,YACA,cACA,aACA,iBACA,YACA,WACA,YACA,cACA,YACA,UACA,WACA,QACA,oBACA,aACA,YACA,WACA,cACA,cACA,cACA,YACA,eACA,gBACA,eACA,gBACA,aACA,QACA,OACA,SACA,QACA,SACA,SACA,UACA,WACA,OACA,SACA,eACA,SACA,OACA,mBACA,mBACA,QACA,QACA,WAOF,SAAS8uC,EAAanqB,EAAS4X,GAC7B,OAAQA,GAAQ,GAAEA,MAAQkS,OAAiB9pB,EAAQoqB,UAAYN,GACjE,CAEA,SAASO,EAAiBrqB,GACxB,MAAM4X,EAAMuS,EAAanqB,GAKzB,OAHAA,EAAQoqB,SAAWxS,EACnBiS,EAAcjS,GAAOiS,EAAcjS,IAAQ,CAAC,EAErCiS,EAAcjS,EACvB,CAoCA,SAASlW,EAAY1B,EAAQ4X,EAAUxhC,EAAqB,MAC1D,OAAOkF,OAAOb,OAAOulB,GAClBsqB,MAAKtqB,GAASA,EAAMuqB,WAAa3S,GAAY5X,EAAMwqB,qBAAuBp0C,GAC/E,CAEA,SAASq0C,EAAoBzqB,EAAmB4X,EAASxhC,GACvD,MAAMmf,EAAiC,iBAAZqiB,EAErB3J,EAAW1Y,EAAcnf,EAAsBwhC,GAAWxhC,EAChE,IAAIo2B,EAAYke,EAAa1qB,GAM7B,OAJKkqB,EAAa/sC,IAAIqvB,KACpBA,EAAYxM,GAGP,CAACzK,EAAa0Y,EAAUzB,EACjC,CAEA,SAASme,EAAW3qB,EAAS4X,EAAmBxhC,EAASmf,EAAoB0Y,GAC3E,GAAiC,iBAAtB2J,IAAmC5X,EAC5C,OAGF,IAAKwM,EAAa7oB,EAAU0E,GAAaoiC,EAAoB7S,EAAmBxhC,EAASmf,GAIzF,GAAIqiB,KAAqBmS,EAAc,CACrC,MAAM/pB,EAAeA,GACZ,SAAU4X,GACf,IAAKA,EAAMgT,eAAkBhT,EAAMgT,gBAAkBhT,EAAMiT,iBAAmBjT,EAAMiT,eAAehC,SAASjR,EAAMgT,eAChH,OAAO5qB,EAAGlhB,KAAK1J,KAAMwiC,E,EAK3Bj0B,EAAWqc,EAAarc,EAC1B,CAEA,MAAMtN,EAASg0C,EAAiBrqB,GAC1BtH,EAAWriB,EAAOgS,KAAehS,EAAOgS,GAAa,CAAC,GACtDoR,EAAmBiI,EAAYhJ,EAAU/U,EAAU6oB,EAAcp2B,EAAU,MAEjF,GAAIqjB,EAGF,YAFAA,EAAiBqxB,OAASrxB,EAAiBqxB,QAAU7c,GAKvD,MAAM4Q,EAAMsL,EAAaxmC,EAAUi0B,EAAkB1sB,QAAQtT,EAAgB,KACvEswB,EAAKsE,EAxEb,SAAoCxM,EAAS4X,EAAUxhC,GACrD,OAAO,SAASmf,EAAQ0Y,GACtB,MAAMzB,EAAcxM,EAAQ+qB,iBAAiBnT,GAE7C,IAAK,IAAI19B,OAAEyJ,GAAWsqB,EAAOtqB,GAAUA,IAAWvO,KAAMuO,EAASA,EAAOuf,WACtE,IAAK,MAAM7a,KAAcmkB,EACvB,GAAInkB,IAAe1E,EAUnB,OANAqnC,EAAW/c,EAAO,CAAE4c,eAAgBlnC,IAEhC4R,EAAQu1B,QACVG,EAAah1C,IAAI+pB,EAASiO,EAAM9zB,KAAMy9B,EAAUxhC,GAG3CA,EAAG6F,MAAM0H,EAAQ,CAACsqB,G,CAIjC,CApBA,CAyE+BjO,EAAS5pB,EAASuN,GArFjD,SAA0Bqc,EAAS4X,GACjC,OAAO,SAASxhC,EAAQmf,GAOtB,OANAy1B,EAAWz1B,EAAO,CAAEs1B,eAAgB7qB,IAEhC5pB,EAAQ00C,QACVG,EAAah1C,IAAI+pB,EAASzK,EAAMpb,KAAMy9B,GAGjCA,EAAG37B,MAAM+jB,EAAS,CAACzK,G,CAE9B,CAVA,CAsFqByK,EAASrc,GAE5BukB,EAAGsiB,mBAAqBhe,EAAcp2B,EAAU,KAChD8xB,EAAGqiB,SAAW5mC,EACdukB,EAAG4iB,OAAS7c,EACZ/F,EAAGkiB,SAAWvL,EACdnmB,EAASmmB,GAAO3W,EAEhBlI,EAAQ6d,iBAAiBx1B,EAAW6f,EAAIsE,EAC1C,CAEA,SAAS0e,EAAclrB,EAAS4X,EAAQxhC,EAAWmf,EAAS0Y,GAC1D,MAAMzB,EAAK9K,EAAYkW,EAAOxhC,GAAYmf,EAAS0Y,GAE9CzB,IAILxM,EAAQ2d,oBAAoBvnC,EAAWo2B,EAAI/M,QAAQwO,WAC5C2J,EAAOxhC,GAAWo2B,EAAG4d,UAC9B,CAEA,SAAS91B,EAAyB0L,EAAS4X,EAAQxhC,EAAWmf,GAC5D,MAAM0Y,EAAoB2J,EAAOxhC,IAAc,CAAC,EAEhD,IAAK,MAAOo2B,EAAY7oB,KAAUrI,OAAOysC,QAAQ9Z,GAC3CzB,EAAWjlB,SAASgO,IACtB21B,EAAclrB,EAAS4X,EAAQxhC,EAAWuN,EAAM4mC,SAAU5mC,EAAM6mC,mBAGtE,CAEA,SAASE,EAAa1qB,GAGpB,OADAA,EAAQA,EAAM9U,QAAQy+B,EAAgB,IAC/BI,EAAa/pB,IAAUA,CAChC,CAEA,MAAMirB,EAAe,CACnBj1C,EAAAA,CAAGgqB,EAAS4X,EAAOxhC,EAASmf,GAC1Bo1B,EAAW3qB,EAAS4X,EAAOxhC,EAASmf,GAAA,E,EAGtC41B,GAAAA,CAAInrB,EAAS4X,EAAOxhC,EAASmf,GAC3Bo1B,EAAW3qB,EAAS4X,EAAOxhC,EAASmf,GAAA,E,EAGtCtf,GAAAA,CAAI+pB,EAAS4X,EAAmBxhC,EAASmf,GACvC,GAAiC,iBAAtBqiB,IAAmC5X,EAC5C,OAGF,MAAOiO,EAAazB,EAAU7oB,GAAa8mC,EAAoB7S,EAAmBxhC,EAASmf,GACrFlN,EAAc1E,IAAci0B,EAC5BvhC,EAASg0C,EAAiBrqB,GAC1BtH,EAAoBriB,EAAOsN,IAAc,CAAC,EAC1C8V,EAAcme,EAAkB3uB,WAAW,KAEjD,QAAI,IAAOujB,EAAX,CAUA,GAAI/S,EACF,IAAK,MAAMrjB,KAAgBkF,OAAO/B,KAAKlD,GACrCie,EAAyB0L,EAAS3pB,EAAQD,EAAcwhC,EAAkBzuB,MAAM,IAIpF,IAAK,MAAO/S,EAAamf,KAAUja,OAAOysC,QAAQrvB,GAAoB,CACpE,MAAMuV,EAAa73B,EAAY8U,QAAQ0+B,EAAe,IAEjDvhC,IAAeuvB,EAAkBrwB,SAAS0mB,IAC7Cid,EAAclrB,EAAS3pB,EAAQsN,EAAW4R,EAAMg1B,SAAUh1B,EAAMi1B,mBAEpE,CAdA,KARA,CAEE,IAAKlvC,OAAO/B,KAAKmf,GAAmBpiB,OAClC,OAGF40C,EAAclrB,EAAS3pB,EAAQsN,EAAW6oB,EAAUyB,EAAc73B,EAAU,KAE9E,C,EAiBFU,OAAAA,CAAQkpB,EAAS4X,EAAOxhC,GACtB,GAAqB,iBAAVwhC,IAAuB5X,EAChC,OAAO,KAGT,MAAMzK,EAAI2S,IAIV,IAAI+F,EAAc,KACdzB,GAAA,EACA7oB,GAAA,EACA0E,GAAA,EALgBuvB,IADF8S,EAAa9S,IAQZriB,IACjB0Y,EAAc1Y,EAAE+yB,MAAM1Q,EAAOxhC,GAE7Bmf,EAAEyK,GAASlpB,QAAQm3B,GACnBzB,GAAWyB,EAAYmd,uBACvBznC,GAAkBsqB,EAAYod,gCAC9BhjC,EAAmB4lB,EAAYqd,sBAGjC,MAAMj1C,EAAM20C,EAAW,IAAI1C,MAAM1Q,EAAO,CAAE2T,QAAA/e,EAASgf,YAAA,IAAqBp1C,GAcxE,OAZIiS,GACFhS,EAAIo1C,iBAGF9nC,GACFqc,EAAQqoB,cAAchyC,GAGpBA,EAAIq1C,kBAAoBzd,GAC1BA,EAAYwd,iBAGPp1C,CACT,GAGF,SAAS20C,EAAWhrB,EAAK4X,EAAO,CAAC,GAC/B,IAAK,MAAOxhC,EAAKmf,KAAUja,OAAOysC,QAAQnQ,GACxC,IACE5X,EAAI5pB,GAAOmf,C,CACX,MAAAqiB,GACAt8B,OAAO+a,eAAe2J,EAAK5pB,EAAK,CAC9BwiB,cAAA,EACArgB,IAAGA,IACMgd,GAGb,CAGF,OAAOyK,CACT,CCnTA,SAASgK,EAAchK,GACrB,GAAc,SAAVA,EACF,OAAO,EAGT,GAAc,UAAVA,EACF,OAAO,EAGT,GAAIA,IAAUplB,OAAOolB,GAAO2e,WAC1B,OAAO/jC,OAAOolB,GAGhB,GAAc,KAAVA,GAA0B,SAAVA,EAClB,OAAO,KAGT,GAAqB,iBAAVA,EACT,OAAOA,EAGT,IACE,OAAO2nB,KAAKgE,MAAMC,mBAAmB5rB,G,CACrC,MAAA4X,GACA,OAAO5X,CACT,CACF,CAEA,SAAS6rB,EAAiB7rB,GACxB,OAAOA,EAAI9U,QAAQ,UAAU8U,GAAQ,IAAGA,EAAI7U,iBAC9C,CAEA,MAAM2gC,EAAc,CAClBC,gBAAAA,CAAiB/rB,EAAS4X,EAAKxhC,GAC7B4pB,EAAQuZ,aAAc,WAAUsS,EAAiBjU,KAAQxhC,E,EAG3D41C,mBAAAA,CAAoBhsB,EAAS4X,GAC3B5X,EAAQqf,gBAAiB,WAAUwM,EAAiBjU,K,EAGtDqU,iBAAAA,CAAkBjsB,GAChB,IAAKA,EACH,MAAO,CAAC,EAGV,MAAM4X,EAAa,CAAC,EACdxhC,EAASkF,OAAO/B,KAAKymB,EAAQksB,SAAS1wC,QAAOwkB,GAAOA,EAAI/W,WAAW,QAAU+W,EAAI/W,WAAW,cAElG,IAAK,MAAMsM,KAAOnf,EAAQ,CACxB,IAAIA,EAAUmf,EAAIrK,QAAQ,MAAO,IACjC9U,EAAUA,EAAQ0vC,OAAO,GAAG36B,cAAgB/U,EAAQ+S,MAAM,EAAG/S,EAAQE,QACrEshC,EAAWxhC,GAAW4zB,EAAchK,EAAQksB,QAAQ32B,GACtD,CAEA,OAAOqiB,C,EAGTuU,iBAAgBA,CAACnsB,EAAS4X,IACjB5N,EAAchK,EAAQqhB,aAAc,WAAUwK,EAAiBjU,QCpD1E,MAAMwU,EAEJ,kBAAAC,GACE,MAAO,CAAC,CACV,CAEA,sBAAAC,GACE,MAAO,CAAC,CACV,CAEA,eAAAjD,GACE,MAAM,IAAIkD,MAAM,sEAClB,CAEAC,UAAAA,CAAWxsB,GAIT,OAHAA,EAAS5qB,KAAKq3C,gBAAgBzsB,GAC9BA,EAAS5qB,KAAKs3C,kBAAkB1sB,GAChC5qB,KAAKu3C,iBAAiB3sB,GACfA,CACT,CAEA0sB,iBAAAA,CAAkB1sB,GAChB,OAAOA,CACT,CAEAysB,eAAAA,CAAgBzsB,EAAQ4X,GACtB,MAAMxhC,EAAao2B,EAAUoL,GAAWkU,EAAYK,iBAAiBvU,EAAS,UAAY,CAAC,EAE3F,MAAO,IACFxiC,KAAKF,YAAYm3C,WACM,iBAAfj2C,EAA0BA,EAAa,CAAC,KAC/Co2B,EAAUoL,GAAWkU,EAAYG,kBAAkBrU,GAAW,CAAC,KAC7C,iBAAX5X,EAAsBA,EAAS,CAAC,EAE/C,CAEA2sB,gBAAAA,CAAiB3sB,EAAQ4X,EAAcxiC,KAAKF,YAAYo3C,aACtD,IAAK,MAAO/2B,EAAU0Y,KAAkB3yB,OAAOysC,QAAQnQ,GAAc,CACnE,MAAMA,EAAQ5X,EAAOzK,GACf5R,EAAY6oB,EAAUoL,GAAS,UH1BrC,OADSxhC,EG2B+CwhC,GHzBlD,GAAExhC,IAGLkF,OAAOwzB,UAAU6P,SAAS7/B,KAAK1I,GAAQ6rC,MAAM,eAAe,GAAG92B,cGwBlE,IAAK,IAAI8jB,OAAOhB,GAAeoB,KAAK1rB,GAClC,MAAM,IAAIipC,UACP,GAAEx3C,KAAKF,YAAYm0C,KAAKzD,0BAA0BrwB,qBAA4B5R,yBAAiCsqB,MAGtH,CHlCW,IAAA73B,CGmCb,ECvCF,MAAMy2C,UAAsBT,EAC1Bl3C,WAAAA,CAAY8qB,EAAS5pB,GACnBqH,SAEAuiB,EAAUrc,EAAWqc,MAKrB5qB,KAAK03C,SAAW9sB,EAChB5qB,KAAK23C,QAAU33C,KAAKo3C,WAAWp2C,GAE/BwhC,EAAKz+B,IAAI/D,KAAK03C,SAAU13C,KAAKF,YAAY83C,SAAU53C,MACrD,CAGA63C,OAAAA,GACErV,EAAKnW,OAAOrsB,KAAK03C,SAAU13C,KAAKF,YAAY83C,UAC5C/B,EAAah1C,IAAIb,KAAK03C,SAAU13C,KAAKF,YAAYg4C,WAEjD,IAAK,MAAMltB,KAAgB1kB,OAAOC,oBAAoBnG,MACpDA,KAAK4qB,GAAgB,IAEzB,CAEAmtB,cAAAA,CAAentB,EAAU4X,EAASxhC,GAAA,GAChCwd,EAAuBoM,EAAU4X,EAASxhC,EAC5C,CAEAo2C,UAAAA,CAAWxsB,GAIT,OAHAA,EAAS5qB,KAAKq3C,gBAAgBzsB,EAAQ5qB,KAAK03C,UAC3C9sB,EAAS5qB,KAAKs3C,kBAAkB1sB,GAChC5qB,KAAKu3C,iBAAiB3sB,GACfA,CACT,CAGA,kBAAAotB,CAAmBptB,GACjB,OAAO4X,EAAKr/B,IAAIoL,EAAWqc,GAAU5qB,KAAK43C,SAC5C,CAEA,0BAAAK,CAA2BrtB,EAAS4X,EAAS,CAAC,GAC5C,OAAOxiC,KAAKg4C,YAAYptB,IAAY,IAAI5qB,KAAK4qB,EAA2B,iBAAX4X,EAAsBA,EAAS,KAC9F,CAEA,kBAAA0V,GACE,MApDY,OAqDd,CAEA,mBAAAN,GACE,MAAQ,MAAK53C,KAAKi0C,MACpB,CAEA,oBAAA6D,GACE,MAAQ,IAAG93C,KAAK43C,UAClB,CAEA,gBAAAO,CAAiBvtB,GACf,MAAQ,GAAEA,IAAO5qB,KAAK83C,WACxB,ECxEF,MAAMM,EAAcxtB,IAClB,IAAI4X,EAAW5X,EAAQqhB,aAAa,kBAEpC,IAAKzJ,GAAyB,MAAbA,EAAkB,CACjC,IAAIxhC,EAAgB4pB,EAAQqhB,aAAa,QAMzC,IAAKjrC,IAAmBA,EAAcmR,SAAS,OAASnR,EAAc6S,WAAW,KAC/E,OAAO,KAIL7S,EAAcmR,SAAS,OAASnR,EAAc6S,WAAW,OAC3D7S,EAAiB,IAAGA,EAAcq4B,MAAM,KAAK,MAG/CmJ,EAAWxhC,GAAmC,MAAlBA,EAAwBA,EAAckT,OAAS,IAC7E,CAEA,OAAOsuB,EAAWA,EAASnJ,MAAM,KAAKhzB,KAAIukB,GAAOzK,EAAcyK,KAAMof,KAAK,KAAO,IAAI,EAGjFqO,EAAiB,CACrBnD,KAAIA,CAACtqB,EAAU4X,EAAUmB,SAASiQ,kBACzB,GAAGp7B,UAAUs2B,QAAQpV,UAAUic,iBAAiBjsC,KAAK84B,EAAS5X,IAGvE0tB,QAAOA,CAAC1tB,EAAU4X,EAAUmB,SAASiQ,kBAC5B9E,QAAQpV,UAAU8K,cAAc96B,KAAK84B,EAAS5X,GAGvD7R,SAAQA,CAAC6R,EAAS4X,IACT,GAAGhqB,UAAUoS,EAAQ7R,UAAU3S,QAAOwkB,GAASA,EAAMkP,QAAQ0I,KAGtE+V,OAAAA,CAAQ3tB,EAAS4X,GACf,MAAMxhC,EAAU,GAChB,IAAImf,EAAWyK,EAAQkD,WAAWwlB,QAAQ9Q,GAE1C,KAAOriB,GACLnf,EAAQT,KAAK4f,GACbA,EAAWA,EAAS2N,WAAWwlB,QAAQ9Q,GAGzC,OAAOxhC,C,EAGTmV,IAAAA,CAAKyU,EAAS4X,GACZ,IAAIxhC,EAAW4pB,EAAQ4tB,uBAEvB,KAAOx3C,GAAU,CACf,GAAIA,EAAS84B,QAAQ0I,GACnB,MAAO,CAACxhC,GAGVA,EAAWA,EAASw3C,sBACtB,CAEA,MAAO,E,EAGT5tC,IAAAA,CAAKggB,EAAS4X,GACZ,IAAIxhC,EAAO4pB,EAAQ6tB,mBAEnB,KAAOz3C,GAAM,CACX,GAAIA,EAAK84B,QAAQ0I,GACf,MAAO,CAACxhC,GAGVA,EAAOA,EAAKy3C,kBACd,CAEA,MAAO,E,EAGTC,iBAAAA,CAAkB9tB,GAChB,MAAM4X,EAAa,CACjB,IACA,SACA,QACA,WACA,SACA,UACA,aACA,4BACAn8B,KAAIukB,GAAa,GAAEA,2BAAiCof,KAAK,KAE3D,OAAOhqC,KAAKk1C,KAAK1S,EAAY5X,GAASxkB,QAAOwkB,IAAO3pB,EAAW2pB,IAAO3X,EAAU2X,I,EAGlF+tB,sBAAAA,CAAuB/tB,GACrB,MAAM4X,EAAW4V,EAAYxtB,GAE7B,OAAI4X,GACK6V,EAAeC,QAAQ9V,GAAYA,EAGrC,I,EAGToW,sBAAAA,CAAuBhuB,GACrB,MAAM4X,EAAW4V,EAAYxtB,GAE7B,OAAO4X,EAAW6V,EAAeC,QAAQ9V,GAAY,I,EAGvDqW,+BAAAA,CAAgCjuB,GAC9B,MAAM4X,EAAW4V,EAAYxtB,GAE7B,OAAO4X,EAAW6V,EAAenD,KAAK1S,GAAY,EACpD,GC/GIsW,EAAuBA,CAACluB,EAAW4X,EAAS,UAChD,MAAMxhC,EAAc,gBAAe4pB,EAAUktB,YACvC33B,EAAOyK,EAAUqpB,KAEvB4B,EAAaj1C,GAAG+iC,SAAU3iC,EAAa,qBAAoBmf,OAAU,SAAUnf,GAK7E,GAJI,CAAC,IAAK,QAAQmR,SAASnS,KAAKgsC,UAC9BhrC,EAAMq1C,iBAGJp1C,EAAWjB,MACb,OAGF,MAAM64B,EAASwf,EAAeO,uBAAuB54C,OAASA,KAAKszC,QAAS,IAAGnzB,KAC9DyK,EAAUqtB,oBAAoBpf,GAGtC2J,IACX,GAAE,ECXEuW,EAAa,YAEbC,EAAe,QAAOD,IACtBE,EAAgB,SAAQF,IAQ9B,MAAMG,UAAczB,EAElB,eAAAxD,GACE,MAhBS,OAiBX,CAGAkF,KAAAA,GAGE,GAFmBtD,EAAan0C,QAAQ1B,KAAK03C,SAAUsB,GAExC1C,iBACb,OAGFt2C,KAAK03C,SAASjQ,UAAUpb,OApBJ,QAsBpB,MAAMzB,EAAa5qB,KAAK03C,SAASjQ,UAAUgM,SAvBvB,QAwBpBzzC,KAAK+3C,gBAAe,IAAM/3C,KAAKo5C,mBAAmBp5C,KAAK03C,SAAU9sB,EACnE,CAGAwuB,eAAAA,GACEp5C,KAAK03C,SAASrrB,SACdwpB,EAAan0C,QAAQ1B,KAAK03C,SAAUuB,GACpCj5C,KAAK63C,SACP,CAGA,sBAAA3D,CAAuBtpB,GACrB,OAAO5qB,KAAKq5C,MAAK,WACf,MAAM7W,EAAO0W,EAAMjB,oBAAoBj4C,MAEvC,GAAsB,iBAAX4qB,EAAX,CAIA,QAAI,IAAA4X,EAAK5X,IAAyBA,EAAO/W,WAAW,MAAmB,gBAAX+W,EAC1D,MAAM,IAAI4sB,UAAW,oBAAmB5sB,MAG1C4X,EAAK5X,GAAQ5qB,KANb,CAOF,GACF,EAOF84C,EAAqBI,EAAO,SAM5Br0B,EAAmBq0B,GCrEnB,MAMMI,EAAuB,4BAO7B,MAAMC,UAAe9B,EAEnB,eAAAxD,GACE,MAhBS,QAiBX,CAGAuF,MAAAA,GAEEx5C,KAAK03C,SAASvT,aAAa,eAAgBnkC,KAAK03C,SAASjQ,UAAU+R,OAjB7C,UAkBxB,CAGA,sBAAAtF,CAAuBtpB,GACrB,OAAO5qB,KAAKq5C,MAAK,WACf,MAAM7W,EAAO+W,EAAOtB,oBAAoBj4C,MAEzB,WAAX4qB,GACF4X,EAAK5X,IAET,GACF,EAOFirB,EAAaj1C,GAAG+iC,SAlCc,2BAkCkB2V,GAAsB1uB,IACpEA,EAAMyrB,iBAEN,MAAM7T,EAAS5X,EAAM9lB,OAAOwuC,QAAQgG,GACvBC,EAAOtB,oBAAoBzV,GAEnCgX,QAAQ,IAOf30B,EAAmB00B,GCtDnB,MACME,EAAY,YACZC,EAAoB,aAAYD,IAChCE,EAAmB,YAAWF,IAC9BG,EAAkB,WAAUH,IAC5BI,GAAqB,cAAaJ,IAClCK,GAAmB,YAAWL,IAM9BM,GAAU,CACdC,YAAa,KACbC,aAAc,KACdC,cAAe,MAGXC,GAAc,CAClBH,YAAa,kBACbC,aAAc,kBACdC,cAAe,mBAOjB,MAAME,WAAcpD,EAClBl3C,WAAAA,CAAY8qB,EAAS4X,GACnBn6B,QACArI,KAAK03C,SAAW9sB,EAEXA,GAAYwvB,GAAMC,gBAIvBr6C,KAAK23C,QAAU33C,KAAKo3C,WAAW5U,GAC/BxiC,KAAKs6C,QAAU,EACft6C,KAAKu6C,sBAAwBlwB,QAAQse,OAAO6R,cAC5Cx6C,KAAKy6C,cACP,CAGA,kBAAAxD,GACE,OAAO8C,EACT,CAEA,sBAAA7C,GACE,OAAOiD,EACT,CAEA,eAAAlG,GACE,MArDS,OAsDX,CAGA4D,OAAAA,GACEhC,EAAah1C,IAAIb,KAAK03C,SAAU+B,EAClC,CAGAiB,MAAAA,CAAO9vB,GACA5qB,KAAKu6C,sBAMNv6C,KAAK26C,wBAAwB/vB,KAC/B5qB,KAAKs6C,QAAU1vB,EAAMgwB,SANrB56C,KAAKs6C,QAAU1vB,EAAMiwB,QAAQ,GAAGD,OAQpC,CAEAE,IAAAA,CAAKlwB,GACC5qB,KAAK26C,wBAAwB/vB,KAC/B5qB,KAAKs6C,QAAU1vB,EAAMgwB,QAAU56C,KAAKs6C,SAGtCt6C,KAAK+6C,eACLlZ,EAAQ7hC,KAAK23C,QAAQqC,YACvB,CAEAgB,KAAAA,CAAMpwB,GACJ5qB,KAAKs6C,QAAU1vB,EAAMiwB,SAAWjwB,EAAMiwB,QAAQ35C,OAAS,EACrD,EACA0pB,EAAMiwB,QAAQ,GAAGD,QAAU56C,KAAKs6C,OACpC,CAEAS,YAAAA,GACE,MAAMnwB,EAAYqJ,KAAKgnB,IAAIj7C,KAAKs6C,SAEhC,GAAI1vB,GAlFgB,GAmFlB,OAGF,MAAM4X,EAAY5X,EAAY5qB,KAAKs6C,QAEnCt6C,KAAKs6C,QAAU,EAEV9X,GAILX,EAAQW,EAAY,EAAIxiC,KAAK23C,QAAQuC,cAAgBl6C,KAAK23C,QAAQsC,aACpE,CAEAQ,WAAAA,GACMz6C,KAAKu6C,uBACP1E,EAAaj1C,GAAGZ,KAAK03C,SAAUmC,IAAmBjvB,GAAS5qB,KAAK06C,OAAO9vB,KACvEirB,EAAaj1C,GAAGZ,KAAK03C,SAAUoC,IAAiBlvB,GAAS5qB,KAAK86C,KAAKlwB,KAEnE5qB,KAAK03C,SAASjQ,UAAU99B,IAvGG,mBAyG3BksC,EAAaj1C,GAAGZ,KAAK03C,SAAUgC,GAAkB9uB,GAAS5qB,KAAK06C,OAAO9vB,KACtEirB,EAAaj1C,GAAGZ,KAAK03C,SAAUiC,GAAiB/uB,GAAS5qB,KAAKg7C,MAAMpwB,KACpEirB,EAAaj1C,GAAGZ,KAAK03C,SAAUkC,GAAgBhvB,GAAS5qB,KAAK86C,KAAKlwB,KAEtE,CAEA+vB,uBAAAA,CAAwB/vB,GACtB,OAAO5qB,KAAKu6C,wBAjHS,QAiHiB3vB,EAAMswB,aAlHrB,UAkHyDtwB,EAAMswB,YACxF,CAGA,kBAAAb,GACE,MAAO,iBAAkB1W,SAASiQ,iBAAmBuH,UAAUC,eAAiB,CAClF,ECrHF,MAEMC,GAAa,eACbC,GAAe,YAMfC,GAAa,OACbC,GAAa,OACbC,GAAiB,OACjBC,GAAkB,QAElBC,GAAe,QAAON,KACtBO,GAAc,OAAMP,KACpBQ,GAAiB,UAASR,KAC1BS,GAAoB,aAAYT,KAChCrkB,GAAoB,aAAYqkB,KAChCU,GAAoB,YAAWV,KAC/BW,GAAuB,OAAMX,KAAYC,KACzCW,GAAwB,QAAOZ,KAAYC,KAE3CY,GAAsB,WACtBC,GAAoB,SAOpBC,GAAkB,UAClBC,GAAgB,iBAChBC,GAAuBF,GAAkBC,GAMzCE,GAAmB,CACvBC,UAAkBd,GAClBe,WAAmBhB,IAGfiB,GAAU,CACdC,SAAU,IACVC,UAAA,EACAC,MAAO,QACPC,MAAA,EACAC,OAAA,EACAxzC,MAAA,GAGIyzC,GAAc,CAClBL,SAAU,mBACVC,SAAU,UACVC,MAAO,mBACPC,KAAM,mBACNC,MAAO,UACPxzC,KAAM,WAOR,MAAM0zC,WAAiBxF,EACrB33C,WAAAA,CAAY8qB,EAAS4X,GACnBn6B,MAAMuiB,EAAS4X,GAEfxiC,KAAKk9C,UAAY,KACjBl9C,KAAKm9C,eAAiB,KACtBn9C,KAAKo9C,YAAA,EACLp9C,KAAKq9C,aAAe,KACpBr9C,KAAKs9C,aAAe,KAEpBt9C,KAAKu9C,mBAAqBlF,EAAeC,QAzCjB,uBAyC8Ct4C,KAAK03C,UAC3E13C,KAAKw9C,qBAEDx9C,KAAK23C,QAAQmF,OAASZ,IACxBl8C,KAAKy9C,OAET,CAGA,kBAAAxG,GACE,OAAOyF,EACT,CAEA,sBAAAxF,GACE,OAAO8F,EACT,CAEA,eAAA/I,GACE,MA9FS,UA+FX,CAGArpC,IAAAA,GACE5K,KAAK09C,OAAOnC,GACd,CAEAoC,eAAAA,IAIOha,SAASia,QAAU3qC,EAAUjT,KAAK03C,WACrC13C,KAAK4K,MAET,CAEAuL,IAAAA,GACEnW,KAAK09C,OAAOlC,GACd,CAEAqB,KAAAA,GACM78C,KAAKo9C,YACPvkB,EAAqB74B,KAAK03C,UAG5B13C,KAAK69C,gBACP,CAEAJ,KAAAA,GACEz9C,KAAK69C,iBACL79C,KAAK89C,kBAEL99C,KAAKk9C,UAAYa,aAAY,IAAM/9C,KAAK29C,mBAAmB39C,KAAK23C,QAAQgF,SAC1E,CAEAqB,iBAAAA,GACOh+C,KAAK23C,QAAQmF,OAId98C,KAAKo9C,WACPvH,EAAaE,IAAI/1C,KAAK03C,SAAUkE,IAAY,IAAM57C,KAAKy9C,UAIzDz9C,KAAKy9C,QACP,CAEA14B,EAAAA,CAAG6F,GACD,MAAM4X,EAAQxiC,KAAKi+C,YACnB,GAAIrzB,EAAQ4X,EAAMthC,OAAS,GAAK0pB,EAAQ,EACtC,OAGF,GAAI5qB,KAAKo9C,WAEP,YADAvH,EAAaE,IAAI/1C,KAAK03C,SAAUkE,IAAY,IAAM57C,KAAK+kB,GAAG6F,KAI5D,MAAM5pB,EAAchB,KAAKk+C,cAAcl+C,KAAKm+C,cAC5C,GAAIn9C,IAAgB4pB,EAClB,OAGF,MAAMzK,EAAQyK,EAAQ5pB,EAAcu6C,GAAaC,GAEjDx7C,KAAK09C,OAAOv9B,EAAOqiB,EAAM5X,GAC3B,CAEAitB,OAAAA,GACM73C,KAAKs9C,cACPt9C,KAAKs9C,aAAazF,UAGpBxvC,MAAMwvC,SACR,CAGAP,iBAAAA,CAAkB1sB,GAEhB,OADAA,EAAOwzB,gBAAkBxzB,EAAO+xB,SACzB/xB,CACT,CAEA4yB,kBAAAA,GACMx9C,KAAK23C,QAAQiF,UACf/G,EAAaj1C,GAAGZ,KAAK03C,SAAUmE,IAAejxB,GAAS5qB,KAAKq+C,SAASzzB,KAG5C,UAAvB5qB,KAAK23C,QAAQkF,QACfhH,EAAaj1C,GAAGZ,KAAK03C,SAAUoE,IAAkB,IAAM97C,KAAK68C,UAC5DhH,EAAaj1C,GAAGZ,KAAK03C,SAAU1gB,IAAkB,IAAMh3B,KAAKg+C,uBAG1Dh+C,KAAK23C,QAAQoF,OAAS3C,GAAMC,eAC9Br6C,KAAKs+C,yBAET,CAEAA,uBAAAA,GACE,IAAK,MAAM1zB,KAAOytB,EAAenD,KAhKX,qBAgKmCl1C,KAAK03C,UAC5D7B,EAAaj1C,GAAGgqB,EAAKmxB,IAAkBnxB,GAASA,EAAMyrB,mBAGxD,MAqBMzrB,EAAc,CAClBqvB,aAAcA,IAAMj6C,KAAK09C,OAAO19C,KAAKu+C,kBAAkB9C,KACvDvB,cAAeA,IAAMl6C,KAAK09C,OAAO19C,KAAKu+C,kBAAkB7C,KACxD1B,YAxBkBA,KACS,UAAvBh6C,KAAK23C,QAAQkF,QAYjB78C,KAAK68C,QACD78C,KAAKq9C,cACPmB,aAAax+C,KAAKq9C,cAGpBr9C,KAAKq9C,aAAepV,YAAW,IAAMjoC,KAAKg+C,qBAjNjB,IAiN+Dh+C,KAAK23C,QAAQgF,UAAS,GAShH38C,KAAKs9C,aAAe,IAAIlD,GAAMp6C,KAAK03C,SAAU9sB,EAC/C,CAEAyzB,QAAAA,CAASzzB,GACP,GAAI,kBAAkBqP,KAAKrP,EAAM9lB,OAAOknC,SACtC,OAGF,MAAMxJ,EAAY+Z,GAAiB3xB,EAAM5lB,KACrCw9B,IACF5X,EAAMyrB,iBACNr2C,KAAK09C,OAAO19C,KAAKu+C,kBAAkB/b,IAEvC,CAEA0b,aAAAA,CAActzB,GACZ,OAAO5qB,KAAKi+C,YAAYzrC,QAAQoY,EAClC,CAEA6zB,0BAAAA,CAA2B7zB,GACzB,IAAK5qB,KAAKu9C,mBACR,OAGF,MAAM/a,EAAkB6V,EAAeC,QAAQ8D,GAAiBp8C,KAAKu9C,oBAErE/a,EAAgBiF,UAAUpb,OAAO8vB,IACjC3Z,EAAgByH,gBAAgB,gBAEhC,MAAMjpC,EAAqBq3C,EAAeC,QAAS,sBAAqB1tB,MAAW5qB,KAAKu9C,oBAEpFv8C,IACFA,EAAmBymC,UAAU99B,IAAIwyC,IACjCn7C,EAAmBmjC,aAAa,eAAgB,QAEpD,CAEA2Z,eAAAA,GACE,MAAMlzB,EAAU5qB,KAAKm9C,gBAAkBn9C,KAAKm+C,aAE5C,IAAKvzB,EACH,OAGF,MAAM4X,EAAkBh9B,OAAO4qC,SAASxlB,EAAQqhB,aAAa,oBAAqB,IAElFjsC,KAAK23C,QAAQgF,SAAWna,GAAmBxiC,KAAK23C,QAAQyG,eAC1D,CAEAV,MAAAA,CAAO9yB,EAAO4X,EAAU,MACtB,GAAIxiC,KAAKo9C,WACP,OAGF,MAAMp8C,EAAgBhB,KAAKm+C,aACrBh+B,EAASyK,IAAU2wB,GACnB1iB,EAAc2J,GAAWtvB,EAAqBlT,KAAKi+C,YAAaj9C,EAAemf,EAAQngB,KAAK23C,QAAQpuC,MAE1G,GAAIsvB,IAAgB73B,EAClB,OAGF,MAAMo2B,EAAmBp3B,KAAKk+C,cAAcrlB,GAEtCtqB,EAAei0B,GACZqT,EAAan0C,QAAQ1B,KAAK03C,SAAUlV,EAAW,CACpDgT,cAAe3c,EACf6lB,UAAW1+C,KAAK2+C,kBAAkB/zB,GAClCnN,KAAMzd,KAAKk+C,cAAcl9C,GACzB+jB,GAAIqS,IAMR,GAFmB7oB,EAAaotC,IAEjBrF,iBACb,OAGF,IAAKt1C,IAAkB63B,EAGrB,OAGF,MAAM5lB,EAAYoX,QAAQrqB,KAAKk9C,WAC/Bl9C,KAAK68C,QAEL78C,KAAKo9C,YAAA,EAELp9C,KAAKy+C,2BAA2BrnB,GAChCp3B,KAAKm9C,eAAiBtkB,EAEtB,MAAM53B,EAAuBkf,EAnSR,sBADF,oBAqSbmD,EAAiBnD,EAnSH,qBACA,qBAoSpB0Y,EAAY4O,UAAU99B,IAAI2Z,GAE1BmmB,EAAO5Q,GAEP73B,EAAcymC,UAAU99B,IAAI1I,GAC5B43B,EAAY4O,UAAU99B,IAAI1I,GAa1BjB,KAAK+3C,gBAXoB,KACvBlf,EAAY4O,UAAUpb,OAAOprB,EAAsBqiB,GACnDuV,EAAY4O,UAAU99B,IAAIwyC,IAE1Bn7C,EAAcymC,UAAUpb,OAAO8vB,GAAmB74B,EAAgBriB,GAElEjB,KAAKo9C,YAAA,EAEL7uC,EAAaqtC,GAAW,GAGY56C,EAAehB,KAAK4+C,eAEtD3rC,GACFjT,KAAKy9C,OAET,CAEAmB,WAAAA,GACE,OAAO5+C,KAAK03C,SAASjQ,UAAUgM,SAlUV,QAmUvB,CAEA0K,UAAAA,GACE,OAAO9F,EAAeC,QAAQgE,GAAsBt8C,KAAK03C,SAC3D,CAEAuG,SAAAA,GACE,OAAO5F,EAAenD,KAAKmH,GAAer8C,KAAK03C,SACjD,CAEAmG,cAAAA,GACM79C,KAAKk9C,YACP2B,cAAc7+C,KAAKk9C,WACnBl9C,KAAKk9C,UAAY,KAErB,CAEAqB,iBAAAA,CAAkB3zB,GAChB,OAAIvZ,IACKuZ,IAAc6wB,GAAiBD,GAAaD,GAG9C3wB,IAAc6wB,GAAiBF,GAAaC,EACrD,CAEAmD,iBAAAA,CAAkB/zB,GAChB,OAAIvZ,IACKuZ,IAAU4wB,GAAaC,GAAiBC,GAG1C9wB,IAAU4wB,GAAaE,GAAkBD,EAClD,CAGA,sBAAAvH,CAAuBtpB,GACrB,OAAO5qB,KAAKq5C,MAAK,WACf,MAAM7W,EAAOya,GAAShF,oBAAoBj4C,KAAM4qB,GAEhD,GAAsB,iBAAXA,GAKX,GAAsB,iBAAXA,EAAqB,CAC9B,QAAI,IAAA4X,EAAK5X,IAAyBA,EAAO/W,WAAW,MAAmB,gBAAX+W,EAC1D,MAAM,IAAI4sB,UAAW,oBAAmB5sB,MAG1C4X,EAAK5X,IACP,OAVE4X,EAAKzd,GAAG6F,EAWZ,GACF,EAOFirB,EAAaj1C,GAAG+iC,SAAUsY,GAlXE,uCAkXyC,SAAUrxB,GAC7E,MAAM4X,EAAS6V,EAAeO,uBAAuB54C,MAErD,IAAKwiC,IAAWA,EAAOiF,UAAUgM,SAASyI,IACxC,OAGFtxB,EAAMyrB,iBAEN,MAAMr1C,EAAWi8C,GAAShF,oBAAoBzV,GACxCriB,EAAangB,KAAKisC,aAAa,oBAErC,OAAI9rB,GACFnf,EAAS+jB,GAAG5E,QACZnf,EAASg9C,qBAIyC,SAAhDtH,EAAYK,iBAAiB/2C,KAAM,UACrCgB,EAAS4J,YACT5J,EAASg9C,sBAIXh9C,EAASmV,YACTnV,EAASg9C,oBACX,IAEAnI,EAAaj1C,GAAG+nC,OAAQqT,IAAqB,KAC3C,MAAMpxB,EAAYytB,EAAenD,KA9YR,6BAgZzB,IAAK,MAAM1S,KAAY5X,EACrBqyB,GAAShF,oBAAoBzV,EAC/B,IAOF3d,EAAmBo4B,ICncnB,MAEM6B,GAAa,eAGbC,GAAc,OAAMD,KACpBE,GAAe,QAAOF,KACtBG,GAAc,OAAMH,KACpBI,GAAgB,SAAQJ,KACxBK,GAAwB,QAAOL,cAE/BM,GAAkB,OAClBC,GAAsB,WACtBC,GAAwB,aAExBC,GAA8B,WAAUF,OAAwBA,KAOhEG,GAAuB,8BAEvBC,GAAU,CACdr/C,OAAQ,KACRo5C,QAAA,GAGIkG,GAAc,CAClBt/C,OAAQ,iBACRo5C,OAAQ,WAOV,MAAMmG,WAAiBlI,EACrB33C,WAAAA,CAAY8qB,EAAS4X,GACnBn6B,MAAMuiB,EAAS4X,GAEfxiC,KAAK4/C,kBAAA,EACL5/C,KAAK6/C,cAAgB,GAErB,MAAM7+C,EAAaq3C,EAAenD,KAAKsK,IAEvC,IAAK,MAAM50B,KAAQ5pB,EAAY,CAC7B,MAAMwhC,EAAW6V,EAAeM,uBAAuB/tB,GACjD5pB,EAAgBq3C,EAAenD,KAAK1S,GACvCp8B,QAAOwkB,GAAgBA,IAAiB5qB,KAAK03C,WAE/B,OAAblV,GAAqBxhC,EAAcE,QACrClB,KAAK6/C,cAAct/C,KAAKqqB,EAE5B,CAEA5qB,KAAK8/C,sBAEA9/C,KAAK23C,QAAQv3C,QAChBJ,KAAK+/C,0BAA0B//C,KAAK6/C,cAAe7/C,KAAKggD,YAGtDhgD,KAAK23C,QAAQ6B,QACfx5C,KAAKw5C,QAET,CAGA,kBAAAvC,GACE,OAAOwI,EACT,CAEA,sBAAAvI,GACE,OAAOwI,EACT,CAEA,eAAAzL,GACE,MA9ES,UA+EX,CAGAuF,MAAAA,GACMx5C,KAAKggD,WACPhgD,KAAKigD,OAELjgD,KAAKkgD,MAET,CAEAA,IAAAA,GACE,GAAIlgD,KAAK4/C,kBAAoB5/C,KAAKggD,WAChC,OAGF,IAAIp1B,EAAiB,GASrB,GANI5qB,KAAK23C,QAAQv3C,SACfwqB,EAAiB5qB,KAAKmgD,uBA9EH,wCA+EhB/5C,QAAOwkB,GAAWA,IAAY5qB,KAAK03C,WACnCrxC,KAAIukB,GAAW+0B,GAAS1H,oBAAoBrtB,EAAS,CAAE4uB,QAAA,OAGxD5uB,EAAe1pB,QAAU0pB,EAAe,GAAGg1B,iBAC7C,OAIF,GADmB/J,EAAan0C,QAAQ1B,KAAK03C,SAAUqH,IACxCzI,iBACb,OAGF,IAAK,MAAM9T,KAAkB5X,EAC3B4X,EAAeyd,OAGjB,MAAMzd,EAAYxiC,KAAKogD,gBAEvBpgD,KAAK03C,SAASjQ,UAAUpb,OAAOgzB,IAC/Br/C,KAAK03C,SAASjQ,UAAU99B,IAAI21C,IAE5Bt/C,KAAK03C,SAASvmB,MAAMqR,GAAa,EAEjCxiC,KAAK+/C,0BAA0B//C,KAAK6/C,eAAA,GACpC7/C,KAAK4/C,kBAAA,EAEL,MAYM5+C,EAAc,SADSwhC,EAAU,GAAGgO,cAAgBhO,EAAUzuB,MAAM,KAG1E/T,KAAK+3C,gBAdY,KACf/3C,KAAK4/C,kBAAA,EAEL5/C,KAAK03C,SAASjQ,UAAUpb,OAAOizB,IAC/Bt/C,KAAK03C,SAASjQ,UAAU99B,IAAI01C,GAAqBD,IAEjDp/C,KAAK03C,SAASvmB,MAAMqR,GAAa,GAEjCqT,EAAan0C,QAAQ1B,KAAK03C,SAAUsH,GAAY,GAMpBh/C,KAAK03C,UAAA,GACnC13C,KAAK03C,SAASvmB,MAAMqR,GAAc,GAAExiC,KAAK03C,SAAS12C,MACpD,CAEAi/C,IAAAA,GACE,GAAIjgD,KAAK4/C,mBAAqB5/C,KAAKggD,WACjC,OAIF,GADmBnK,EAAan0C,QAAQ1B,KAAK03C,SAAUuH,IACxC3I,iBACb,OAGF,MAAM1rB,EAAY5qB,KAAKogD,gBAEvBpgD,KAAK03C,SAASvmB,MAAMvG,GAAc,GAAE5qB,KAAK03C,SAAS3I,wBAAwBnkB,OAE1E6e,EAAOzpC,KAAK03C,UAEZ13C,KAAK03C,SAASjQ,UAAU99B,IAAI21C,IAC5Bt/C,KAAK03C,SAASjQ,UAAUpb,OAAOgzB,GAAqBD,IAEpD,IAAK,MAAMx0B,KAAW5qB,KAAK6/C,cAAe,CACxC,MAAMrd,EAAU6V,EAAeO,uBAAuBhuB,GAElD4X,IAAYxiC,KAAKggD,SAASxd,IAC5BxiC,KAAK+/C,0BAA0B,CAACn1B,IAAA,EAEpC,CAEA5qB,KAAK4/C,kBAAA,EASL5/C,KAAK03C,SAASvmB,MAAMvG,GAAa,GAEjC5qB,KAAK+3C,gBATY,KACf/3C,KAAK4/C,kBAAA,EACL5/C,KAAK03C,SAASjQ,UAAUpb,OAAOizB,IAC/Bt/C,KAAK03C,SAASjQ,UAAU99B,IAAI01C,IAC5BxJ,EAAan0C,QAAQ1B,KAAK03C,SAAUwH,GAAa,GAKrBl/C,KAAK03C,UAAA,EACrC,CAEAsI,QAAAA,CAASp1B,EAAU5qB,KAAK03C,UACtB,OAAO9sB,EAAQ6c,UAAUgM,SAAS2L,GACpC,CAGA9H,iBAAAA,CAAkB1sB,GAGhB,OAFAA,EAAO4uB,OAASnvB,QAAQO,EAAO4uB,QAC/B5uB,EAAOxqB,OAASmO,EAAWqc,EAAOxqB,QAC3BwqB,CACT,CAEAw1B,aAAAA,GACE,OAAOpgD,KAAK03C,SAASjQ,UAAUgM,SAtLL,uBAEhB,QACC,QAoLb,CAEAqM,mBAAAA,GACE,IAAK9/C,KAAK23C,QAAQv3C,OAChB,OAGF,MAAMwqB,EAAW5qB,KAAKmgD,uBAAuBX,IAE7C,IAAK,MAAMhd,KAAW5X,EAAU,CAC9B,MAAMA,EAAWytB,EAAeO,uBAAuBpW,GAEnD5X,GACF5qB,KAAK+/C,0BAA0B,CAACvd,GAAUxiC,KAAKggD,SAASp1B,GAE5D,CACF,CAEAu1B,sBAAAA,CAAuBv1B,GACrB,MAAM4X,EAAW6V,EAAenD,KAAKqK,GAA4Bv/C,KAAK23C,QAAQv3C,QAE9E,OAAOi4C,EAAenD,KAAKtqB,EAAU5qB,KAAK23C,QAAQv3C,QAAQgG,QAAOwkB,IAAY4X,EAASrwB,SAASyY,IACjG,CAEAm1B,yBAAAA,CAA0Bn1B,EAAc4X,GACtC,GAAK5X,EAAa1pB,OAIlB,IAAK,MAAMF,KAAW4pB,EACpB5pB,EAAQymC,UAAU+R,OAvNK,aAuNyBhX,GAChDxhC,EAAQmjC,aAAa,gBAAiB3B,EAE1C,CAGA,sBAAA0R,CAAuBtpB,GACrB,MAAM4X,EAAU,CAAC,EAKjB,MAJsB,iBAAX5X,GAAuB,YAAYqP,KAAKrP,KACjD4X,EAAQgX,QAAA,GAGHx5C,KAAKq5C,MAAK,WACf,MAAMr4C,EAAO2+C,GAAS1H,oBAAoBj4C,KAAMwiC,GAEhD,GAAsB,iBAAX5X,EAAqB,CAC9B,QAAI,IAAO5pB,EAAK4pB,GACd,MAAM,IAAI4sB,UAAW,oBAAmB5sB,MAG1C5pB,EAAK4pB,IACP,CACF,GACF,EAOFirB,EAAaj1C,GAAG+iC,SAAUwb,GAAsBK,IAAsB,SAAU50B,IAEjD,MAAzBA,EAAM9lB,OAAOknC,SAAoBphB,EAAM6qB,gBAAmD,MAAjC7qB,EAAM6qB,eAAezJ,UAChFphB,EAAMyrB,iBAGR,IAAK,MAAMzrB,KAAWytB,EAAeQ,gCAAgC74C,MACnE2/C,GAAS1H,oBAAoBrtB,EAAS,CAAE4uB,QAAA,IAAiBA,QAE7D,IAMA30B,EAAmB86B,ICtSZ,IAAIU,GAAM,MACNC,GAAS,SACTC,GAAQ,QACRC,GAAO,OACPC,GAAO,OACPC,GAAiB,CAACL,GAAKC,GAAQC,GAAOC,IACtCG,GAAQ,QACRC,GAAM,MACNC,GAAkB,kBAClBC,GAAW,WACXC,GAAS,SACTC,GAAY,YACZC,GAAmCP,GAAet/B,QAAO,SAAUwJ,EAAK4X,GACjF,OAAO5X,EAAIpS,OAAO,CAACgqB,EAAY,IAAMme,GAAOne,EAAY,IAAMoe,IAChE,GAAG,IACQM,GAA0B,GAAG1oC,OAAOkoC,GAAgB,CAACD,KAAOr/B,QAAO,SAAUwJ,EAAK4X,GAC3F,OAAO5X,EAAIpS,OAAO,CAACgqB,EAAWA,EAAY,IAAMme,GAAOne,EAAY,IAAMoe,IAC3E,GAAG,IAEQO,GAAa,aACbC,GAAO,OACPC,GAAY,YAEZC,GAAa,aACbC,GAAO,OACPC,GAAY,YAEZC,GAAc,cACdlhB,GAAQ,QACRmhB,GAAa,aACbC,GAAiB,CAACR,GAAYC,GAAMC,GAAWC,GAAYC,GAAMC,GAAWC,GAAalhB,GAAOmhB,IC9B5F,SAASE,GAAYh3B,GAClC,OAAOA,GAAWA,EAAQi3B,UAAY,IAAI9rC,cAAgB,IAC5D,CCFe,SAAS+rC,GAAUl3B,GAChC,GAAY,MAARA,EACF,OAAO+d,OAGT,GAAwB,oBAApB/d,EAAK2e,WAAkC,CACzC,IAAI/G,EAAgB5X,EAAKm3B,cACzB,OAAOvf,GAAgBA,EAAcwf,aAAwBrZ,MACjE,CAEE,OAAO/d,CACT,CCTA,SAASq3B,GAAUr3B,GAEjB,OAAOA,aADUk3B,GAAUl3B,GAAMkkB,SACIlkB,aAAgBkkB,OACvD,CAEA,SAASoT,GAAct3B,GAErB,OAAOA,aADUk3B,GAAUl3B,GAAMkjB,aACIljB,aAAgBkjB,WACvD,CAEA,SAASqU,GAAav3B,GAEpB,MAA0B,oBAAfmpB,aAKJnpB,aADUk3B,GAAUl3B,GAAMmpB,YACInpB,aAAgBmpB,WACvD,CCwDA,MAAAqO,GAAe,CACbnoC,KAAM,cACNooC,SAAA,EACAC,MAAO,QACP5hD,GA5EF,SAAqBkqB,GACnB,IAAI4X,EAAQ5X,EAAKrK,MACjBra,OAAO/B,KAAKq+B,EAAM+f,UAAU98C,SAAQ,SAAUmlB,GAC5C,IAAI5pB,EAAQwhC,EAAMkG,OAAO9d,IAAS,CAAC,EAC/BzK,EAAaqiB,EAAMggB,WAAW53B,IAAS,CAAC,EACxCiO,EAAU2J,EAAM+f,SAAS33B,GAExBs3B,GAAcrpB,IAAa+oB,GAAY/oB,KAO5C3yB,OAAO8pC,OAAOnX,EAAQ1H,MAAOnwB,GAC7BkF,OAAO/B,KAAKgc,GAAY1a,SAAQ,SAAUmlB,GACxC,IAAI4X,EAAQriB,EAAWyK,IAAA,IAEnB4X,EACF3J,EAAQoR,gBAAgBrf,GAExBiO,EAAQsL,aAAavZ,GAAA,IAAM4X,EAAiB,GAAKA,EAEzD,IACA,GACA,EAoDElhC,OAlDF,SAAgBspB,GACd,IAAI4X,EAAQ5X,EAAMrK,MACdvf,EAAgB,CAClByhD,OAAQ,CACNC,SAAUlgB,EAAM5sB,QAAQ+sC,SACxBxT,KAAM,IACNE,IAAK,IACLuT,OAAQ,KAEVC,MAAO,CACLH,SAAU,YAEZI,UAAW,CAAC,GASd,OAPA58C,OAAO8pC,OAAOxN,EAAM+f,SAASE,OAAOtxB,MAAOnwB,EAAcyhD,QACzDjgB,EAAMkG,OAAS1nC,EAEXwhC,EAAM+f,SAASM,OACjB38C,OAAO8pC,OAAOxN,EAAM+f,SAASM,MAAM1xB,MAAOnwB,EAAc6hD,OAGnD,WACL38C,OAAO/B,KAAKq+B,EAAM+f,UAAU98C,SAAQ,SAAUmlB,GAC5C,IAAIzK,EAAUqiB,EAAM+f,SAAS33B,GACzBiO,EAAa2J,EAAMggB,WAAW53B,IAAS,CAAC,EAGxCwM,EAFkBlxB,OAAO/B,KAAKq+B,EAAMkG,OAAO5hC,eAAe8jB,GAAQ4X,EAAMkG,OAAO9d,GAAQ5pB,EAAc4pB,IAE7ExJ,QAAO,SAAUwJ,EAAO4X,GAElD,OADA5X,EAAM4X,GAAY,GACX5X,CACf,GAAS,CAAC,GAECs3B,GAAc/hC,IAAayhC,GAAYzhC,KAI5Cja,OAAO8pC,OAAO7vB,EAAQgR,MAAOiG,GAC7BlxB,OAAO/B,KAAK00B,GAAYpzB,SAAQ,SAAUmlB,GACxCzK,EAAQ8pB,gBAAgBrf,EAChC,IACA,GACA,CACA,EASEm4B,SAAU,CAAC,kBCjFE,SAASC,GAAiBp4B,GACvC,OAAOA,EAAUyO,MAAM,KAAK,EAC9B,CCHO,IAAI4pB,GAAMhvB,KAAKoV,IACX6Z,GAAMjvB,KAAKC,IACXivB,GAAQlvB,KAAKmvB,MCFT,SAASC,KACtB,IAAIz4B,EAASuwB,UAAUmI,cAEvB,OAAc,MAAV14B,GAAkBA,EAAO24B,QAAU/lC,MAAMlY,QAAQslB,EAAO24B,QACnD34B,EAAO24B,OAAOl9C,KAAI,SAAUukB,GACjC,OAAOA,EAAK44B,MAAQ,IAAM54B,EAAK3D,OACrC,IAAO+iB,KAAK,KAGHmR,UAAUsI,SACnB,CCTe,SAASC,KACtB,OAAQ,iCAAiCzpB,KAAKopB,KAChD,CCCe,SAASM,GAAsB/4B,EAAS4X,EAAcxhC,QAAA,IAC/DwhC,IACFA,GAAA,QAAe,IAGbxhC,IACFA,GAAA,GAGF,IAAImf,EAAayK,EAAQmkB,wBACrBlW,EAAS,EACTzB,EAAS,EAEToL,GAAgB0f,GAAct3B,KAChCiO,EAASjO,EAAQg5B,YAAc,GAAIT,GAAMhjC,EAAW0jC,OAASj5B,EAAQg5B,aAAmB,EACxFxsB,EAASxM,EAAQgf,aAAe,GAAIuZ,GAAMhjC,EAAW2jC,QAAUl5B,EAAQgf,cAAoB,GAG7F,IACIr7B,GADO0zC,GAAUr3B,GAAWk3B,GAAUl3B,GAAW+d,QAC3Bob,eAEtB9wC,GAAoBywC,MAAsB1iD,EAC1CC,GAAKkf,EAAWgvB,MAAQl8B,GAAoB1E,EAAiBA,EAAey1C,WAAa,IAAMnrB,EAC/FvV,GAAKnD,EAAWkvB,KAAOp8B,GAAoB1E,EAAiBA,EAAe01C,UAAY,IAAM7sB,EAC7F/S,EAAQlE,EAAW0jC,MAAQhrB,EAC3B4Q,EAAStpB,EAAW2jC,OAAS1sB,EACjC,MAAO,CACLysB,MAAOx/B,EACPy/B,OAAQra,EACR4F,IAAK/rB,EACL4gC,MAAOjjD,EAAIojB,EACX8/B,OAAQ7gC,EAAImmB,EACZ0F,KAAMluC,EACNg0C,EAAGh0C,EACHszC,EAAGjxB,EAEP,CCrCe,SAAS8gC,GAAcx5B,GACpC,IAAI4X,EAAamhB,GAAsB/4B,GAGnC5pB,EAAQ4pB,EAAQg5B,YAChBzjC,EAASyK,EAAQgf,aAUrB,OARI3V,KAAKgnB,IAAIzY,EAAWqhB,MAAQ7iD,IAAU,IACxCA,EAAQwhC,EAAWqhB,OAGjB5vB,KAAKgnB,IAAIzY,EAAWshB,OAAS3jC,IAAW,IAC1CA,EAASqiB,EAAWshB,QAGf,CACL7O,EAAGrqB,EAAQo5B,WACXzP,EAAG3pB,EAAQq5B,UACXJ,MAAO7iD,EACP8iD,OAAQ3jC,EAEZ,CCvBe,SAASkkC,GAASz5B,EAAQ4X,GACvC,IAAIxhC,EAAWwhC,EAAMsR,aAAetR,EAAMsR,cAE1C,GAAIlpB,EAAO6oB,SAASjR,GAClB,OAAO,EAEJ,GAAIxhC,GAAYmhD,GAAanhD,GAAW,CACzC,IAAImf,EAAOqiB,EAEX,EAAG,CACD,GAAIriB,GAAQyK,EAAO05B,WAAWnkC,GAC5B,OAAO,EAITA,EAAOA,EAAK2N,YAAc3N,EAAKokC,IACvC,OAAepkC,EACf,CAGE,OAAO,CACT,CCrBe,SAASqkC,GAAiB55B,GACvC,OAAOk3B,GAAUl3B,GAASge,iBAAiBhe,EAC7C,CCFe,SAAS65B,GAAe75B,GACrC,MAAO,CAAC,QAAS,KAAM,MAAMpY,QAAQovC,GAAYh3B,KAAa,CAChE,CCFe,SAAS85B,GAAmB95B,GAEzC,QAASq3B,GAAUr3B,GAAWA,EAAQm3B,cACtCn3B,EAAQ+Y,WAAagF,OAAOhF,UAAUiQ,eACxC,CCFe,SAAS+Q,GAAc/5B,GACpC,MAA6B,SAAzBg3B,GAAYh3B,GACPA,EAMPA,EAAQg6B,cACRh6B,EAAQkD,aACRq0B,GAAav3B,GAAWA,EAAQ25B,KAAO,OAEvCG,GAAmB95B,EAGvB,CCVA,SAASi6B,GAAoBj6B,GAC3B,OAAKs3B,GAAct3B,IACoB,UAAvC45B,GAAiB55B,GAAS83B,SAInB93B,EAAQk6B,aAHN,IAIX,CAwCe,SAASC,GAAgBn6B,GAItC,IAHA,IAAI4X,EAASsf,GAAUl3B,GACnB5pB,EAAe6jD,GAAoBj6B,GAEhC5pB,GAAgByjD,GAAezjD,IAA6D,WAA5CwjD,GAAiBxjD,GAAc0hD,UACpF1hD,EAAe6jD,GAAoB7jD,GAGrC,OAAIA,IAA+C,SAA9B4gD,GAAY5gD,IAA0D,SAA9B4gD,GAAY5gD,IAAwE,WAA5CwjD,GAAiBxjD,GAAc0hD,UAC3HlgB,EAGFxhC,GAhDT,SAA4B4pB,GAC1B,IAAI4X,EAAY,WAAWvI,KAAKopB,MAGhC,GAFW,WAAWppB,KAAKopB,OAEfnB,GAAct3B,IAII,UAFX45B,GAAiB55B,GAEnB83B,SACb,OAAO,KAIX,IAAI1hD,EAAc2jD,GAAc/5B,GAMhC,IAJIu3B,GAAanhD,KACfA,EAAcA,EAAYujD,MAGrBrC,GAAclhD,IAAgB,CAAC,OAAQ,QAAQwR,QAAQovC,GAAY5gD,IAAgB,GAAG,CAC3F,IAAImf,EAAMqkC,GAAiBxjD,GAI3B,GAAsB,SAAlBmf,EAAIsuB,WAA4C,SAApBtuB,EAAI6kC,aAA0C,UAAhB7kC,EAAI8kC,UAAiF,IAA1D,CAAC,YAAa,eAAezyC,QAAQ2N,EAAI+kC,aAAsB1iB,GAAgC,WAAnBriB,EAAI+kC,YAA2B1iB,GAAariB,EAAI/Z,QAAyB,SAAf+Z,EAAI/Z,OACjO,OAAOpF,EAEPA,EAAcA,EAAY8sB,UAEhC,CAEE,OAAO,IACT,CAhCA,CAgD4ClD,IAAY4X,CACxD,CCpEe,SAAS2iB,GAAyBv6B,GAC/C,MAAO,CAAC,MAAO,UAAUpY,QAAQoY,IAAc,EAAI,IAAM,GAC3D,CCDO,SAASw6B,GAAOx6B,EAAK4X,EAAOxhC,GACjC,OAAOiiD,GAAQr4B,EAAKs4B,GAAQ1gB,EAAOxhC,GACrC,CCFe,SAASqkD,GAAmBz6B,GACzC,OAAO1kB,OAAO8pC,OAAO,CAAC,ECDf,CACLX,IAAK,EACL6U,MAAO,EACPC,OAAQ,EACRhV,KAAM,GDHuCvkB,EACjD,CEHe,SAAS06B,GAAgB16B,EAAO4X,GAC7C,OAAOA,EAAKphB,QAAO,SAAUohB,EAASxhC,GAEpC,OADAwhC,EAAQxhC,GAAO4pB,EACR4X,CACX,GAAK,CAAC,EACN,CC4EA,MAAA+iB,GAAe,CACbtrC,KAAM,QACNooC,SAAA,EACAC,MAAO,OACP5hD,GApEF,SAAekqB,GACb,IAAI4X,EAEAxhC,EAAQ4pB,EAAKrK,MACbJ,EAAOyK,EAAK3Q,KACZ4e,EAAUjO,EAAKhV,QACfwhB,EAAep2B,EAAMuhD,SAASM,MAC9Bt0C,EAAgBvN,EAAMwkD,cAAcC,cACpCxyC,EAAgB+vC,GAAiBhiD,EAAM0kD,WACvCzkD,EAAOkkD,GAAyBlyC,GAEhCqQ,EADa,CAACk9B,GAAMD,IAAO/tC,QAAQS,IAAkB,EAClC,SAAW,QAElC,GAAKmkB,GAAiB7oB,EAAtB,CAIA,IAAI8V,EAxBgB,SAAyBuG,EAAS4X,GAItD,OAAO6iB,GAAsC,iBAH7Cz6B,EAA6B,mBAAZA,EAAyBA,EAAQ1kB,OAAO8pC,OAAO,CAAC,EAAGxN,EAAMmjB,MAAO,CAC/ED,UAAWljB,EAAMkjB,aACb96B,GACkDA,EAAU06B,GAAgB16B,EAAS81B,IAC7F,CALsB,CAwBgB7nB,EAAQ+sB,QAAS5kD,GACjDyoC,EAAY2a,GAAchtB,GAC1BtE,EAAmB,MAAT7xB,EAAeo/C,GAAMG,GAC/BxgC,EAAmB,MAAT/e,EAAeq/C,GAASC,GAClClvC,EAAUrQ,EAAM2kD,MAAM7C,UAAUx/B,GAAOtiB,EAAM2kD,MAAM7C,UAAU7hD,GAAQsN,EAActN,GAAQD,EAAM2kD,MAAMlD,OAAOn/B,GAC9GuB,EAAYtW,EAActN,GAAQD,EAAM2kD,MAAM7C,UAAU7hD,GACxD4gC,EAAoBkjB,GAAgB3tB,GACpC5Y,EAAaqjB,EAA6B,MAAT5gC,EAAe4gC,EAAkBgkB,cAAgB,EAAIhkB,EAAkBikB,aAAe,EAAI,EAC3H5yC,EAAoB7B,EAAU,EAAIwT,EAAY,EAG9CriB,EAAM6hB,EAAcyO,GACpByhB,EAAM/1B,EAAairB,EAAUnmB,GAAOe,EAAcrE,GAClDw0B,EAASh2B,EAAa,EAAIirB,EAAUnmB,GAAO,EAAIpQ,EAC/CuhC,EAAS2Q,GAAO5iD,EAAKgyC,EAAQD,GAE7BG,EAAWzzC,EACfD,EAAMwkD,cAAcrlC,KAASqiB,EAAwB,CAAC,GAAyBkS,GAAYD,EAAQjS,EAAsBujB,aAAetR,EAASD,EAAQhS,EAnB3J,CAoBA,EAkCElhC,OAhCF,SAAgBspB,GACd,IAAI4X,EAAQ5X,EAAMrK,MAEdvf,EADU4pB,EAAMhV,QACWowC,QAC3B7lC,OAAA,IAAenf,EAA8B,sBAAwBA,EAErD,MAAhBmf,IAKwB,iBAAjBA,IACTA,EAAeqiB,EAAM+f,SAASE,OAAOje,cAAcrkB,MAOhDkkC,GAAS7hB,EAAM+f,SAASE,OAAQtiC,KAIrCqiB,EAAM+f,SAASM,MAAQ1iC,EACzB,EASE4iC,SAAU,CAAC,iBACXkD,iBAAkB,CAAC,oBCxFN,SAASC,GAAat7B,GACnC,OAAOA,EAAUyO,MAAM,KAAK,EAC9B,CCOA,IAAI8sB,GAAa,CACf9W,IAAK,OACL6U,MAAO,OACPC,OAAQ,OACRhV,KAAM,QAeD,SAASiX,GAAYx7B,GAC1B,IAAI4X,EAEAxhC,EAAS4pB,EAAM63B,OACftiC,EAAayK,EAAMy7B,WACnBxtB,EAAYjO,EAAM86B,UAClBtuB,EAAYxM,EAAM07B,UAClB/3C,EAAUqc,EAAM27B,QAChBtzC,EAAW2X,EAAM83B,SACjBzhD,EAAkB2pB,EAAM47B,gBACxBljC,EAAWsH,EAAM67B,SACjBpiC,EAAeuG,EAAM87B,aACrBjd,EAAU7e,EAAM+7B,QAChB7zB,EAAavkB,EAAQ0mC,EACrBj1B,OAAA,IAAI8S,EAAwB,EAAIA,EAChCzhB,EAAa9C,EAAQgmC,EACrB1vB,OAAA,IAAIxT,EAAwB,EAAIA,EAEhCwwB,EAAgC,mBAAjBxd,EAA8BA,EAAa,CAC5D4wB,EAAGj1B,EACHu0B,EAAG1vB,IACA,CACHowB,EAAGj1B,EACHu0B,EAAG1vB,GAGL7E,EAAI6hB,EAAMoT,EACVpwB,EAAIgd,EAAM0S,EACV,IAAI/1B,EAAOjQ,EAAQzH,eAAe,KAC9BoM,EAAO3E,EAAQzH,eAAe,KAC9BtE,EAAQg+C,GACRjM,EAAQ8L,GACR7L,EAAM7L,OAEV,GAAIrlB,EAAU,CACZ,IAAImxB,EAAesQ,GAAgB/jD,GAC/B0zC,EAAa,eACbC,EAAY,cAEZF,IAAiBqN,GAAU9gD,IAGmB,WAA5CwjD,GAFJ/P,EAAeiQ,GAAmB1jD,IAEC0hD,UAAsC,aAAbzvC,IAC1DyhC,EAAa,eACbC,EAAY,gBAOZ9b,IAAcwnB,KAAQxnB,IAAc2nB,IAAQ3nB,IAAc0nB,KAAUnpB,IAAcwpB,MACpFrM,EAAQ+L,GAGRz7B,IAFc4kB,GAAWgL,IAAiBD,GAAOA,EAAIuP,eAAiBvP,EAAIuP,eAAeD,OACzFrP,EAAaC,IACEv0B,EAAW2jC,OAC1Bj/B,GAAK5jB,EAAkB,GAAK,GAG1B43B,IAAc2nB,KAAS3nB,IAAcwnB,IAAOxnB,IAAcynB,IAAWlpB,IAAcwpB,MACrFp+C,EAAQ+9C,GAGRvgC,IAFcypB,GAAWgL,IAAiBD,GAAOA,EAAIuP,eAAiBvP,EAAIuP,eAAeF,MACzFpP,EAAaE,IACEx0B,EAAW0jC,MAC1B7jC,GAAK/e,EAAkB,GAAK,EAElC,CAEE,IAgBM6zC,EAhBFC,EAAe7uC,OAAO8pC,OAAO,CAC/B0S,SAAUzvC,GACTqQ,GAAY6iC,IAEXlR,GAAA,IAAQ5wB,EAlFd,SAA2BuG,EAAM4X,GAC/B,IAAIxhC,EAAI4pB,EAAKqqB,EACT90B,EAAIyK,EAAK2pB,EACT1b,EAAM2J,EAAIokB,kBAAoB,EAClC,MAAO,CACL3R,EAAGkO,GAAMniD,EAAI63B,GAAOA,GAAO,EAC3B0b,EAAG4O,GAAMhjC,EAAI0Y,GAAOA,GAAO,EAE/B,CARA,CAkFwD,CACpDoc,EAAGj1B,EACHu0B,EAAG1vB,GACFi9B,GAAU9gD,IAAW,CACtBi0C,EAAGj1B,EACHu0B,EAAG1vB,GAML,OAHA7E,EAAIi1B,EAAMA,EACVpwB,EAAIowB,EAAMV,EAENtzC,EAGKiF,OAAO8pC,OAAO,CAAC,EAAG+E,IAAeD,EAAiB,CAAC,GAAkBP,GAASrhC,EAAO,IAAM,GAAI4hC,EAAetyC,GAASgc,EAAO,IAAM,GAAIs2B,EAAerG,WAAa+F,EAAIoS,kBAAoB,IAAM,EAAI,aAAe5mC,EAAI,OAAS6E,EAAI,MAAQ,eAAiB7E,EAAI,OAAS6E,EAAI,SAAUiwB,IAG5R5uC,OAAO8pC,OAAO,CAAC,EAAG+E,IAAevS,EAAkB,CAAC,GAAmB+R,GAASrhC,EAAO2R,EAAI,KAAO,GAAI2d,EAAgBhgC,GAASgc,EAAOwB,EAAI,KAAO,GAAIwiB,EAAgBiM,UAAY,GAAIjM,GAC9L,CA4CA,MAAAqkB,GAAe,CACb5sC,KAAM,gBACNooC,SAAA,EACAC,MAAO,cACP5hD,GA9CF,SAAuBkqB,GACrB,IAAI4X,EAAQ5X,EAAMrK,MACdvf,EAAU4pB,EAAMhV,QAChBuK,EAAwBnf,EAAQwlD,gBAChC3tB,OAAA,IAAkB1Y,GAA0CA,EAC5DiX,EAAoBp2B,EAAQylD,SAC5Bl4C,OAAA,IAAW6oB,GAAsCA,EACjDnkB,EAAwBjS,EAAQ0lD,aAChCzlD,OAAA,IAAegS,GAA0CA,EACzDqQ,EAAe,CACjBoiC,UAAW1C,GAAiBxgB,EAAMkjB,WAClCY,UAAWJ,GAAa1jB,EAAMkjB,WAC9BjD,OAAQjgB,EAAM+f,SAASE,OACvB4D,WAAY7jB,EAAMmjB,MAAMlD,OACxB+D,gBAAiB3tB,EACjB8tB,QAAoC,UAA3BnkB,EAAM5sB,QAAQ+sC,UAGgB,MAArCngB,EAAMgjB,cAAcC,gBACtBjjB,EAAMkG,OAAO+Z,OAASv8C,OAAO8pC,OAAO,CAAC,EAAGxN,EAAMkG,OAAO+Z,OAAQ2D,GAAYlgD,OAAO8pC,OAAO,CAAC,EAAG1sB,EAAc,CACvGijC,QAAS/jB,EAAMgjB,cAAcC,cAC7B/C,SAAUlgB,EAAM5sB,QAAQ+sC,SACxB8D,SAAUl4C,EACVm4C,aAAczlD,OAIe,MAA7BuhC,EAAMgjB,cAAc3C,QACtBrgB,EAAMkG,OAAOma,MAAQ38C,OAAO8pC,OAAO,CAAC,EAAGxN,EAAMkG,OAAOma,MAAOuD,GAAYlgD,OAAO8pC,OAAO,CAAC,EAAG1sB,EAAc,CACrGijC,QAAS/jB,EAAMgjB,cAAc3C,MAC7BH,SAAU,WACV+D,UAAA,EACAC,aAAczlD,OAIlBuhC,EAAMggB,WAAWC,OAASv8C,OAAO8pC,OAAO,CAAC,EAAGxN,EAAMggB,WAAWC,OAAQ,CACnE,wBAAyBjgB,EAAMkjB,WAEnC,EAQEpuC,KAAM,CAAC,GCrKT,IAAIwvC,GAAU,CACZC,SAAA,GAsCF,MAAAC,GAAe,CACb/sC,KAAM,iBACNooC,SAAA,EACAC,MAAO,QACP5hD,GAAI,WAAc,EAClBY,OAxCF,SAAgBspB,GACd,IAAI4X,EAAQ5X,EAAKrK,MACbvf,EAAW4pB,EAAKxb,SAChB+Q,EAAUyK,EAAKhV,QACfijB,EAAkB1Y,EAAQ8mC,OAC1B7vB,OAAA,IAASyB,GAAoCA,EAC7CtqB,EAAkB4R,EAAQ+mC,OAC1Bj0C,OAAA,IAAS1E,GAAoCA,EAC7CtN,EAAS6gD,GAAUtf,EAAM+f,SAASE,QAClCn/B,EAAgB,GAAG9K,OAAOgqB,EAAM2kB,cAAcrE,UAAWtgB,EAAM2kB,cAAc1E,QAYjF,OAVIrrB,GACF9T,EAAc7d,SAAQ,SAAUmlB,GAC9BA,EAAa6d,iBAAiB,SAAUznC,EAASif,OAAQ6mC,GAC/D,IAGM7zC,GACFhS,EAAOwnC,iBAAiB,SAAUznC,EAASif,OAAQ6mC,IAG9C,WACD1vB,GACF9T,EAAc7d,SAAQ,SAAUmlB,GAC9BA,EAAa2d,oBAAoB,SAAUvnC,EAASif,OAAQ6mC,GACpE,IAGQ7zC,GACFhS,EAAOsnC,oBAAoB,SAAUvnC,EAASif,OAAQ6mC,GAE5D,CACA,EASExvC,KAAM,CAAC,GC/CT,IAAI8vC,GAAO,CACTjY,KAAM,QACN+U,MAAO,OACPC,OAAQ,MACR9U,IAAK,UAEQ,SAASgY,GAAqBz8B,GAC3C,OAAOA,EAAU9U,QAAQ,0BAA0B,SAAU8U,GAC3D,OAAOw8B,GAAKx8B,EAChB,GACA,CCVA,IAAI08B,GAAO,CACT51C,MAAO,MACPC,IAAK,SAEQ,SAAS41C,GAA8B38B,GACpD,OAAOA,EAAU9U,QAAQ,cAAc,SAAU8U,GAC/C,OAAO08B,GAAK18B,EAChB,GACA,CCPe,SAAS48B,GAAgB58B,GACtC,IAAI4X,EAAMsf,GAAUl3B,GAGpB,MAAO,CACL68B,WAHejlB,EAAIklB,YAInBC,UAHcnlB,EAAIolB,YAKtB,CCNe,SAASC,GAAoBj9B,GAQ1C,OAAO+4B,GAAsBe,GAAmB95B,IAAUukB,KAAOqY,GAAgB58B,GAAS68B,UAC5F,CCXe,SAASK,GAAel9B,GAErC,IAAI4X,EAAoBgiB,GAAiB55B,GACrC5pB,EAAWwhC,EAAkBulB,SAC7B5nC,EAAYqiB,EAAkBwlB,UAC9BnvB,EAAY2J,EAAkBylB,UAElC,MAAO,6BAA6BhuB,KAAKj5B,EAAW63B,EAAY1Y,EAClE,CCLe,SAAS+nC,GAAgBt9B,GACtC,MAAI,CAAC,OAAQ,OAAQ,aAAapY,QAAQovC,GAAYh3B,KAAU,EAEvDA,EAAKm3B,cAAcpY,KAGxBuY,GAAct3B,IAASk9B,GAAel9B,GACjCA,EAGFs9B,GAAgBvD,GAAc/5B,GACvC,CCJe,SAASu9B,GAAkBv9B,EAAS4X,GACjD,IAAIxhC,OAAA,IAEAwhC,IACFA,EAAO,IAGT,IAAIriB,EAAe+nC,GAAgBt9B,GAC/BiO,EAAS1Y,KAAqE,OAAlDnf,EAAwB4pB,EAAQm3B,oBAAA,EAAkC/gD,EAAsB2oC,MACpHvS,EAAM0qB,GAAU3hC,GAChB5R,EAASsqB,EAAS,CAACzB,GAAK5e,OAAO4e,EAAI2sB,gBAAkB,GAAI+D,GAAe3nC,GAAgBA,EAAe,IAAMA,EAC7GlN,EAAcuvB,EAAKhqB,OAAOjK,GAC9B,OAAOsqB,EAAS5lB,EAChBA,EAAYuF,OAAO2vC,GAAkBxD,GAAcp2C,IACrD,CCzBe,SAAS65C,GAAiBx9B,GACvC,OAAO1kB,OAAO8pC,OAAO,CAAC,EAAGplB,EAAM,CAC7BukB,KAAMvkB,EAAKqqB,EACX5F,IAAKzkB,EAAK2pB,EACV2P,MAAOt5B,EAAKqqB,EAAIrqB,EAAKi5B,MACrBM,OAAQv5B,EAAK2pB,EAAI3pB,EAAKk5B,QAE1B,CCqBA,SAASuE,GAA2Bz9B,EAAS4X,EAAgBxhC,GAC3D,OAAOwhC,IAAmBse,GAAWsH,GCzBxB,SAAyBx9B,EAAS4X,GAC/C,IAAIxhC,EAAM8gD,GAAUl3B,GAChBzK,EAAOukC,GAAmB95B,GAC1BiO,EAAiB73B,EAAI+iD,eACrB3sB,EAAQjX,EAAK2lC,YACbv3C,EAAS4R,EAAK0lC,aACd5yC,EAAI,EACJhS,EAAI,EAER,GAAI43B,EAAgB,CAClBzB,EAAQyB,EAAegrB,MACvBt1C,EAASsqB,EAAeirB,OACxB,IAAIxgC,EAAiBogC,MAEjBpgC,IAAmBA,GAA+B,UAAbkf,KACvCvvB,EAAI4lB,EAAemrB,WACnB/iD,EAAI43B,EAAeorB,UAEzB,CAEE,MAAO,CACLJ,MAAOzsB,EACP0sB,OAAQv1C,EACR0mC,EAAGhiC,EAAI40C,GAAoBj9B,GAC3B2pB,EAAGtzC,EAEP,CA1Be,CDyByD2pB,EAAS5pB,IAAaihD,GAAUzf,GAdxG,SAAoC5X,EAAS4X,GAC3C,IAAIxhC,EAAO2iD,GAAsB/4B,GAAA,EAA6B,UAAb4X,GASjD,OARAxhC,EAAKquC,IAAMruC,EAAKquC,IAAMzkB,EAAQ09B,UAC9BtnD,EAAKmuC,KAAOnuC,EAAKmuC,KAAOvkB,EAAQ29B,WAChCvnD,EAAKmjD,OAASnjD,EAAKquC,IAAMzkB,EAAQi7B,aACjC7kD,EAAKkjD,MAAQljD,EAAKmuC,KAAOvkB,EAAQk7B,YACjC9kD,EAAK6iD,MAAQj5B,EAAQk7B,YACrB9kD,EAAK8iD,OAASl5B,EAAQi7B,aACtB7kD,EAAKi0C,EAAIj0C,EAAKmuC,KACdnuC,EAAKuzC,EAAIvzC,EAAKquC,IACPruC,CACT,CAXA,CAcqJwhC,EAAgBxhC,GAAYonD,GEtBlK,SAAyBx9B,GACtC,IAAI4X,EAEAxhC,EAAO0jD,GAAmB95B,GAC1BzK,EAAYqnC,GAAgB58B,GAC5BiO,EAA0D,OAAlD2J,EAAwB5X,EAAQm3B,oBAAA,EAAkCvf,EAAsBmH,KAChGvS,EAAQ6rB,GAAIjiD,EAAKwnD,YAAaxnD,EAAK8kD,YAAajtB,EAAOA,EAAK2vB,YAAc,EAAG3vB,EAAOA,EAAKitB,YAAc,GACvGv3C,EAAS00C,GAAIjiD,EAAKynD,aAAcznD,EAAK6kD,aAAchtB,EAAOA,EAAK4vB,aAAe,EAAG5vB,EAAOA,EAAKgtB,aAAe,GAC5G5yC,GAAKkN,EAAUsnC,WAAaI,GAAoBj9B,GAChD3pB,GAAKkf,EAAUwnC,UAMnB,MAJiD,QAA7CnD,GAAiB3rB,GAAQ73B,GAAM09C,YACjCzrC,GAAKgwC,GAAIjiD,EAAK8kD,YAAajtB,EAAOA,EAAKitB,YAAc,GAAK1uB,GAGrD,CACLysB,MAAOzsB,EACP0sB,OAAQv1C,EACR0mC,EAAGhiC,EACHshC,EAAGtzC,EAEP,CArBe,CFsBmMyjD,GAAmB95B,IACrO,CG1Be,SAAS89B,GAAe99B,GACrC,IAOI4X,EAPAxhC,EAAY4pB,EAAKk4B,UACjB3iC,EAAUyK,EAAKo7B,QACfntB,EAAYjO,EAAK86B,UACjBtuB,EAAgByB,EAAYmqB,GAAiBnqB,GAAa,KAC1DtqB,EAAYsqB,EAAYqtB,GAAartB,GAAa,KAClD5lB,EAAUjS,EAAUi0C,EAAIj0C,EAAU6iD,MAAQ,EAAI1jC,EAAQ0jC,MAAQ,EAC9D5iD,EAAUD,EAAUuzC,EAAIvzC,EAAU8iD,OAAS,EAAI3jC,EAAQ2jC,OAAS,EAGpE,OAAQ1sB,GACN,KAAKipB,GACH7d,EAAU,CACRyS,EAAGhiC,EACHshC,EAAGvzC,EAAUuzC,EAAIp0B,EAAQ2jC,QAE3B,MAEF,KAAKxD,GACH9d,EAAU,CACRyS,EAAGhiC,EACHshC,EAAGvzC,EAAUuzC,EAAIvzC,EAAU8iD,QAE7B,MAEF,KAAKvD,GACH/d,EAAU,CACRyS,EAAGj0C,EAAUi0C,EAAIj0C,EAAU6iD,MAC3BtP,EAAGtzC,GAEL,MAEF,KAAKu/C,GACHhe,EAAU,CACRyS,EAAGj0C,EAAUi0C,EAAI90B,EAAQ0jC,MACzBtP,EAAGtzC,GAEL,MAEF,QACEuhC,EAAU,CACRyS,EAAGj0C,EAAUi0C,EACbV,EAAGvzC,EAAUuzC,GAInB,IAAIjxB,EAAW8T,EAAgB+tB,GAAyB/tB,GAAiB,KAEzE,GAAgB,MAAZ9T,EAAkB,CACpB,IAAIe,EAAmB,MAAbf,EAAmB,SAAW,QAExC,OAAQ/U,GACN,KAAKoyC,GACHne,EAAQlf,GAAYkf,EAAQlf,IAAatiB,EAAUqjB,GAAO,EAAIlE,EAAQkE,GAAO,GAC7E,MAEF,KAAKu8B,GACHpe,EAAQlf,GAAYkf,EAAQlf,IAAatiB,EAAUqjB,GAAO,EAAIlE,EAAQkE,GAAO,GAKrF,CAEE,OAAOme,CACT,CC3De,SAASmmB,GAAe/9B,EAAO4X,QAAA,IACxCA,IACFA,EAAU,CAAC,GAGb,IAAIxhC,EAAWwhC,EACXriB,EAAqBnf,EAAS0kD,UAC9B7sB,OAAA,IAAY1Y,EAAgCyK,EAAM86B,UAAYvlC,EAC9DiX,EAAoBp2B,EAAS2hD,SAC7Bp0C,OAAA,IAAW6oB,EAA+BxM,EAAM+3B,SAAWvrB,EAC3DnkB,EAAoBjS,EAAS4nD,SAC7B3nD,OAAA,IAAWgS,EAA+B4tC,GAAkB5tC,EAC5DqQ,EAAwBtiB,EAAS6nD,aACjCxkC,OAAA,IAAef,EAAmCw9B,GAAWx9B,EAC7DmmB,EAAwBzoC,EAAS8nD,eACjCh2B,OAAA,IAAiB2W,EAAmCsX,GAAStX,EAC7DzpB,EAAuBhf,EAAS+nD,YAChC13C,OAAA,IAAc2O,GAA0CA,EACxD6E,EAAmB7jB,EAAS4kD,QAC5B/jB,OAAA,IAAUhd,EAA8B,EAAIA,EAC5CrG,EAAgB6mC,GAAsC,iBAAZxjB,EAAuBA,EAAUyjB,GAAgBzjB,EAAS6e,KACpGxtC,EAAa4f,IAAmBiuB,GAASC,GAAYD,GACrDv+C,EAAaooB,EAAM+6B,MAAMlD,OACzBlO,EAAU3pB,EAAM23B,SAASlxC,EAAc6B,EAAa4f,GACpD0hB,EJkBS,SAAyB5pB,EAAS4X,EAAUxhC,EAAcmf,GACvE,IAAI0Y,EAAmC,oBAAb2J,EAlB5B,SAA4B5X,GAC1B,IAAI4X,EAAkB2lB,GAAkBxD,GAAc/5B,IAElD5pB,EADoB,CAAC,WAAY,SAASwR,QAAQgyC,GAAiB55B,GAAS83B,WAAa,GACnDR,GAAct3B,GAAWm6B,GAAgBn6B,GAAWA,EAE9F,OAAKq3B,GAAUjhD,GAKRwhC,EAAgBp8B,QAAO,SAAUwkB,GACtC,OAAOq3B,GAAUr3B,IAAmBy5B,GAASz5B,EAAgB5pB,IAAmD,SAAhC4gD,GAAYh3B,EAChG,IANW,EAOX,CAbA,CAkBgFA,GAAW,GAAGpS,OAAOgqB,GAC/FpL,EAAkB,GAAG5e,OAAOqgB,EAAqB,CAAC73B,IAClDuN,EAAsB6oB,EAAgB,GACtCnkB,EAAemkB,EAAgBhW,QAAO,SAAUohB,EAASxhC,GAC3D,IAAI63B,EAAOwvB,GAA2Bz9B,EAAS5pB,EAAgBmf,GAK/D,OAJAqiB,EAAQ6M,IAAM4T,GAAIpqB,EAAKwW,IAAK7M,EAAQ6M,KACpC7M,EAAQ0hB,MAAQhB,GAAIrqB,EAAKqrB,MAAO1hB,EAAQ0hB,OACxC1hB,EAAQ2hB,OAASjB,GAAIrqB,EAAKsrB,OAAQ3hB,EAAQ2hB,QAC1C3hB,EAAQ2M,KAAO8T,GAAIpqB,EAAKsW,KAAM3M,EAAQ2M,MAC/B3M,CACX,GAAK6lB,GAA2Bz9B,EAASrc,EAAqB4R,IAK5D,OAJAlN,EAAa4wC,MAAQ5wC,EAAaixC,MAAQjxC,EAAak8B,KACvDl8B,EAAa6wC,OAAS7wC,EAAakxC,OAASlxC,EAAao8B,IACzDp8B,EAAagiC,EAAIhiC,EAAak8B,KAC9Bl8B,EAAashC,EAAIthC,EAAao8B,IACvBp8B,CACT,CAjBe,CIlB4BgvC,GAAU1N,GAAWA,EAAUA,EAAQyU,gBAAkBtE,GAAmB95B,EAAM23B,SAASE,QAASxhD,EAAUojB,EAAc9V,GACjKkmC,EAAsBkP,GAAsB/4B,EAAM23B,SAASO,WAC3DpO,EAAgBgU,GAAe,CACjC5F,UAAWrO,EACXuR,QAASxjD,EACTmgD,SAAU,WACV+C,UAAW7sB,IAET8b,EAAmByT,GAAiBliD,OAAO8pC,OAAO,CAAC,EAAGxtC,EAAYkyC,IAClEI,EAAoBhiB,IAAmBiuB,GAASpM,EAAmBF,EAGnEM,EAAkB,CACpB1F,IAAKmF,EAAmBnF,IAAMyF,EAAkBzF,IAAM7wB,EAAc6wB,IACpE8U,OAAQrP,EAAkBqP,OAAS3P,EAAmB2P,OAAS3lC,EAAc2lC,OAC7EhV,KAAMqF,EAAmBrF,KAAO2F,EAAkB3F,KAAO3wB,EAAc2wB,KACvE+U,MAAOpP,EAAkBoP,MAAQ1P,EAAmB0P,MAAQ1lC,EAAc0lC,OAExEjP,EAAarqB,EAAM46B,cAAcyD,OAErC,GAAIn2B,IAAmBiuB,IAAU9L,EAAY,CAC3C,IAAI3oB,EAAS2oB,EAAWpc,GACxB3yB,OAAO/B,KAAK4wC,GAAiBtvC,SAAQ,SAAUmlB,GAC7C,IAAI4X,EAAW,CAAC+d,GAAOD,IAAQ9tC,QAAQoY,IAAQ,EAAI,GAAK,EACpD5pB,EAAO,CAACq/C,GAAKC,IAAQ9tC,QAAQoY,IAAQ,EAAI,IAAM,IACnDmqB,EAAgBnqB,IAAQ0B,EAAOtrB,GAAQwhC,CAC7C,GACA,CAEE,OAAOuS,CACT,CC5De,SAASmU,GAAqBt+B,EAAO4X,QAAA,IAC9CA,IACFA,EAAU,CAAC,GAGb,IAAIxhC,EAAWwhC,EACXriB,EAAYnf,EAAS0kD,UACrB7sB,EAAW73B,EAAS4nD,SACpBxxB,EAAep2B,EAAS6nD,aACxBt6C,EAAUvN,EAAS4kD,QACnB3yC,EAAiBjS,EAASmoD,eAC1BloD,EAAwBD,EAASooD,sBACjC9lC,OAAA,IAAwBriB,EAAmCigD,GAAgBjgD,EAC3EojB,EAAY6hC,GAAa/lC,GACzBspB,EAAaplB,EAAYpR,EAAiBguC,GAAsBA,GAAoB76C,QAAO,SAAUwkB,GACvG,OAAOs7B,GAAat7B,KAAevG,CACvC,IAAOq8B,GACD5tB,EAAoB2W,EAAWrjC,QAAO,SAAUwkB,GAClD,OAAOtH,EAAsB9Q,QAAQoY,IAAc,CACvD,IAEmC,IAA7BkI,EAAkB5xB,SACpB4xB,EAAoB2W,GAItB,IAAIzpB,EAAY8S,EAAkB1R,QAAO,SAAUohB,EAAKxhC,GAOtD,OANAwhC,EAAIxhC,GAAa2nD,GAAe/9B,EAAO,CACrC86B,UAAW1kD,EACX4nD,SAAU/vB,EACVgwB,aAAczxB,EACdwuB,QAASr3C,IACRy0C,GAAiBhiD,IACbwhC,CACX,GAAK,CAAC,GACJ,OAAOt8B,OAAO/B,KAAK6b,GAAWhN,MAAK,SAAU4X,EAAG4X,GAC9C,OAAOxiB,EAAU4K,GAAK5K,EAAUwiB,EACpC,GACA,CC+FA,MAAA6mB,GAAe,CACbpvC,KAAM,OACNooC,SAAA,EACAC,MAAO,OACP5hD,GA5HF,SAAckqB,GACZ,IAAI4X,EAAQ5X,EAAKrK,MACbvf,EAAU4pB,EAAKhV,QACfuK,EAAOyK,EAAK3Q,KAEhB,IAAIuoB,EAAMgjB,cAAcrlC,GAAMmpC,MAA9B,CAoCA,IAhCA,IAAIzwB,EAAoB73B,EAAQuoD,SAC5BnyB,OAAA,IAAgByB,GAAsCA,EACtDtqB,EAAmBvN,EAAQwoD,QAC3Bv2C,OAAA,IAAe1E,GAAqCA,EACpDtN,EAA8BD,EAAQyoD,mBACtCnmC,EAAUtiB,EAAQ4kD,QAClBvhC,EAAWrjB,EAAQ4nD,SACnBnf,EAAezoC,EAAQ6nD,aACvB/1B,EAAc9xB,EAAQ+nD,YACtB/oC,EAAwBhf,EAAQmoD,eAChC93C,OAAA,IAAiB2O,GAA0CA,EAC3D6E,EAAwB7jB,EAAQooD,sBAChCvnB,EAAqBW,EAAM5sB,QAAQ8vC,UACnClnC,EAAgBwkC,GAAiBnhB,GAEjC3uB,EAAqBjS,IADHud,IAAkBqjB,GACqCxwB,EAjC/E,SAAuCuZ,GACrC,GAAIo4B,GAAiBp4B,KAAe61B,GAClC,MAAO,GAGT,IAAIje,EAAoB6kB,GAAqBz8B,GAC7C,MAAO,CAAC28B,GAA8B38B,GAAY4X,EAAmB+kB,GAA8B/kB,GACrG,CAPA,CAiC2KX,GAA3E,CAACwlB,GAAqBxlB,KAChHr/B,EAAa,CAACq/B,GAAoBrpB,OAAOtF,GAAoBkO,QAAO,SAAUwJ,EAAK5pB,GACrF,OAAO4pB,EAAIpS,OAAOwqC,GAAiBhiD,KAAey/C,GAAOyI,GAAqB1mB,EAAO,CACnFkjB,UAAW1kD,EACX4nD,SAAUvkC,EACVwkC,aAAcpf,EACdmc,QAAStiC,EACT6lC,eAAgB93C,EAChB+3C,sBAAuBvkC,IACpB7jB,EACT,GAAK,IACCuzC,EAAgB/R,EAAMmjB,MAAM7C,UAC5BtO,EAAahS,EAAMmjB,MAAMlD,OACzBhO,EAAY,IAAIlwC,IAChBmwC,GAAA,EACAC,EAAwBnyC,EAAW,GAE9BsyC,EAAI,EAAGA,EAAItyC,EAAWtB,OAAQ4zC,IAAK,CAC1C,IAAIC,EAAYvyC,EAAWsyC,GAEvBG,EAAiB+N,GAAiBjO,GAElCzoB,EAAmB45B,GAAanR,KAAe4L,GAC/CtL,EAAa,CAACgL,GAAKC,IAAQ9tC,QAAQyiC,IAAmB,EACtDM,EAAMF,EAAa,QAAU,SAC7BS,EAAW6S,GAAenmB,EAAO,CACnCkjB,UAAW3Q,EACX6T,SAAUvkC,EACVwkC,aAAcpf,EACdsf,YAAaj2B,EACb8yB,QAAStiC,IAEPpE,EAAoBm2B,EAAa/oB,EAAmBi0B,GAAQC,GAAOl0B,EAAmBg0B,GAASD,GAE/F9L,EAAcgB,GAAOf,EAAWe,KAClCr2B,EAAoBmoC,GAAqBnoC,IAG3C,IAAIo2B,EAAmB+R,GAAqBnoC,GACxC22B,EAAS,GAUb,GARIze,GACFye,EAAOt1C,KAAKu1C,EAASb,IAAmB,GAGtChiC,GACF4iC,EAAOt1C,KAAKu1C,EAAS52B,IAAsB,EAAG42B,EAASR,IAAqB,GAG1EO,EAAOtY,OAAM,SAAU3S,GACzB,OAAOA,CACb,IAAQ,CACF+pB,EAAwBI,EACxBL,GAAA,EACA,KACN,CAEID,EAAU1wC,IAAIgxC,EAAWc,EAC7B,CAEE,GAAInB,EAqBF,IAnBA,IAEIkB,EAAQ,SAAehrB,GACzB,IAAI4X,EAAmBhgC,EAAW0yC,MAAK,SAAU1S,GAC/C,IAAIxhC,EAASyzC,EAAUtxC,IAAIq/B,GAE3B,GAAIxhC,EACF,OAAOA,EAAO+S,MAAM,EAAG6W,GAAI2S,OAAM,SAAU3S,GACzC,OAAOA,CACnB,GAEA,IAEM,GAAI4X,EAEF,OADAmS,EAAwBnS,EACjB,OAEf,EAEa5N,EAnBYvjB,EAAiB,EAAI,EAmBZujB,EAAK,GAGpB,UAFFghB,EAAMhhB,GADmBA,KAOpC4N,EAAMkjB,YAAc/Q,IACtBnS,EAAMgjB,cAAcrlC,GAAMmpC,OAAA,EAC1B9mB,EAAMkjB,UAAY/Q,EAClBnS,EAAMlnB,OAAA,EA5GV,CA8GA,EAQE2qC,iBAAkB,CAAC,UACnB3uC,KAAM,CACJgyC,OAAA,IC7IJ,SAASI,GAAe9+B,EAAU4X,EAAMxhC,GAQtC,YAAO,IAPHA,IACFA,EAAmB,CACjBi0C,EAAG,EACHV,EAAG,IAIA,CACLlF,IAAKzkB,EAASykB,IAAM7M,EAAKshB,OAAS9iD,EAAiBuzC,EACnD2P,MAAOt5B,EAASs5B,MAAQ1hB,EAAKqhB,MAAQ7iD,EAAiBi0C,EACtDkP,OAAQv5B,EAASu5B,OAAS3hB,EAAKshB,OAAS9iD,EAAiBuzC,EACzDpF,KAAMvkB,EAASukB,KAAO3M,EAAKqhB,MAAQ7iD,EAAiBi0C,EAExD,CAEA,SAAS0U,GAAsB/+B,GAC7B,MAAO,CAACy1B,GAAKE,GAAOD,GAAQE,IAAMpoC,MAAK,SAAUoqB,GAC/C,OAAO5X,EAAS4X,IAAS,CAC7B,GACA,CA+BA,MAAAonB,GAAe,CACb3vC,KAAM,OACNooC,SAAA,EACAC,MAAO,OACP2D,iBAAkB,CAAC,mBACnBvlD,GAlCF,SAAckqB,GACZ,IAAI4X,EAAQ5X,EAAKrK,MACbvf,EAAO4pB,EAAK3Q,KACZkG,EAAgBqiB,EAAMmjB,MAAM7C,UAC5BjqB,EAAa2J,EAAMmjB,MAAMlD,OACzBrrB,EAAmBoL,EAAMgjB,cAAcqE,gBACvCt7C,EAAoBo6C,GAAenmB,EAAO,CAC5CsmB,eAAgB,cAEd71C,EAAoB01C,GAAenmB,EAAO,CAC5CumB,aAAA,IAEE9nD,EAA2ByoD,GAAen7C,EAAmB4R,GAC7DmD,EAAsBomC,GAAez2C,EAAmB4lB,EAAYzB,GACpE/S,EAAoBslC,GAAsB1oD,GAC1CwoC,EAAmBkgB,GAAsBrmC,GAC7Ckf,EAAMgjB,cAAcxkD,GAAQ,CAC1B8oD,yBAA0B7oD,EAC1B8oD,oBAAqBzmC,EACrB0mC,kBAAmB3lC,EACnB4lC,iBAAkBxgB,GAEpBjH,EAAMggB,WAAWC,OAASv8C,OAAO8pC,OAAO,CAAC,EAAGxN,EAAMggB,WAAWC,OAAQ,CACnE,+BAAgCp+B,EAChC,sBAAuBolB,GAE3B,GCJAygB,GAAe,CACbjwC,KAAM,SACNooC,SAAA,EACAC,MAAO,OACPS,SAAU,CAAC,iBACXriD,GA5BF,SAAgBkqB,GACd,IAAI4X,EAAQ5X,EAAMrK,MACdvf,EAAU4pB,EAAMhV,QAChBuK,EAAOyK,EAAM3Q,KACb4e,EAAkB73B,EAAQioD,OAC1B7xB,OAAA,IAASyB,EAA6B,CAAC,EAAG,GAAKA,EAC/CtqB,EAAO2yC,GAAW9/B,QAAO,SAAUwJ,EAAK5pB,GAE1C,OADA4pB,EAAI5pB,GA5BD,SAAiC4pB,EAAW4X,EAAOxhC,GACxD,IAAImf,EAAgB6iC,GAAiBp4B,GACjCiO,EAAiB,CAAC2nB,GAAMH,IAAK7tC,QAAQ2N,IAAkB,GAAK,EAAI,EAEhEiX,EAAyB,mBAAXp2B,EAAwBA,EAAOkF,OAAO8pC,OAAO,CAAC,EAAGxN,EAAO,CACxEkjB,UAAW96B,KACP5pB,EACFuN,EAAW6oB,EAAK,GAChBnkB,EAAWmkB,EAAK,GAIpB,OAFA7oB,EAAWA,GAAY,EACvB0E,GAAYA,GAAY,GAAK4lB,EACtB,CAAC2nB,GAAMD,IAAO/tC,QAAQ2N,IAAkB,EAAI,CACjD80B,EAAGhiC,EACHshC,EAAGhmC,GACD,CACF0mC,EAAG1mC,EACHgmC,EAAGthC,EAEP,CAnBO,CA4BsCjS,EAAWwhC,EAAMmjB,MAAOvuB,GAC1DxM,CACX,GAAK,CAAC,GACA3X,EAAwB1E,EAAKi0B,EAAMkjB,WACnCzkD,EAAIgS,EAAsBgiC,EAC1B3xB,EAAIrQ,EAAsBshC,EAEW,MAArC/R,EAAMgjB,cAAcC,gBACtBjjB,EAAMgjB,cAAcC,cAAcxQ,GAAKh0C,EACvCuhC,EAAMgjB,cAAcC,cAAclR,GAAKjxB,GAGzCkf,EAAMgjB,cAAcrlC,GAAQ5R,CAC9B,GC1BA47C,GAAe,CACblwC,KAAM,gBACNooC,SAAA,EACAC,MAAO,OACP5hD,GApBF,SAAuBkqB,GACrB,IAAI4X,EAAQ5X,EAAKrK,MACbvf,EAAO4pB,EAAK3Q,KAKhBuoB,EAAMgjB,cAAcxkD,GAAQ0nD,GAAe,CACzC5F,UAAWtgB,EAAMmjB,MAAM7C,UACvBkD,QAASxjB,EAAMmjB,MAAMlD,OACrBE,SAAU,WACV+C,UAAWljB,EAAMkjB,WAErB,EAQEpuC,KAAM,CAAC,GCgHT8yC,GAAe,CACbnwC,KAAM,kBACNooC,SAAA,EACAC,MAAO,OACP5hD,GA/HF,SAAyBkqB,GACvB,IAAI4X,EAAQ5X,EAAKrK,MACbvf,EAAU4pB,EAAKhV,QACfuK,EAAOyK,EAAK3Q,KACZ4e,EAAoB73B,EAAQuoD,SAC5BnyB,OAAA,IAAgByB,GAAsCA,EACtDtqB,EAAmBvN,EAAQwoD,QAC3Bv2C,OAAA,IAAe1E,GAAsCA,EACrDtN,EAAWD,EAAQ4nD,SACnBtlC,EAAetiB,EAAQ6nD,aACvBxkC,EAAcrjB,EAAQ+nD,YACtBtf,EAAUzoC,EAAQ4kD,QAClB9yB,EAAkB9xB,EAAQqpD,OAC1BrqC,OAAA,IAAS8S,GAAoCA,EAC7CzhB,EAAwBrQ,EAAQspD,aAChCzlC,OAAA,IAAexT,EAAmC,EAAIA,EACtDwwB,EAAW8mB,GAAenmB,EAAO,CACnComB,SAAU3nD,EACV4nD,aAAcvlC,EACdsiC,QAASnc,EACTsf,YAAa1kC,IAEX7F,EAAgBwkC,GAAiBxgB,EAAMkjB,WACvCxyC,EAAYgzC,GAAa1jB,EAAMkjB,WAC/BljD,GAAmB0Q,EACnBqhC,EAAW4Q,GAAyB3mC,GACpCg2B,ECrCY,MDqCSD,ECrCH,IAAM,IDsCxBE,EAAgBjS,EAAMgjB,cAAcC,cACpC/Q,EAAgBlS,EAAMmjB,MAAM7C,UAC5BnO,EAAanS,EAAMmjB,MAAMlD,OACzB3N,EAA4C,mBAAjBjwB,EAA8BA,EAAa3e,OAAO8pC,OAAO,CAAC,EAAGxN,EAAMmjB,MAAO,CACvGD,UAAWljB,EAAMkjB,aACb7gC,EACFkwB,EAA2D,iBAAtBD,EAAiC,CACxEyU,SAAUzU,EACV0U,QAAS1U,GACP5uC,OAAO8pC,OAAO,CAChBuZ,SAAU,EACVC,QAAS,GACR1U,GACCG,EAAsBzS,EAAMgjB,cAAcyD,OAASzmB,EAAMgjB,cAAcyD,OAAOzmB,EAAMkjB,WAAa,KACjGp5B,EAAO,CACT2oB,EAAG,EACHV,EAAG,GAGL,GAAKE,EAAL,CAIA,GAAIrd,EAAe,CACjB,IAAIie,EAEAE,EAAwB,MAAbhB,EAAmB8L,GAAMG,GACpC1K,EAAuB,MAAbvB,EAAmB+L,GAASC,GACtCrhC,EAAmB,MAAbq1B,EAAmB,SAAW,QACpCe,EAASb,EAAcF,GACvBsB,EAAMP,EAASzT,EAAS0T,GACxBK,EAAMN,EAASzT,EAASiU,GACxBlhB,EAAW5U,GAAU20B,EAAWz1B,GAAO,EAAI,EAC3Cu3B,EAASvjC,IAAcytC,GAAQjM,EAAcx1B,GAAOy1B,EAAWz1B,GAC/Dw3B,EAASxjC,IAAcytC,IAAShM,EAAWz1B,IAAQw1B,EAAcx1B,GAGjE83B,EAAexU,EAAM+f,SAASM,MAC9BpL,EAAYz3B,GAAUg3B,EAAeoN,GAAcpN,GAAgB,CACrE6M,MAAO,EACPC,OAAQ,GAEN1L,EAAqB5V,EAAMgjB,cAAc,oBAAsBhjB,EAAMgjB,cAAc,oBAAoBI,QxBhFtG,CACLvW,IAAK,EACL6U,MAAO,EACPC,OAAQ,EACRhV,KAAM,GwB6EFkJ,EAAkBD,EAAmB7C,GACrCuD,EAAkBV,EAAmBtC,GAMrCiD,EAAWqM,GAAO,EAAG1Q,EAAcx1B,GAAMu4B,EAAUv4B,IACnD85B,EAAYx2C,EAAkBkyC,EAAcx1B,GAAO,EAAI0V,EAAWmkB,EAAWV,EAAkBtD,EAA4BwU,SAAW9S,EAASsC,EAAWV,EAAkBtD,EAA4BwU,SACxMtQ,EAAYz2C,GAAmBkyC,EAAcx1B,GAAO,EAAI0V,EAAWmkB,EAAWD,EAAkB/D,EAA4BwU,SAAW7S,EAASqC,EAAWD,EAAkB/D,EAA4BwU,SACzMrQ,EAAoB1W,EAAM+f,SAASM,OAASkC,GAAgBviB,EAAM+f,SAASM,OAC3EvJ,EAAeJ,EAAiC,MAAb3E,EAAmB2E,EAAkBoP,WAAa,EAAIpP,EAAkBqP,YAAc,EAAI,EAC7HhP,EAAwH,OAAjGlE,EAA+C,MAAvBJ,OAAA,EAAuCA,EAAoBV,IAAqBc,EAAwB,EAEvJoE,EAAYnE,EAAS2D,EAAYM,EACjCG,EAAkB0L,GAAOplC,EAASkjC,GAAQrN,EAF9BP,EAAS0D,EAAYO,EAAsBD,GAEKzD,EAAKP,EAAQt1B,EAASijC,GAAQrN,EAAK6D,GAAa7D,GAChHnB,EAAcF,GAAYmF,EAC1BptB,EAAKioB,GAAYmF,EAAkBpE,CACvC,CAEE,GAAIriC,EAAc,CAChB,IAAI0mC,EAEAC,EAAyB,MAAbrF,EAAmB8L,GAAMG,GAErC3G,GAAwB,MAAbtF,EAAmB+L,GAASC,GAEvCzG,GAAUrF,EAAcD,GAExBuF,GAAmB,MAAZvF,EAAkB,SAAW,QAEpC2F,GAAOL,GAAUjY,EAAS+X,GAE1BQ,GAAON,GAAUjY,EAASgY,IAE1BwB,IAAuD,IAAxC,CAACgF,GAAKG,IAAMhuC,QAAQgM,GAEnC88B,GAAyH,OAAjG3B,EAAgD,MAAvB1E,OAAA,EAAuCA,EAAoBT,IAAoBmF,EAAyB,EAEzJ4B,GAAaF,GAAelB,GAAOL,GAAUpF,EAAcqF,IAAQpF,EAAWoF,IAAQuB,GAAuBvG,EAA4ByU,QAEzIhO,GAAaH,GAAevB,GAAUpF,EAAcqF,IAAQpF,EAAWoF,IAAQuB,GAAuBvG,EAA4ByU,QAAUpP,GAE5IqB,GAAmBz7B,GAAUq7B,G1BzH9B,SAAwBzwB,EAAK4X,EAAOxhC,GACzC,IAAImf,EAAIilC,GAAOx6B,EAAK4X,EAAOxhC,GAC3B,OAAOmf,EAAInf,EAAMA,EAAMmf,CACzB,CAHO,C0ByH4Do7B,GAAYzB,GAAS0B,IAAc4J,GAAOplC,EAASu7B,GAAapB,GAAML,GAAS95B,EAASw7B,GAAapB,IAEpK3F,EAAcD,GAAWiH,GACzBnvB,EAAKkoB,GAAWiH,GAAmB3B,EACvC,CAEEtX,EAAMgjB,cAAcrlC,GAAQmM,CAvE9B,CAwEA,EAQE25B,iBAAkB,CAAC,WE1HN,SAASsE,GAAiB3/B,EAAyB4X,EAAcxhC,QAAA,IAC1EA,IACFA,GAAA,GAGF,ICnBoCmf,ECJO0Y,EFuBvCzB,EAA0B8qB,GAAc1f,GACxCj0B,EAAuB2zC,GAAc1f,IAf3C,SAAyB5X,GACvB,IAAI4X,EAAO5X,EAAQmkB,wBACf/tC,EAASmiD,GAAM3gB,EAAKqhB,OAASj5B,EAAQg5B,aAAe,EACpDzjC,EAASgjC,GAAM3gB,EAAKshB,QAAUl5B,EAAQgf,cAAgB,EAC1D,OAAkB,IAAX5oC,GAA2B,IAAXmf,CACzB,CALA,CAe4EqiB,GACtEvvB,EAAkByxC,GAAmBliB,GACrCvhC,EAAO0iD,GAAsB/4B,EAAyBrc,EAAsBvN,GAC5EsiB,EAAS,CACXmkC,WAAY,EACZE,UAAW,GAETtjC,EAAU,CACZ4wB,EAAG,EACHV,EAAG,GAkBL,OAfInd,IAA4BA,IAA4Bp2B,MACxB,SAA9B4gD,GAAYpf,IAChBslB,GAAe70C,MACbqQ,GCnCgCnD,EDmCTqiB,KClCdsf,GAAU3hC,IAAU+hC,GAAc/hC,GCJxC,CACLsnC,YAFyC5uB,EDQb1Y,GCNRsnC,WACpBE,UAAW9uB,EAAQ8uB,WDGZH,GAAgBrnC,IDoCnB+hC,GAAc1f,KAChBne,EAAUs/B,GAAsBnhB,GAAA,IACxByS,GAAKzS,EAAa+lB,WAC1BlkC,EAAQkwB,GAAK/R,EAAa8lB,WACjBr1C,IACToR,EAAQ4wB,EAAI4S,GAAoB50C,KAI7B,CACLgiC,EAAGh0C,EAAKkuC,KAAO7rB,EAAOmkC,WAAapjC,EAAQ4wB,EAC3CV,EAAGtzC,EAAKouC,IAAM/rB,EAAOqkC,UAAYtjC,EAAQkwB,EACzCsP,MAAO5iD,EAAK4iD,MACZC,OAAQ7iD,EAAK6iD,OAEjB,CGvDA,SAAS0G,GAAM5/B,GACb,IAAI4X,EAAM,IAAIj+B,IACVvD,EAAU,IAAIiF,IACdka,EAAS,GAKb,SAAS0Y,EAAKjO,GACZ5pB,EAAQ2I,IAAIihB,EAAS3Q,MACN,GAAGzB,OAAOoS,EAASm4B,UAAY,GAAIn4B,EAASq7B,kBAAoB,IACtExgD,SAAQ,SAAUmlB,GACzB,IAAK5pB,EAAQ+G,IAAI6iB,GAAM,CACrB,IAAIzK,EAAcqiB,EAAIr/B,IAAIynB,GAEtBzK,GACF0Y,EAAK1Y,EAEf,CACA,IACIA,EAAO5f,KAAKqqB,EAChB,CAQE,OAzBAA,EAAUnlB,SAAQ,SAAUmlB,GAC1B4X,EAAIz+B,IAAI6mB,EAAS3Q,KAAM2Q,EAC3B,IAiBEA,EAAUnlB,SAAQ,SAAUmlB,GACrB5pB,EAAQ+G,IAAI6iB,EAAS3Q,OAExB4e,EAAKjO,EAEX,IACSzK,CACT,CCvBA,IAAIsqC,GAAkB,CACpB/E,UAAW,SACX9oC,UAAW,GACX+lC,SAAU,YAGZ,SAAS+H,KACP,IAAK,IAAI9/B,EAAOzC,UAAUjnB,OAAQshC,EAAO,IAAIhlB,MAAMoN,GAAO5pB,EAAO,EAAGA,EAAO4pB,EAAM5pB,IAC/EwhC,EAAKxhC,GAAQmnB,UAAUnnB,GAGzB,OAAQwhC,EAAKpqB,MAAK,SAAUwS,GAC1B,QAASA,GAAoD,mBAAlCA,EAAQmkB,sBACvC,GACA,CAEO,SAAS4b,GAAgB//B,QAAA,IAC1BA,IACFA,EAAmB,CAAC,GAGtB,IAAI4X,EAAoB5X,EACpB5pB,EAAwBwhC,EAAkBooB,iBAC1CzqC,OAAA,IAAmBnf,EAAmC,GAAKA,EAC3D63B,EAAyB2J,EAAkBqoB,eAC3CzzB,OAAA,IAAiByB,EAAoC4xB,GAAkB5xB,EAC3E,OAAO,SAAsBjO,EAAW4X,EAAQxhC,QAAA,IAC1CA,IACFA,EAAUo2B,GAGZ,ICxC6ByB,EAC3BtqB,EDuCE0E,EAAQ,CACVyyC,UAAW,SACXoF,iBAAkB,GAClBl1C,QAAS1P,OAAO8pC,OAAO,CAAC,EAAGya,GAAiBrzB,GAC5CouB,cAAe,CAAC,EAChBjD,SAAU,CACRO,UAAWl4B,EACX63B,OAAQjgB,GAEVggB,WAAY,CAAC,EACb9Z,OAAQ,CAAC,GAEPznC,EAAmB,GACnBqiB,GAAA,EACAe,EAAW,CACb9D,MAAOtN,EACP83C,WAAY,SAAoB/pD,GAC9B,IAAI63B,EAAsC,mBAArB73B,EAAkCA,EAAiBiS,EAAM2C,SAAW5U,EACzFyoC,IACAx2B,EAAM2C,QAAU1P,OAAO8pC,OAAO,CAAC,EAAG5Y,EAAgBnkB,EAAM2C,QAASijB,GACjE5lB,EAAMk0C,cAAgB,CACpBrE,UAAWb,GAAUr3B,GAAau9B,GAAkBv9B,GAAaA,EAAUo+B,eAAiBb,GAAkBv9B,EAAUo+B,gBAAkB,GAC1IvG,OAAQ0F,GAAkB3lB,IAI5B,IElE4Bj0B,EAC9B+U,EFiEMwP,EDhCG,SAAwBlI,GAErC,IAAI4X,EAAmBgoB,GAAM5/B,GAE7B,OAAO+2B,GAAevgC,QAAO,SAAUwJ,EAAK5pB,GAC1C,OAAO4pB,EAAIpS,OAAOgqB,EAAiBp8B,QAAO,SAAUwkB,GAClD,OAAOA,EAAS03B,QAAUthD,CAChC,IACA,GAAK,GACL,CATe,EGlCqBuN,EFkEsB,GAAGiK,OAAO2H,EAAkBlN,EAAM2C,QAAQgH,WEjE9F0G,EAAS/U,EAAU6S,QAAO,SAAUwJ,EAAQ4X,GAC9C,IAAIxhC,EAAW4pB,EAAO4X,EAAQvoB,MAK9B,OAJA2Q,EAAO4X,EAAQvoB,MAAQjZ,EAAWkF,OAAO8pC,OAAO,CAAC,EAAGhvC,EAAUwhC,EAAS,CACrE5sB,QAAS1P,OAAO8pC,OAAO,CAAC,EAAGhvC,EAAS4U,QAAS4sB,EAAQ5sB,SACrD0B,KAAMpR,OAAO8pC,OAAO,CAAC,EAAGhvC,EAASsW,KAAMkrB,EAAQlrB,QAC5CkrB,EACE5X,CACX,GAAK,CAAC,GAEG1kB,OAAO/B,KAAKmf,GAAQjd,KAAI,SAAUukB,GACvC,OAAOtH,EAAOsH,EAClB,MF4DQ,OAJA3X,EAAM63C,iBAAmBh4B,EAAiB1sB,QAAO,SAAUwkB,GACzD,OAAOA,EAAEy3B,OACnB,IA+FMpvC,EAAM63C,iBAAiBrlD,SAAQ,SAAUmlB,GACvC,IAAI4X,EAAO5X,EAAK3Q,KACZjZ,EAAe4pB,EAAKhV,QACpBuK,OAAA,IAAUnf,EAA0B,CAAC,EAAIA,EACzC63B,EAASjO,EAAKtpB,OAElB,GAAsB,mBAAXu3B,EAAuB,CAChC,IAAIzB,EAAYyB,EAAO,CACrBtY,MAAOtN,EACPgH,KAAMuoB,EACNpzB,SAAUiV,EACVzO,QAASuK,IAKXlf,EAAiBV,KAAK62B,GAFT,WAAkB,EAGzC,CACA,IA/Ge/S,EAASpE,QACxB,EAMM+qC,YAAa,WACX,IAAI1nC,EAAJ,CAIA,IAAIsH,EAAkB3X,EAAMsvC,SACxB/f,EAAY5X,EAAgBk4B,UAC5B9hD,EAAS4pB,EAAgB63B,OAG7B,GAAKiI,GAAiBloB,EAAWxhC,GAAjC,CAKAiS,EAAM0yC,MAAQ,CACZ7C,UAAWyH,GAAiB/nB,EAAWuiB,GAAgB/jD,GAAoC,UAA3BiS,EAAM2C,QAAQ+sC,UAC9EF,OAAQ2B,GAAcpjD,IAOxBiS,EAAMqI,OAAA,EACNrI,EAAMyyC,UAAYzyC,EAAM2C,QAAQ8vC,UAKhCzyC,EAAM63C,iBAAiBrlD,SAAQ,SAAUmlB,GACvC,OAAO3X,EAAMuyC,cAAc56B,EAAS3Q,MAAQ/T,OAAO8pC,OAAO,CAAC,EAAGplB,EAAStT,KACjF,IAEQ,IAAK,IAAI6I,EAAQ,EAAGA,EAAQlN,EAAM63C,iBAAiB5pD,OAAQif,IACzD,IAAI,IAAAlN,EAAMqI,MAAV,CAMA,IAAIud,EAAwB5lB,EAAM63C,iBAAiB3qC,GAC/CiX,EAAKyB,EAAsBn4B,GAC3B6N,EAAyBsqB,EAAsBjjB,QAC/C3U,OAAA,IAAWsN,EAAoC,CAAC,EAAIA,EACpDk7B,EAAO5Q,EAAsB5e,KAEf,mBAAPmd,IACTnkB,EAAQmkB,EAAG,CACT7W,MAAOtN,EACP2C,QAAS3U,EACTgZ,KAAMwvB,EACNr6B,SAAUiV,KACNpR,EAdlB,MAHYA,EAAMqI,OAAA,EACN6E,GAAS,CAzBrB,CATA,CAqDA,EAGMF,QC1I2B4Y,ED0IV,WACf,OAAO,IAAI5nB,SAAQ,SAAU2Z,GAC3BvG,EAAS2mC,cACTpgC,EAAQ3X,EAClB,GACA,EC7IS,WAUL,OATK1E,IACHA,EAAU,IAAI0C,SAAQ,SAAU2Z,GAC9B3Z,QAAQC,UAAUI,MAAK,WACrB/C,OAAA,EACAqc,EAAQiO,IAClB,GACA,KAGWtqB,CACX,GDmIM08C,QAAS,WACPxhB,IACAnmB,GAAA,CACR,GAGI,IAAKonC,GAAiB9/B,EAAW4X,GAC/B,OAAOne,EAmCT,SAASolB,IACPxoC,EAAiBwE,SAAQ,SAAUmlB,GACjC,OAAOA,GACf,IACM3pB,EAAmB,EACzB,CAEI,OAvCAojB,EAAS0mC,WAAW/pD,GAASsQ,MAAK,SAAUsZ,IACrCtH,GAAetiB,EAAQkqD,eAC1BlqD,EAAQkqD,cAActgC,EAE9B,IAmCWvG,CACX,CACA,CACO,IAAI8mC,GAA4BR,KG9LnCS,GAA4BT,GAAgB,CAC9CC,iBAFqB,CAAC5D,GAAgBmD,GAAetD,GAAezE,MCMlEiJ,GAA4BV,GAAgB,CAC9CC,iBAFqB,CAAC5D,GAAgBmD,GAAetD,GAAezE,GAAa8H,GAAQb,GAAMe,GAAiB7E,GAAOqE,M,+lBCkBnH0B,GAAO,WAEPC,GAAa,eACbC,GAAe,YAIfC,GAAe,UACfC,GAAiB,YAGjBC,GAAc,OAAMJ,KACpBK,GAAgB,SAAQL,KACxBM,GAAc,OAAMN,KACpBO,GAAe,QAAOP,KACtBQ,GAAwB,QAAOR,KAAYC,KAC3CQ,GAA0B,UAAST,KAAYC,KAC/CS,GAAwB,QAAOV,KAAYC,KAE3CU,GAAkB,OAOlBC,GAAuB,4DACvBC,GAA8B,GAAED,MAAwBD,KACxDG,GAAgB,iBAKhBC,GAAgBj7C,IAAU,UAAY,YACtCk7C,GAAmBl7C,IAAU,YAAc,UAC3Cm7C,GAAmBn7C,IAAU,aAAe,eAC5Co7C,GAAsBp7C,IAAU,eAAiB,aACjDq7C,GAAkBr7C,IAAU,aAAe,cAC3Cs7C,GAAiBt7C,IAAU,cAAgB,aAI3Cu7C,GAAU,CACdC,WAAA,EACAjE,SAAU,kBACVte,QAAS,UACT2e,OAAQ,CAAC,EAAG,GACZ6D,aAAc,KACdhK,UAAW,UAGPiK,GAAc,CAClBF,UAAW,mBACXjE,SAAU,mBACVte,QAAS,SACT2e,OAAQ,0BACR6D,aAAc,yBACdhK,UAAW,2BAOb,MAAMkK,WAAiBvV,EACrB33C,WAAAA,CAAY8qB,EAAS4X,GACnBn6B,MAAMuiB,EAAS4X,GAEfxiC,KAAKitD,QAAU,KACfjtD,KAAKktD,QAAUltD,KAAK03C,SAAS5pB,WAE7B9tB,KAAKmtD,MAAQ9U,EAAeztC,KAAK5K,KAAK03C,SAAU2U,IAAe,IAC7DhU,EAAeliC,KAAKnW,KAAK03C,SAAU2U,IAAe,IAClDhU,EAAeC,QAAQ+T,GAAersD,KAAKktD,SAC7CltD,KAAKotD,UAAYptD,KAAKqtD,eACxB,CAGA,kBAAApW,GACE,OAAO2V,EACT,CAEA,sBAAA1V,GACE,OAAO6V,EACT,CAEA,eAAA9Y,GACE,OAAOqX,EACT,CAGA9R,MAAAA,GACE,OAAOx5C,KAAKggD,WAAahgD,KAAKigD,OAASjgD,KAAKkgD,MAC9C,CAEAA,IAAAA,GACE,GAAIj/C,EAAWjB,KAAK03C,WAAa13C,KAAKggD,WACpC,OAGF,MAAMp1B,EAAgB,CACpB4qB,cAAex1C,KAAK03C,UAKtB,IAFkB7B,EAAan0C,QAAQ1B,KAAK03C,SAAUmU,GAAYjhC,GAEpD0rB,iBAAd,CAUA,GANAt2C,KAAKstD,gBAMD,iBAAkB3pB,SAASiQ,kBAAoB5zC,KAAKktD,QAAQ5Z,QAtFxC,eAuFtB,IAAK,MAAM1oB,IAAW,GAAGpS,UAAUmrB,SAASgG,KAAK5wB,UAC/C88B,EAAaj1C,GAAGgqB,EAAS,YAAavG,GAI1CrkB,KAAK03C,SAAS6V,QACdvtD,KAAK03C,SAASvT,aAAa,oBAE3BnkC,KAAKmtD,MAAM1lB,UAAU99B,IAAIuiD,IACzBlsD,KAAK03C,SAASjQ,UAAU99B,IAAIuiD,IAC5BrW,EAAan0C,QAAQ1B,KAAK03C,SAAUoU,GAAalhC,EAnBjD,CAoBF,CAEAq1B,IAAAA,GACE,GAAIh/C,EAAWjB,KAAK03C,YAAc13C,KAAKggD,WACrC,OAGF,MAAMp1B,EAAgB,CACpB4qB,cAAex1C,KAAK03C,UAGtB13C,KAAKwtD,cAAc5iC,EACrB,CAEAitB,OAAAA,GACM73C,KAAKitD,SACPjtD,KAAKitD,QAAQhC,UAGf5iD,MAAMwvC,SACR,CAEA53B,MAAAA,GACEjgB,KAAKotD,UAAYptD,KAAKqtD,gBAClBrtD,KAAKitD,SACPjtD,KAAKitD,QAAQhtC,QAEjB,CAGAutC,aAAAA,CAAc5iC,GAEZ,IADkBirB,EAAan0C,QAAQ1B,KAAK03C,SAAUiU,GAAY/gC,GACpD0rB,iBAAd,CAMA,GAAI,iBAAkB3S,SAASiQ,gBAC7B,IAAK,MAAMhpB,IAAW,GAAGpS,UAAUmrB,SAASgG,KAAK5wB,UAC/C88B,EAAah1C,IAAI+pB,EAAS,YAAavG,GAIvCrkB,KAAKitD,SACPjtD,KAAKitD,QAAQhC,UAGfjrD,KAAKmtD,MAAM1lB,UAAUpb,OAAO6/B,IAC5BlsD,KAAK03C,SAASjQ,UAAUpb,OAAO6/B,IAC/BlsD,KAAK03C,SAASvT,aAAa,gBAAiB,SAC5CuS,EAAYE,oBAAoB52C,KAAKmtD,MAAO,UAC5CtX,EAAan0C,QAAQ1B,KAAK03C,SAAUkU,GAAchhC,EAlBlD,CAmBF,CAEAwsB,UAAAA,CAAWxsB,GAGT,GAAgC,iBAFhCA,EAASviB,MAAM+uC,WAAWxsB,IAERk4B,YAA2B1rB,EAAUxM,EAAOk4B,YACV,mBAA3Cl4B,EAAOk4B,UAAU/T,sBAGxB,MAAM,IAAIyI,UAAW,GAAE8T,GAAK9a,+GAG9B,OAAO5lB,CACT,CAEA0iC,aAAAA,GACE,QAAI,IAAOG,GACT,MAAM,IAAIjW,UAAU,gEAGtB,IAAI5sB,EAAmB5qB,KAAK03C,SAEG,WAA3B13C,KAAK23C,QAAQmL,UACfl4B,EAAmB5qB,KAAKktD,QACf91B,EAAUp3B,KAAK23C,QAAQmL,WAChCl4B,EAAmBrc,EAAWvO,KAAK23C,QAAQmL,WACA,iBAA3B9iD,KAAK23C,QAAQmL,YAC7Bl4B,EAAmB5qB,KAAK23C,QAAQmL,WAGlC,MAAMtgB,EAAexiC,KAAK0tD,mBAC1B1tD,KAAKitD,QAAU5B,GAAoBzgC,EAAkB5qB,KAAKmtD,MAAO3qB,EACnE,CAEAwd,QAAAA,GACE,OAAOhgD,KAAKmtD,MAAM1lB,UAAUgM,SAASyY,GACvC,CAEAyB,aAAAA,GACE,MAAM/iC,EAAiB5qB,KAAKktD,QAE5B,GAAItiC,EAAe6c,UAAUgM,SAzMN,WA0MrB,OAAOiZ,GAGT,GAAI9hC,EAAe6c,UAAUgM,SA5MJ,aA6MvB,OAAOkZ,GAGT,GAAI/hC,EAAe6c,UAAUgM,SA/MA,iBAgN3B,MAhMsB,MAmMxB,GAAI7oB,EAAe6c,UAAUgM,SAlNE,mBAmN7B,MAnMyB,SAuM3B,MAAMjR,EAAkF,QAA1EoG,iBAAiB5oC,KAAKmtD,OAAO9Z,iBAAiB,iBAAiBn/B,OAE7E,OAAI0W,EAAe6c,UAAUgM,SA7NP,UA8NbjR,EAAQ+pB,GAAmBD,GAG7B9pB,EAAQiqB,GAAsBD,EACvC,CAEAa,aAAAA,GACE,OAAkD,OAA3CrtD,KAAK03C,SAASpE,QA5ND,UA6NtB,CAEAsa,UAAAA,GACE,MAAM3E,OAAEr+B,GAAW5qB,KAAK23C,QAExB,MAAsB,iBAAX/sB,EACFA,EAAOyO,MAAM,KAAKhzB,KAAIukB,GAASplB,OAAO4qC,SAASxlB,EAAO,MAGzC,mBAAXA,EACF4X,GAAc5X,EAAO4X,EAAYxiC,KAAK03C,UAGxC9sB,CACT,CAEA8iC,gBAAAA,GACE,MAAM9iC,EAAwB,CAC5B86B,UAAW1lD,KAAK2tD,gBAChB/wC,UAAW,CAAC,CACV3C,KAAM,kBACNrE,QAAS,CACPgzC,SAAU5oD,KAAK23C,QAAQiR,WAG3B,CACE3uC,KAAM,SACNrE,QAAS,CACPqzC,OAAQjpD,KAAK4tD,iBAcnB,OARI5tD,KAAKotD,WAAsC,WAAzBptD,KAAK23C,QAAQrN,WACjCoM,EAAYC,iBAAiB32C,KAAKmtD,MAAO,SAAU,UACnDviC,EAAsBhO,UAAY,CAAC,CACjC3C,KAAM,cACNooC,SAAA,KAIG,IACFz3B,KACAiX,EAAQ7hC,KAAK23C,QAAQmV,aAAc,CAACliC,IAE3C,CAEAijC,eAAAA,EAAgB7oD,IAAE4lB,EAAG9lB,OAAE09B,IACrB,MAAMxhC,EAAQq3C,EAAenD,KA5QF,8DA4Q+Bl1C,KAAKmtD,OAAO/mD,QAAOwkB,GAAW3X,EAAU2X,KAE7F5pB,EAAME,QAMXgS,EAAqBlS,EAAOwhC,EAAQ5X,IAAQ8gC,IAAiB1qD,EAAMmR,SAASqwB,IAAS+qB,OACvF,CAGA,sBAAArZ,CAAuBtpB,GACrB,OAAO5qB,KAAKq5C,MAAK,WACf,MAAM7W,EAAOwqB,GAAS/U,oBAAoBj4C,KAAM4qB,GAEhD,GAAsB,iBAAXA,EAAX,CAIA,QAAI,IAAO4X,EAAK5X,GACd,MAAM,IAAI4sB,UAAW,oBAAmB5sB,MAG1C4X,EAAK5X,IANL,CAOF,GACF,CAEA,iBAAAkjC,CAAkBljC,GAChB,GA/TuB,IA+TnBA,EAAMmjC,QAAiD,UAAfnjC,EAAM7lB,MAlUtC,QAkU0D6lB,EAAM5lB,IAC1E,OAGF,MAAMw9B,EAAc6V,EAAenD,KAAKkX,IAExC,IAAK,MAAMprD,KAAUwhC,EAAa,CAChC,MAAMA,EAAUwqB,GAAShV,YAAYh3C,GACrC,IAAKwhC,IAAA,IAAWA,EAAQmV,QAAQkV,UAC9B,SAGF,MAAM1sC,EAAeyK,EAAMojC,eACrBn1B,EAAe1Y,EAAahO,SAASqwB,EAAQ2qB,OACnD,GACEhtC,EAAahO,SAASqwB,EAAQkV,WACC,WAA9BlV,EAAQmV,QAAQkV,YAA2Bh0B,GACb,YAA9B2J,EAAQmV,QAAQkV,WAA2Bh0B,EAE5C,SAIF,GAAI2J,EAAQ2qB,MAAM1Z,SAAS7oB,EAAM9lB,UAA4B,UAAf8lB,EAAM7lB,MAzV1C,QAyV8D6lB,EAAM5lB,KAAoB,qCAAqCi1B,KAAKrP,EAAM9lB,OAAOknC,UACvJ,SAGF,MAAM5U,EAAgB,CAAEoe,cAAehT,EAAQkV,UAE5B,UAAf9sB,EAAM7lB,OACRqyB,EAAc62B,WAAarjC,GAG7B4X,EAAQgrB,cAAcp2B,EACxB,CACF,CAEA,4BAAA82B,CAA6BtjC,GAI3B,MAAM4X,EAAU,kBAAkBvI,KAAKrP,EAAM9lB,OAAOknC,SAC9ChrC,EA7WS,WA6WO4pB,EAAM5lB,IACtBmb,EAAkB,CAACsrC,GAAcC,IAAgBv5C,SAASyY,EAAM5lB,KAEtE,IAAKmb,IAAoBnf,EACvB,OAGF,GAAIwhC,IAAYxhC,EACd,OAGF4pB,EAAMyrB,iBAGN,MAAMxd,EAAkB74B,KAAK85B,QAAQqyB,IACnCnsD,KACCq4C,EAAeliC,KAAKnW,KAAMmsD,IAAsB,IAC/C9T,EAAeztC,KAAK5K,KAAMmsD,IAAsB,IAChD9T,EAAeC,QAAQ6T,GAAsBvhC,EAAM6qB,eAAe3nB,YAEhEsJ,EAAW41B,GAAS/U,oBAAoBpf,GAE9C,GAAI1Y,EAIF,OAHAyK,EAAMujC,kBACN/2B,EAAS8oB,YACT9oB,EAASy2B,gBAAgBjjC,GAIvBwM,EAAS4oB,aACXp1B,EAAMujC,kBACN/2B,EAAS6oB,OACTpnB,EAAgB00B,QAEpB,EAOF1X,EAAaj1C,GAAG+iC,SAAUqoB,GAAwBG,GAAsBa,GAASkB,uBACjFrY,EAAaj1C,GAAG+iC,SAAUqoB,GAAwBK,GAAeW,GAASkB,uBAC1ErY,EAAaj1C,GAAG+iC,SAAUooB,GAAsBiB,GAASc,YACzDjY,EAAaj1C,GAAG+iC,SAAUsoB,GAAsBe,GAASc,YACzDjY,EAAaj1C,GAAG+iC,SAAUooB,GAAsBI,IAAsB,SAAUvhC,GAC9EA,EAAMyrB,iBACN2W,GAAS/U,oBAAoBj4C,MAAMw5C,QACrC,IAMA30B,EAAmBmoC,ICnbnB,MAAMoB,GAAO,WAEPC,GAAkB,OAClBC,GAAmB,gBAAeF,KAElCG,GAAU,CACdrkB,UAAW,iBACXskB,cAAe,KACfC,YAAA,EACAC,WAAA,EACAC,YAAa,QAGTC,GAAc,CAClB1kB,UAAW,SACXskB,cAAe,kBACfC,WAAY,UACZC,UAAW,UACXC,YAAa,oBAOf,MAAME,WAAiB7X,EACrBl3C,WAAAA,CAAY8qB,GACVviB,QACArI,KAAK23C,QAAU33C,KAAKo3C,WAAWxsB,GAC/B5qB,KAAK8uD,aAAA,EACL9uD,KAAK03C,SAAW,IAClB,CAGA,kBAAAT,GACE,OAAOsX,EACT,CAEA,sBAAArX,GACE,OAAO0X,EACT,CAEA,eAAA3a,GACE,OAAOma,EACT,CAGAlO,IAAAA,CAAKt1B,GACH,IAAK5qB,KAAK23C,QAAQ+W,UAEhB,YADA7sB,EAAQjX,GAIV5qB,KAAK+uD,UAEL,MAAMvsB,EAAUxiC,KAAKgvD,cACjBhvD,KAAK23C,QAAQ8W,YACfhlB,EAAOjH,GAGTA,EAAQiF,UAAU99B,IAAI0kD,IAEtBruD,KAAKivD,mBAAkB,KACrBptB,EAAQjX,EAAS,GAErB,CAEAq1B,IAAAA,CAAKr1B,GACE5qB,KAAK23C,QAAQ+W,WAKlB1uD,KAAKgvD,cAAcvnB,UAAUpb,OAAOgiC,IAEpCruD,KAAKivD,mBAAkB,KACrBjvD,KAAK63C,UACLhW,EAAQjX,EAAS,KARjBiX,EAAQjX,EAUZ,CAEAitB,OAAAA,GACO73C,KAAK8uD,cAIVjZ,EAAah1C,IAAIb,KAAK03C,SAAU4W,IAEhCtuD,KAAK03C,SAASrrB,SACdrsB,KAAK8uD,aAAA,EACP,CAGAE,WAAAA,GACE,IAAKhvD,KAAK03C,SAAU,CAClB,MAAM9sB,EAAW+Y,SAASvW,cAAc,OACxCxC,EAASsf,UAAYlqC,KAAK23C,QAAQzN,UAC9BlqC,KAAK23C,QAAQ8W,YACf7jC,EAAS6c,UAAU99B,IAjGH,QAoGlB3J,KAAK03C,SAAW9sB,CAClB,CAEA,OAAO5qB,KAAK03C,QACd,CAEAJ,iBAAAA,CAAkB1sB,GAGhB,OADAA,EAAO+jC,YAAcpgD,EAAWqc,EAAO+jC,aAChC/jC,CACT,CAEAmkC,OAAAA,GACE,GAAI/uD,KAAK8uD,YACP,OAGF,MAAMlkC,EAAU5qB,KAAKgvD,cACrBhvD,KAAK23C,QAAQgX,YAAYO,OAAOtkC,GAEhCirB,EAAaj1C,GAAGgqB,EAAS0jC,IAAiB,KACxCzsB,EAAQ7hC,KAAK23C,QAAQ6W,cAAc,IAGrCxuD,KAAK8uD,aAAA,CACP,CAEAG,iBAAAA,CAAkBrkC,GAChBpM,EAAuBoM,EAAU5qB,KAAKgvD,cAAehvD,KAAK23C,QAAQ8W,WACpE,ECpIF,MAEMU,GAAa,gBACbC,GAAiB,UAASD,KAC1BE,GAAqB,cAAaF,KAIlCG,GAAmB,WAEnBC,GAAU,CACdC,WAAA,EACAC,YAAa,MAGTC,GAAc,CAClBF,UAAW,UACXC,YAAa,WAOf,MAAME,WAAkB3Y,EACtBl3C,WAAAA,CAAY8qB,GACVviB,QACArI,KAAK23C,QAAU33C,KAAKo3C,WAAWxsB,GAC/B5qB,KAAK4vD,WAAA,EACL5vD,KAAK6vD,qBAAuB,IAC9B,CAGA,kBAAA5Y,GACE,OAAOsY,EACT,CAEA,sBAAArY,GACE,OAAOwY,EACT,CAEA,eAAAzb,GACE,MA1CS,WA2CX,CAGAniB,QAAAA,GACM9xB,KAAK4vD,YAIL5vD,KAAK23C,QAAQ6X,WACfxvD,KAAK23C,QAAQ8X,YAAYlC,QAG3B1X,EAAah1C,IAAI8iC,SAAUwrB,IAC3BtZ,EAAaj1C,GAAG+iC,SAAUyrB,IAAexkC,GAAS5qB,KAAK8vD,eAAellC,KACtEirB,EAAaj1C,GAAG+iC,SAAU0rB,IAAmBzkC,GAAS5qB,KAAK+vD,eAAenlC,KAE1E5qB,KAAK4vD,WAAA,EACP,CAEA35B,UAAAA,GACOj2B,KAAK4vD,YAIV5vD,KAAK4vD,WAAA,EACL/Z,EAAah1C,IAAI8iC,SAAUwrB,IAC7B,CAGAW,cAAAA,CAAellC,GACb,MAAM6kC,YAAEjtB,GAAgBxiC,KAAK23C,QAE7B,GAAI/sB,EAAM9lB,SAAW6+B,UAAY/Y,EAAM9lB,SAAW09B,GAAeA,EAAYiR,SAAS7oB,EAAM9lB,QAC1F,OAGF,MAAM9D,EAAWq3C,EAAeK,kBAAkBlW,GAE1B,IAApBxhC,EAASE,OACXshC,EAAY+qB,QACHvtD,KAAK6vD,uBAAyBP,GACvCtuD,EAASA,EAASE,OAAS,GAAGqsD,QAE9BvsD,EAAS,GAAGusD,OAEhB,CAEAwC,cAAAA,CAAenlC,GApFD,QAqFRA,EAAM5lB,MAIVhF,KAAK6vD,qBAAuBjlC,EAAMolC,SAAWV,GAxFzB,UAyFtB,EChGF,MAAM1uD,GAAyB,oDACzBqvD,GAA0B,cAC1BC,GAAmB,gBACnBC,GAAkB,eAMxB,MAAMC,GACJtwD,WAAAA,GACEE,KAAK03C,SAAW/T,SAASgG,IAC3B,CAGA0mB,QAAAA,GAEE,MAAMzlC,EAAgB+Y,SAASiQ,gBAAgBkS,YAC/C,OAAO7xB,KAAKgnB,IAAItS,OAAO2nB,WAAa1lC,EACtC,CAEAq1B,IAAAA,GACE,MAAMr1B,EAAQ5qB,KAAKqwD,WACnBrwD,KAAKuwD,mBAELvwD,KAAKwwD,sBAAsBxwD,KAAK03C,SAAUwY,IAAkB1tB,GAAmBA,EAAkB5X,IAEjG5qB,KAAKwwD,sBAAsB5vD,GAAwBsvD,IAAkB1tB,GAAmBA,EAAkB5X,IAC1G5qB,KAAKwwD,sBAAsBP,GAAyBE,IAAiB3tB,GAAmBA,EAAkB5X,GAC5G,CAEAtP,KAAAA,GACEtb,KAAKywD,wBAAwBzwD,KAAK03C,SAAU,YAC5C13C,KAAKywD,wBAAwBzwD,KAAK03C,SAAUwY,IAC5ClwD,KAAKywD,wBAAwB7vD,GAAwBsvD,IACrDlwD,KAAKywD,wBAAwBR,GAAyBE,GACxD,CAEAO,aAAAA,GACE,OAAO1wD,KAAKqwD,WAAa,CAC3B,CAGAE,gBAAAA,GACEvwD,KAAK2wD,sBAAsB3wD,KAAK03C,SAAU,YAC1C13C,KAAK03C,SAASvmB,MAAM42B,SAAW,QACjC,CAEAyI,qBAAAA,CAAsB5lC,EAAU4X,EAAexhC,GAC7C,MAAMmf,EAAiBngB,KAAKqwD,WAW5BrwD,KAAK4wD,2BAA2BhmC,GAVHA,IAC3B,GAAIA,IAAY5qB,KAAK03C,UAAY/O,OAAO2nB,WAAa1lC,EAAQk7B,YAAc3lC,EACzE,OAGFngB,KAAK2wD,sBAAsB/lC,EAAS4X,GACpC,MAAM3J,EAAkB8P,OAAOC,iBAAiBhe,GAASyoB,iBAAiB7Q,GAC1E5X,EAAQuG,MAAM+Z,YAAY1I,EAAgB,GAAExhC,EAASwE,OAAOqrC,WAAWhY,QAAsB,GAIjG,CAEA83B,qBAAAA,CAAsB/lC,EAAS4X,GAC7B,MAAMxhC,EAAc4pB,EAAQuG,MAAMkiB,iBAAiB7Q,GAC/CxhC,GACF01C,EAAYC,iBAAiB/rB,EAAS4X,EAAexhC,EAEzD,CAEAyvD,uBAAAA,CAAwB7lC,EAAU4X,GAahCxiC,KAAK4wD,2BAA2BhmC,GAZHA,IAC3B,MAAM5pB,EAAQ01C,EAAYK,iBAAiBnsB,EAAS4X,GAEtC,OAAVxhC,GAKJ01C,EAAYE,oBAAoBhsB,EAAS4X,GACzC5X,EAAQuG,MAAM+Z,YAAY1I,EAAexhC,IALvC4pB,EAAQuG,MAAM0/B,eAAeruB,EAKgB,GAInD,CAEAouB,0BAAAA,CAA2BhmC,EAAU4X,GACnC,GAAIpL,EAAUxM,GACZ4X,EAAS5X,QAIX,IAAK,MAAM5pB,KAAOq3C,EAAenD,KAAKtqB,EAAU5qB,KAAK03C,UACnDlV,EAASxhC,EAEb,ECxFF,MAEM8vD,GAAa,YAIbC,GAAc,OAAMD,KACpBE,GAAwB,gBAAeF,KACvCpwD,GAAgB,SAAQowD,KACxBG,GAAc,OAAMH,KACpBI,GAAe,QAAOJ,KACtBK,GAAgB,SAAQL,KACxBt6C,GAAuB,gBAAes6C,KACtCM,GAA2B,oBAAmBN,KAC9CO,GAAyB,kBAAiBP,KAC1CQ,GAAwB,QAAOR,cAE/BS,GAAkB,aAElBC,GAAkB,OAClBC,GAAoB,eAOpBC,GAAU,CACdC,UAAA,EACApE,OAAA,EACA3Q,UAAA,GAGIgV,GAAc,CAClBD,SAAU,mBACVpE,MAAO,UACP3Q,SAAU,WAOZ,MAAMiV,WAAcpa,EAClB33C,WAAAA,CAAY8qB,EAAS4X,GACnBn6B,MAAMuiB,EAAS4X,GAEfxiC,KAAK8xD,QAAUzZ,EAAeC,QAxBV,gBAwBmCt4C,KAAK03C,UAC5D13C,KAAK+xD,UAAY/xD,KAAKgyD,sBACtBhyD,KAAKiyD,WAAajyD,KAAKkyD,uBACvBlyD,KAAKggD,UAAA,EACLhgD,KAAK4/C,kBAAA,EACL5/C,KAAKmyD,WAAa,IAAI/B,GAEtBpwD,KAAKw9C,oBACP,CAGA,kBAAAvG,GACE,OAAOya,EACT,CAEA,sBAAAxa,GACE,OAAO0a,EACT,CAEA,eAAA3d,GACE,MAnES,OAoEX,CAGAuF,MAAAA,CAAO5uB,GACL,OAAO5qB,KAAKggD,SAAWhgD,KAAKigD,OAASjgD,KAAKkgD,KAAKt1B,EACjD,CAEAs1B,IAAAA,CAAKt1B,GACC5qB,KAAKggD,UAAYhgD,KAAK4/C,kBAIR/J,EAAan0C,QAAQ1B,KAAK03C,SAAUuZ,GAAY,CAChEzb,cAAA5qB,IAGY0rB,mBAIdt2C,KAAKggD,UAAA,EACLhgD,KAAK4/C,kBAAA,EAEL5/C,KAAKmyD,WAAWlS,OAEhBtc,SAASgG,KAAKlC,UAAU99B,IAAI4nD,IAE5BvxD,KAAKoyD,gBAELpyD,KAAK+xD,UAAU7R,MAAK,IAAMlgD,KAAKqyD,aAAaznC,KAC9C,CAEAq1B,IAAAA,GACOjgD,KAAKggD,WAAYhgD,KAAK4/C,mBAIT/J,EAAan0C,QAAQ1B,KAAK03C,SAAUqZ,IAExCza,mBAIdt2C,KAAKggD,UAAA,EACLhgD,KAAK4/C,kBAAA,EACL5/C,KAAKiyD,WAAWh8B,aAEhBj2B,KAAK03C,SAASjQ,UAAUpb,OAAOmlC,IAE/BxxD,KAAK+3C,gBAAe,IAAM/3C,KAAKsyD,cAActyD,KAAK03C,SAAU13C,KAAK4+C,gBACnE,CAEA/G,OAAAA,GACEhC,EAAah1C,IAAI8nC,OAAQmoB,IACzBjb,EAAah1C,IAAIb,KAAK8xD,QAAShB,IAE/B9wD,KAAK+xD,UAAUla,UACf73C,KAAKiyD,WAAWh8B,aAEhB5tB,MAAMwvC,SACR,CAEA0a,YAAAA,GACEvyD,KAAKoyD,eACP,CAGAJ,mBAAAA,GACE,OAAO,IAAInD,GAAS,CAClBH,UAAWrkC,QAAQrqB,KAAK23C,QAAQga,UAChClD,WAAYzuD,KAAK4+C,eAErB,CAEAsT,oBAAAA,GACE,OAAO,IAAIvC,GAAU,CACnBF,YAAazvD,KAAK03C,UAEtB,CAEA2a,YAAAA,CAAaznC,GAEN+Y,SAASgG,KAAK8J,SAASzzC,KAAK03C,WAC/B/T,SAASgG,KAAKulB,OAAOlvD,KAAK03C,UAG5B13C,KAAK03C,SAASvmB,MAAMmZ,QAAU,QAC9BtqC,KAAK03C,SAASzN,gBAAgB,eAC9BjqC,KAAK03C,SAASvT,aAAa,iBAC3BnkC,KAAK03C,SAASvT,aAAa,OAAQ,UACnCnkC,KAAK03C,SAASiQ,UAAY,EAE1B,MAAMnlB,EAAY6V,EAAeC,QAxIT,cAwIsCt4C,KAAK8xD,SAC/DtvB,IACFA,EAAUmlB,UAAY,GAGxBle,EAAOzpC,KAAK03C,UAEZ13C,KAAK03C,SAASjQ,UAAU99B,IAAI6nD,IAa5BxxD,KAAK+3C,gBAXsB,KACrB/3C,KAAK23C,QAAQ4V,OACfvtD,KAAKiyD,WAAWngC,WAGlB9xB,KAAK4/C,kBAAA,EACL/J,EAAan0C,QAAQ1B,KAAK03C,SAAUwZ,GAAa,CAC/C1b,cAAA5qB,GACA,GAGoC5qB,KAAK8xD,QAAS9xD,KAAK4+C,cAC7D,CAEApB,kBAAAA,GACE3H,EAAaj1C,GAAGZ,KAAK03C,SAAU2Z,IAAuBzmC,IApLvC,WAqLTA,EAAM5lB,MAINhF,KAAK23C,QAAQiF,SACf58C,KAAKigD,OAIPjgD,KAAKwyD,6BAA4B,IAGnC3c,EAAaj1C,GAAG+nC,OAAQwoB,IAAc,KAChCnxD,KAAKggD,WAAahgD,KAAK4/C,kBACzB5/C,KAAKoyD,eACP,IAGFvc,EAAaj1C,GAAGZ,KAAK03C,SAAU0Z,IAAyBxmC,IAEtDirB,EAAaE,IAAI/1C,KAAK03C,SAAUlhC,IAAqBgsB,IAC/CxiC,KAAK03C,WAAa9sB,EAAM9lB,QAAU9E,KAAK03C,WAAalV,EAAO19B,SAIjC,WAA1B9E,KAAK23C,QAAQga,SAKb3xD,KAAK23C,QAAQga,UACf3xD,KAAKigD,OALLjgD,KAAKwyD,6BAMP,GACA,GAEN,CAEAF,UAAAA,GACEtyD,KAAK03C,SAASvmB,MAAMmZ,QAAU,OAC9BtqC,KAAK03C,SAASvT,aAAa,kBAC3BnkC,KAAK03C,SAASzN,gBAAgB,cAC9BjqC,KAAK03C,SAASzN,gBAAgB,QAC9BjqC,KAAK4/C,kBAAA,EAEL5/C,KAAK+xD,UAAU9R,MAAK,KAClBtc,SAASgG,KAAKlC,UAAUpb,OAAOklC,IAC/BvxD,KAAKyyD,oBACLzyD,KAAKmyD,WAAW72C,QAChBu6B,EAAan0C,QAAQ1B,KAAK03C,SAAUh3C,GAAa,GAErD,CAEAk+C,WAAAA,GACE,OAAO5+C,KAAK03C,SAASjQ,UAAUgM,SA5NX,OA6NtB,CAEA+e,0BAAAA,GAEE,GADkB3c,EAAan0C,QAAQ1B,KAAK03C,SAAUsZ,IACxC1a,iBACZ,OAGF,MAAM1rB,EAAqB5qB,KAAK03C,SAAS+Q,aAAe9kB,SAASiQ,gBAAgBiS,aAC3ErjB,EAAmBxiC,KAAK03C,SAASvmB,MAAM82B,UAEpB,WAArBzlB,GAAiCxiC,KAAK03C,SAASjQ,UAAUgM,SAASge,MAIjE7mC,IACH5qB,KAAK03C,SAASvmB,MAAM82B,UAAY,UAGlCjoD,KAAK03C,SAASjQ,UAAU99B,IAAI8nD,IAC5BzxD,KAAK+3C,gBAAe,KAClB/3C,KAAK03C,SAASjQ,UAAUpb,OAAOolC,IAC/BzxD,KAAK+3C,gBAAe,KAClB/3C,KAAK03C,SAASvmB,MAAM82B,UAAYzlB,CAAgB,GAC/CxiC,KAAK8xD,QAAQ,GACf9xD,KAAK8xD,SAER9xD,KAAK03C,SAAS6V,QAChB,CAMA6E,aAAAA,GACE,MAAMxnC,EAAqB5qB,KAAK03C,SAAS+Q,aAAe9kB,SAASiQ,gBAAgBiS,aAC3ErjB,EAAiBxiC,KAAKmyD,WAAW9B,WACjCrvD,EAAoBwhC,EAAiB,EAE3C,GAAIxhC,IAAsB4pB,EAAoB,CAC5C,MAAMA,EAAWvZ,IAAU,cAAgB,eAC3CrR,KAAK03C,SAASvmB,MAAMvG,GAAa,GAAE4X,KACrC,CAEA,IAAKxhC,GAAqB4pB,EAAoB,CAC5C,MAAMA,EAAWvZ,IAAU,eAAiB,cAC5CrR,KAAK03C,SAASvmB,MAAMvG,GAAa,GAAE4X,KACrC,CACF,CAEAiwB,iBAAAA,GACEzyD,KAAK03C,SAASvmB,MAAMuhC,YAAc,GAClC1yD,KAAK03C,SAASvmB,MAAMwhC,aAAe,EACrC,CAGA,sBAAAze,CAAuBtpB,EAAQ4X,GAC7B,OAAOxiC,KAAKq5C,MAAK,WACf,MAAMr4C,EAAO6wD,GAAM5Z,oBAAoBj4C,KAAM4qB,GAE7C,GAAsB,iBAAXA,EAAX,CAIA,QAAI,IAAO5pB,EAAK4pB,GACd,MAAM,IAAI4sB,UAAW,oBAAmB5sB,MAG1C5pB,EAAK4pB,GAAQ4X,EANb,CAOF,GACF,EAOFqT,EAAaj1C,GAAG+iC,SAAU2tB,GAnSG,4BAmSyC,SAAU1mC,GAC9E,MAAM4X,EAAS6V,EAAeO,uBAAuB54C,MAEjD,CAAC,IAAK,QAAQmS,SAASnS,KAAKgsC,UAC9BphB,EAAMyrB,iBAGRR,EAAaE,IAAIvT,EAAQyuB,IAAYrmC,IAC/BA,EAAU0rB,kBAKdT,EAAaE,IAAIvT,EAAQ9hC,IAAc,KACjCuS,EAAUjT,OACZA,KAAKutD,OACP,GACA,IAIJ,MAAMvsD,EAAcq3C,EAAeC,QA3Tf,eA4ThBt3C,GACF6wD,GAAM7Z,YAAYh3C,GAAai/C,OAGpB4R,GAAM5Z,oBAAoBzV,GAElCgX,OAAOx5C,KACd,IAEA84C,EAAqB+Y,IAMrBhtC,EAAmBgtC,IC/VnB,MAEMe,GAAa,gBACbC,GAAe,YACfC,GAAuB,OAAMF,KAAYC,KAGzCE,GAAkB,OAClBC,GAAqB,UACrBC,GAAoB,SAEpBC,GAAgB,kBAEhBC,GAAc,OAAMP,KACpBQ,GAAe,QAAOR,KACtBS,GAAc,OAAMT,KACpBU,GAAwB,gBAAeV,KACvCW,GAAgB,SAAQX,KACxBY,GAAgB,SAAQZ,KACxBa,GAAwB,QAAOb,KAAYC,KAC3Ca,GAAyB,kBAAiBd,KAI1Ce,GAAU,CACdhC,UAAA,EACA/U,UAAA,EACAqK,QAAA,GAGI2M,GAAc,CAClBjC,SAAU,mBACV/U,SAAU,UACVqK,OAAQ,WAOV,MAAM4M,WAAkBpc,EACtB33C,WAAAA,CAAY8qB,EAAS4X,GACnBn6B,MAAMuiB,EAAS4X,GAEfxiC,KAAKggD,UAAA,EACLhgD,KAAK+xD,UAAY/xD,KAAKgyD,sBACtBhyD,KAAKiyD,WAAajyD,KAAKkyD,uBACvBlyD,KAAKw9C,oBACP,CAGA,kBAAAvG,GACE,OAAO0c,EACT,CAEA,sBAAAzc,GACE,OAAO0c,EACT,CAEA,eAAA3f,GACE,MA5DS,WA6DX,CAGAuF,MAAAA,CAAO5uB,GACL,OAAO5qB,KAAKggD,SAAWhgD,KAAKigD,OAASjgD,KAAKkgD,KAAKt1B,EACjD,CAEAs1B,IAAAA,CAAKt1B,GACC5qB,KAAKggD,UAISnK,EAAan0C,QAAQ1B,KAAK03C,SAAUyb,GAAY,CAAE3d,cAAA5qB,IAEtD0rB,mBAIdt2C,KAAKggD,UAAA,EACLhgD,KAAK+xD,UAAU7R,OAEVlgD,KAAK23C,QAAQsP,SAChB,IAAImJ,IAAkBnQ,OAGxBjgD,KAAK03C,SAASvT,aAAa,iBAC3BnkC,KAAK03C,SAASvT,aAAa,OAAQ,UACnCnkC,KAAK03C,SAASjQ,UAAU99B,IAAIqpD,IAY5BhzD,KAAK+3C,gBAVoB,KAClB/3C,KAAK23C,QAAQsP,SAAUjnD,KAAK23C,QAAQga,UACvC3xD,KAAKiyD,WAAWngC,WAGlB9xB,KAAK03C,SAASjQ,UAAU99B,IAAIopD,IAC5B/yD,KAAK03C,SAASjQ,UAAUpb,OAAO2mC,IAC/Bnd,EAAan0C,QAAQ1B,KAAK03C,SAAU0b,GAAa,CAAE5d,cAAA5qB,GAAgB,GAG/B5qB,KAAK03C,UAAA,GAC7C,CAEAuI,IAAAA,GACOjgD,KAAKggD,WAIQnK,EAAan0C,QAAQ1B,KAAK03C,SAAU2b,IAExC/c,mBAIdt2C,KAAKiyD,WAAWh8B,aAChBj2B,KAAK03C,SAASoc,OACd9zD,KAAKggD,UAAA,EACLhgD,KAAK03C,SAASjQ,UAAU99B,IAAIspD,IAC5BjzD,KAAK+xD,UAAU9R,OAcfjgD,KAAK+3C,gBAZoB,KACvB/3C,KAAK03C,SAASjQ,UAAUpb,OAAO0mC,GAAiBE,IAChDjzD,KAAK03C,SAASzN,gBAAgB,cAC9BjqC,KAAK03C,SAASzN,gBAAgB,QAEzBjqC,KAAK23C,QAAQsP,SAChB,IAAImJ,IAAkB90C,QAGxBu6B,EAAan0C,QAAQ1B,KAAK03C,SAAU6b,GAAa,GAGbvzD,KAAK03C,UAAA,IAC7C,CAEAG,OAAAA,GACE73C,KAAK+xD,UAAUla,UACf73C,KAAKiyD,WAAWh8B,aAChB5tB,MAAMwvC,SACR,CAGAma,mBAAAA,GACE,MAUMpnC,EAAYP,QAAQrqB,KAAK23C,QAAQga,UAEvC,OAAO,IAAI9C,GAAS,CAClB3kB,UAlJsB,qBAmJtBwkB,UAAA9jC,EACA6jC,YAAA,EACAE,YAAa3uD,KAAK03C,SAAS5pB,WAC3B0gC,cAAe5jC,EAjBK,KACU,WAA1B5qB,KAAK23C,QAAQga,SAKjB3xD,KAAKigD,OAJHpK,EAAan0C,QAAQ1B,KAAK03C,SAAU4b,GAI3B,EAWgC,MAE/C,CAEApB,oBAAAA,GACE,OAAO,IAAIvC,GAAU,CACnBF,YAAazvD,KAAK03C,UAEtB,CAEA8F,kBAAAA,GACE3H,EAAaj1C,GAAGZ,KAAK03C,SAAUgc,IAAuB9oC,IAtKvC,WAuKTA,EAAM5lB,MAINhF,KAAK23C,QAAQiF,SACf58C,KAAKigD,OAIPpK,EAAan0C,QAAQ1B,KAAK03C,SAAU4b,IAAqB,GAE7D,CAGA,sBAAApf,CAAuBtpB,GACrB,OAAO5qB,KAAKq5C,MAAK,WACf,MAAM7W,EAAOqxB,GAAU5b,oBAAoBj4C,KAAM4qB,GAEjD,GAAsB,iBAAXA,EAAX,CAIA,QAAI,IAAA4X,EAAK5X,IAAyBA,EAAO/W,WAAW,MAAmB,gBAAX+W,EAC1D,MAAM,IAAI4sB,UAAW,oBAAmB5sB,MAG1C4X,EAAK5X,GAAQ5qB,KANb,CAOF,GACF,EAOF61C,EAAaj1C,GAAG+iC,SAAU8vB,GAzLG,gCAyLyC,SAAU7oC,GAC9E,MAAM4X,EAAS6V,EAAeO,uBAAuB54C,MAMrD,GAJI,CAAC,IAAK,QAAQmS,SAASnS,KAAKgsC,UAC9BphB,EAAMyrB,iBAGJp1C,EAAWjB,MACb,OAGF61C,EAAaE,IAAIvT,EAAQ+wB,IAAc,KAEjCtgD,EAAUjT,OACZA,KAAKutD,OACP,IAIF,MAAMvsD,EAAcq3C,EAAeC,QAAQ4a,IACvClyD,GAAeA,IAAgBwhC,GACjCqxB,GAAU7b,YAAYh3C,GAAai/C,OAGxB4T,GAAU5b,oBAAoBzV,GACtCgX,OAAOx5C,KACd,IAEA61C,EAAaj1C,GAAG+nC,OAAQmqB,IAAqB,KAC3C,IAAK,MAAMloC,KAAYytB,EAAenD,KAAKge,IACzCW,GAAU5b,oBAAoBrtB,GAAUs1B,MAC1C,IAGFrK,EAAaj1C,GAAG+nC,OAAQ6qB,IAAc,KACpC,IAAK,MAAM5oC,KAAWytB,EAAenD,KAAK,gDACG,UAAvCtM,iBAAiBhe,GAAS83B,UAC5BmR,GAAU5b,oBAAoBrtB,GAASq1B,MAE3C,IAGFnH,EAAqB+a,IAMrBhvC,EAAmBgvC,IC/QnB,MAEaE,GAAmB,CAE9B,IAAK,CAAC,QAAS,MAAO,KAAM,OAAQ,OAJP,kBAK7B9gD,EAAG,CAAC,SAAU,OAAQ,QAAS,OAC/B+gD,KAAM,GACN9gD,EAAG,GACH+gD,GAAI,GACJC,IAAK,GACLC,KAAM,GACNC,GAAI,GACJC,IAAK,GACLC,GAAI,GACJ3Y,GAAI,GACJ4Y,GAAI,GACJC,GAAI,GACJC,GAAI,GACJpuB,GAAI,GACJquB,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJ7zD,EAAG,GACH8zD,IAAK,CAAC,MAAO,SAAU,MAAO,QAAS,QAAS,UAChD5K,GAAI,GACJ6K,GAAI,GACJ1jD,EAAG,GACHW,IAAK,GACL6mB,EAAG,GACHm8B,MAAO,GACPC,KAAM,GACNC,IAAK,GACLC,IAAK,GACLC,OAAQ,GACRtiC,EAAG,GACHuiC,GAAI,IAIAC,GAAgB,IAAIrvD,IAAI,CAC5B,aACA,OACA,OACA,WACA,WACA,SACA,MACA,eAUIsvD,GAAmB,0DAEnBC,GAAmBA,CAAC5qC,EAAW4X,KACnC,MAAMxhC,EAAgB4pB,EAAUi3B,SAAS9rC,cAEzC,OAAIysB,EAAqBrwB,SAASnR,IAC5Bs0D,GAAcvtD,IAAI/G,IACbqpB,QAAQkrC,GAAiBt7B,KAAKrP,EAAU0Z,YAO5C9B,EAAqBp8B,QAAOwkB,GAAkBA,aAA0BiP,SAC5EzhB,MAAKwS,GAASA,EAAMqP,KAAKj5B,IAAe,EC/DvCy0D,GAAU,CACdC,UAAW3B,GACXrvB,QAAS,CAAC,EACVixB,WAAY,GACZC,MAAA,EACAC,UAAA,EACAC,WAAY,KACZjzB,SAAU,eAGNkzB,GAAc,CAClBL,UAAW,SACXhxB,QAAS,SACTixB,WAAY,oBACZC,KAAM,UACNC,SAAU,UACVC,WAAY,kBACZjzB,SAAU,UAGNmzB,GAAqB,CACzBC,MAAO,iCACPxxB,SAAU,oBAOZ,MAAMyxB,WAAwBlf,EAC5Bl3C,WAAAA,CAAY8qB,GACVviB,QACArI,KAAK23C,QAAU33C,KAAKo3C,WAAWxsB,EACjC,CAGA,kBAAAqsB,GACE,OAAOwe,EACT,CAEA,sBAAAve,GACE,OAAO6e,EACT,CAEA,eAAA9hB,GACE,MA/CS,iBAgDX,CAGAkiB,UAAAA,GACE,OAAOjwD,OAAOb,OAAOrF,KAAK23C,QAAQjT,SAC/Br+B,KAAIukB,GAAU5qB,KAAKo2D,yBAAyBxrC,KAC5CxkB,OAAOikB,QACZ,CAEAgsC,UAAAA,GACE,OAAOr2D,KAAKm2D,aAAaj1D,OAAS,CACpC,CAEAo1D,aAAAA,CAAc1rC,GAGZ,OAFA5qB,KAAKu2D,cAAc3rC,GACnB5qB,KAAK23C,QAAQjT,QAAU,IAAK1kC,KAAK23C,QAAQjT,WAAY9Z,GAC9C5qB,IACT,CAEAw2D,MAAAA,GACE,MAAM5rC,EAAkB+Y,SAASvW,cAAc,OAC/CxC,EAAgBma,UAAY/kC,KAAKy2D,eAAez2D,KAAK23C,QAAQ9U,UAE7D,IAAK,MAAOL,EAAUxhC,KAASkF,OAAOysC,QAAQ3yC,KAAK23C,QAAQjT,SACzD1kC,KAAK02D,YAAY9rC,EAAiB5pB,EAAMwhC,GAG1C,MAAMA,EAAW5X,EAAgB7R,SAAS,GACpC/X,EAAahB,KAAKo2D,yBAAyBp2D,KAAK23C,QAAQge,YAM9D,OAJI30D,GACFwhC,EAASiF,UAAU99B,OAAO3I,EAAWq4B,MAAM,MAGtCmJ,CACT,CAGA+U,gBAAAA,CAAiB3sB,GACfviB,MAAMkvC,iBAAiB3sB,GACvB5qB,KAAKu2D,cAAc3rC,EAAO8Z,QAC5B,CAEA6xB,aAAAA,CAAc3rC,GACZ,IAAK,MAAO4X,EAAUxhC,KAAYkF,OAAOysC,QAAQ/nB,GAC/CviB,MAAMkvC,iBAAiB,CAAE9S,SAAAjC,EAAUyzB,MAAOj1D,GAAWg1D,GAEzD,CAEAU,WAAAA,CAAY9rC,EAAU4X,EAASxhC,GAC7B,MAAMmf,EAAkBk4B,EAAeC,QAAQt3C,EAAU4pB,GAEpDzK,KAILqiB,EAAUxiC,KAAKo2D,yBAAyB5zB,IAOpCpL,EAAUoL,GACZxiC,KAAK22D,sBAAsBpoD,EAAWi0B,GAAUriB,GAI9CngB,KAAK23C,QAAQie,KACfz1C,EAAgB4kB,UAAY/kC,KAAKy2D,eAAej0B,GAIlDriB,EAAgBokB,YAAc/B,EAd5BriB,EAAgBkM,SAepB,CAEAoqC,cAAAA,CAAe7rC,GACb,OAAO5qB,KAAK23C,QAAQke,SDzDjB,SAAsBjrC,EAAY4X,EAAWxhC,GAClD,IAAK4pB,EAAW1pB,OACd,OAAO0pB,EAGT,GAAI5pB,GAAgD,mBAArBA,EAC7B,OAAOA,EAAiB4pB,GAG1B,MACMzK,GADY,IAAIwoB,OAAOiuB,WACKC,gBAAgBjsC,EAAY,aACxDiO,EAAW,GAAGrgB,UAAU2H,EAAgBwpB,KAAKgM,iBAAiB,MAEpE,IAAK,MAAM/qB,KAAWiO,EAAU,CAC9B,MAAM73B,EAAc4pB,EAAQi3B,SAAS9rC,cAErC,IAAK7P,OAAO/B,KAAKq+B,GAAWrwB,SAASnR,GAAc,CACjD4pB,EAAQyB,SACR,QACF,CAEA,MAAMlM,EAAgB,GAAG3H,UAAUoS,EAAQ43B,YACrC3pB,EAAoB,GAAGrgB,OAAOgqB,EAAU,MAAQ,GAAIA,EAAUxhC,IAAgB,IAEpF,IAAK,MAAMwhC,KAAariB,EACjBq1C,GAAiBhzB,EAAW3J,IAC/BjO,EAAQqf,gBAAgBzH,EAAUqf,SAGxC,CAEA,OAAO1hC,EAAgBwpB,KAAK5E,SAC9B,CAhCO,CCyDyCna,EAAK5qB,KAAK23C,QAAQ+d,UAAW11D,KAAK23C,QAAQme,YAAclrC,CACtG,CAEAwrC,wBAAAA,CAAyBxrC,GACvB,OAAOiX,EAAQjX,EAAK,CAAC5qB,MACvB,CAEA22D,qBAAAA,CAAsB/rC,EAAS4X,GAC7B,GAAIxiC,KAAK23C,QAAQie,KAGf,OAFApzB,EAAgBuC,UAAY,QAC5BvC,EAAgB0sB,OAAOtkC,GAIzB4X,EAAgB+B,YAAc3Z,EAAQ2Z,WACxC,ECvIF,MACMuyB,GAAwB,IAAI7wD,IAAI,CAAC,WAAY,YAAa,eAE1D8wD,GAAkB,OAElBC,GAAkB,OAGlBlnC,GAAkB,SAElBmnC,GAAmB,gBAEnBC,GAAgB,QAChBC,GAAgB,QAehBC,GAAgB,CACpBC,KAAM,OACNC,IAAK,MACLC,MAAOlmD,IAAU,OAAS,QAC1BmmD,OAAQ,SACRC,KAAMpmD,IAAU,QAAU,QAGtBqmD,GAAU,CACdhC,UAAW3B,GACX4D,WAAA,EACA/O,SAAU,kBACVn6B,WAAA,EACAmpC,YAAa,GACbC,MAAO,EACPpO,mBAAoB,CAAC,MAAO,QAAS,SAAU,QAC/CmM,MAAA,EACA3M,OAAQ,CAAC,EAAG,GACZvD,UAAW,MACXoH,aAAc,KACd+I,UAAA,EACAC,WAAY,KACZrxB,UAAA,EACA5B,SAAU,+GAIVi1B,MAAO,GACPp2D,QAAS,eAGLq2D,GAAc,CAClBrC,UAAW,SACXiC,UAAW,UACX/O,SAAU,mBACVn6B,UAAW,2BACXmpC,YAAa,oBACbC,MAAO,kBACPpO,mBAAoB,QACpBmM,KAAM,UACN3M,OAAQ,0BACRvD,UAAW,oBACXoH,aAAc,yBACd+I,SAAU,UACVC,WAAY,kBACZrxB,SAAU,mBACV5B,SAAU,SACVi1B,MAAO,4BACPp2D,QAAS,UAOX,MAAMs2D,WAAgBvgB,EACpB33C,WAAAA,CAAY8qB,EAAS4X,GACnB,QAAI,IAAOirB,GACT,MAAM,IAAIjW,UAAU,+DAGtBnvC,MAAMuiB,EAAS4X,GAGfxiC,KAAKi4D,YAAA,EACLj4D,KAAKk4D,SAAW,EAChBl4D,KAAKm4D,WAAa,KAClBn4D,KAAKo4D,eAAiB,CAAC,EACvBp4D,KAAKitD,QAAU,KACfjtD,KAAKq4D,iBAAmB,KACxBr4D,KAAKs4D,YAAc,KAGnBt4D,KAAKu4D,IAAM,KAEXv4D,KAAKw4D,gBAEAx4D,KAAK23C,QAAQlT,UAChBzkC,KAAKy4D,WAET,CAGA,kBAAAxhB,GACE,OAAOygB,EACT,CAEA,sBAAAxgB,GACE,OAAO6gB,EACT,CAEA,eAAA9jB,GACE,MAxHS,SAyHX,CAGAykB,MAAAA,GACE14D,KAAKi4D,YAAA,CACP,CAEAU,OAAAA,GACE34D,KAAKi4D,YAAA,CACP,CAEAW,aAAAA,GACE54D,KAAKi4D,YAAcj4D,KAAKi4D,UAC1B,CAEAze,MAAAA,GACOx5C,KAAKi4D,aAIVj4D,KAAKo4D,eAAeS,OAAS74D,KAAKo4D,eAAeS,MAC7C74D,KAAKggD,WACPhgD,KAAK84D,SAIP94D,KAAK+4D,SACP,CAEAlhB,OAAAA,GACE2G,aAAax+C,KAAKk4D,UAElBriB,EAAah1C,IAAIb,KAAK03C,SAASpE,QAAQxjB,IAAiBmnC,GAAkBj3D,KAAKg5D,mBAE3Eh5D,KAAK03C,SAASzL,aAAa,2BAC7BjsC,KAAK03C,SAASvT,aAAa,QAASnkC,KAAK03C,SAASzL,aAAa,2BAGjEjsC,KAAKi5D,iBACL5wD,MAAMwvC,SACR,CAEAqI,IAAAA,GACE,GAAoC,SAAhClgD,KAAK03C,SAASvmB,MAAMmZ,QACtB,MAAM,IAAI6M,MAAM,uCAGlB,IAAMn3C,KAAKk5D,mBAAoBl5D,KAAKi4D,WAClC,OAGF,MAAMrtC,EAAYirB,EAAan0C,QAAQ1B,KAAK03C,SAAU13C,KAAKF,YAAYq4C,UAzJxD,SA2JT3V,GADalf,EAAetjB,KAAK03C,WACL13C,KAAK03C,SAASqK,cAAcnO,iBAAiBH,SAASzzC,KAAK03C,UAE7F,GAAI9sB,EAAU0rB,mBAAqB9T,EACjC,OAIFxiC,KAAKi5D,iBAEL,MAAMj4D,EAAMhB,KAAKm5D,iBAEjBn5D,KAAK03C,SAASvT,aAAa,mBAAoBnjC,EAAIirC,aAAa,OAEhE,MAAMxd,UAAEtO,GAAcngB,KAAK23C,QAe3B,GAbK33C,KAAK03C,SAASqK,cAAcnO,gBAAgBH,SAASzzC,KAAKu4D,OAC7Dp4C,EAAU+uC,OAAOluD,GACjB60C,EAAan0C,QAAQ1B,KAAK03C,SAAU13C,KAAKF,YAAYq4C,UA1KpC,cA6KnBn4C,KAAKitD,QAAUjtD,KAAKstD,cAActsD,GAElCA,EAAIymC,UAAU99B,IAAIqtD,IAMd,iBAAkBrzB,SAASiQ,gBAC7B,IAAK,MAAMhpB,IAAW,GAAGpS,UAAUmrB,SAASgG,KAAK5wB,UAC/C88B,EAAaj1C,GAAGgqB,EAAS,YAAavG,GAc1CrkB,KAAK+3C,gBAVY,KACflC,EAAan0C,QAAQ1B,KAAK03C,SAAU13C,KAAKF,YAAYq4C,UA7LvC,eA+LVn4C,KAAKm4D,YACPn4D,KAAK84D,SAGP94D,KAAKm4D,YAAA,CAAkB,GAGKn4D,KAAKu4D,IAAKv4D,KAAK4+C,cAC/C,CAEAqB,IAAAA,GACE,GAAKjgD,KAAKggD,aAIQnK,EAAan0C,QAAQ1B,KAAK03C,SAAU13C,KAAKF,YAAYq4C,UAjNxD,SAkND7B,iBAAd,CASA,GALYt2C,KAAKm5D,iBACb1xB,UAAUpb,OAAO2qC,IAIjB,iBAAkBrzB,SAASiQ,gBAC7B,IAAK,MAAMhpB,IAAW,GAAGpS,UAAUmrB,SAASgG,KAAK5wB,UAC/C88B,EAAah1C,IAAI+pB,EAAS,YAAavG,GAI3CrkB,KAAKo4D,eAA4BS,OAAA,EACjC74D,KAAKo4D,eAAejB,KAAA,EACpBn3D,KAAKo4D,eAAelB,KAAA,EACpBl3D,KAAKm4D,WAAa,KAelBn4D,KAAK+3C,gBAbY,KACX/3C,KAAKo5D,yBAIJp5D,KAAKm4D,YACRn4D,KAAKi5D,iBAGPj5D,KAAK03C,SAASzN,gBAAgB,oBAC9B4L,EAAan0C,QAAQ1B,KAAK03C,SAAU13C,KAAKF,YAAYq4C,UA/OtC,WA+O8D,GAGjDn4C,KAAKu4D,IAAKv4D,KAAK4+C,cA/B7C,CAgCF,CAEA3+B,MAAAA,GACMjgB,KAAKitD,SACPjtD,KAAKitD,QAAQhtC,QAEjB,CAGAi5C,cAAAA,GACE,OAAO7uC,QAAQrqB,KAAKq5D,YACtB,CAEAF,cAAAA,GAKE,OAJKn5D,KAAKu4D,MACRv4D,KAAKu4D,IAAMv4D,KAAKs5D,kBAAkBt5D,KAAKs4D,aAAet4D,KAAKu5D,2BAGtDv5D,KAAKu4D,GACd,CAEAe,iBAAAA,CAAkB1uC,GAChB,MAAM4X,EAAMxiC,KAAKw5D,oBAAoB5uC,GAAS4rC,SAG9C,IAAKh0B,EACH,OAAO,KAGTA,EAAIiF,UAAUpb,OAAO0qC,GAAiBC,IAEtCx0B,EAAIiF,UAAU99B,IAAK,MAAK3J,KAAKF,YAAYm0C,aAEzC,MAAMjzC,E3ErRK,CAAA4pB,IACb,GACEA,GAAUqJ,KAAKwlC,MAjCH,IAiCSxlC,KAAKylC,gBACnB/1B,SAASg2B,eAAe/uC,IAEjC,OAAOA,CAAM,EALA,C2EqRU5qB,KAAKF,YAAYm0C,MAAM1K,WAQ5C,OANA/G,EAAI2B,aAAa,KAAMnjC,GAEnBhB,KAAK4+C,eACPpc,EAAIiF,UAAU99B,IAAIotD,IAGbv0B,CACT,CAEAo3B,UAAAA,CAAWhvC,GACT5qB,KAAKs4D,YAAc1tC,EACf5qB,KAAKggD,aACPhgD,KAAKi5D,iBACLj5D,KAAKkgD,OAET,CAEAsZ,mBAAAA,CAAoB5uC,GAalB,OAZI5qB,KAAKq4D,iBACPr4D,KAAKq4D,iBAAiB/B,cAAc1rC,GAEpC5qB,KAAKq4D,iBAAmB,IAAInC,GAAgB,IACvCl2D,KAAK23C,QAGRjT,QAAA9Z,EACA+qC,WAAY31D,KAAKo2D,yBAAyBp2D,KAAK23C,QAAQigB,eAIpD53D,KAAKq4D,gBACd,CAEAkB,sBAAAA,GACE,MAAO,CACL,iBAA0Bv5D,KAAKq5D,YAEnC,CAEAA,SAAAA,GACE,OAAOr5D,KAAKo2D,yBAAyBp2D,KAAK23C,QAAQmgB,QAAU93D,KAAK03C,SAASzL,aAAa,yBACzF,CAGA4tB,4BAAAA,CAA6BjvC,GAC3B,OAAO5qB,KAAKF,YAAYm4C,oBAAoBrtB,EAAM6qB,eAAgBz1C,KAAK85D,qBACzE,CAEAlb,WAAAA,GACE,OAAO5+C,KAAK23C,QAAQggB,WAAc33D,KAAKu4D,KAAOv4D,KAAKu4D,IAAI9wB,UAAUgM,SAASsjB,GAC5E,CAEA/W,QAAAA,GACE,OAAOhgD,KAAKu4D,KAAOv4D,KAAKu4D,IAAI9wB,UAAUgM,SAASujB,GACjD,CAEA1J,aAAAA,CAAc1iC,GACZ,MAAM4X,EAAYX,EAAQ7hC,KAAK23C,QAAQ+N,UAAW,CAAC1lD,KAAM4qB,EAAK5qB,KAAK03C,WAC7D12C,EAAao2D,GAAc50B,EAAUgO,eAC3C,OAAO6a,GAAoBrrD,KAAK03C,SAAU9sB,EAAK5qB,KAAK0tD,iBAAiB1sD,GACvE,CAEA4sD,UAAAA,GACE,MAAM3E,OAAEr+B,GAAW5qB,KAAK23C,QAExB,MAAsB,iBAAX/sB,EACFA,EAAOyO,MAAM,KAAKhzB,KAAIukB,GAASplB,OAAO4qC,SAASxlB,EAAO,MAGzC,mBAAXA,EACF4X,GAAc5X,EAAO4X,EAAYxiC,KAAK03C,UAGxC9sB,CACT,CAEAwrC,wBAAAA,CAAyBxrC,GACvB,OAAOiX,EAAQjX,EAAK,CAAC5qB,KAAK03C,UAC5B,CAEAgW,gBAAAA,CAAiB9iC,GACf,MAAM4X,EAAwB,CAC5BkjB,UAAW96B,EACXhO,UAAW,CACT,CACE3C,KAAM,OACNrE,QAAS,CACP6zC,mBAAoBzpD,KAAK23C,QAAQ8R,qBAGrC,CACExvC,KAAM,SACNrE,QAAS,CACPqzC,OAAQjpD,KAAK4tD,eAGjB,CACE3zC,KAAM,kBACNrE,QAAS,CACPgzC,SAAU5oD,KAAK23C,QAAQiR,WAG3B,CACE3uC,KAAM,QACNrE,QAAS,CACPowC,QAAU,IAAGhmD,KAAKF,YAAYm0C,eAGlC,CACEh6B,KAAM,kBACNooC,SAAA,EACAC,MAAO,aACP5hD,GAAIkqB,IAGF5qB,KAAKm5D,iBAAiBh1B,aAAa,wBAAyBvZ,EAAKrK,MAAMmlC,UAAU,KAMzF,MAAO,IACFljB,KACAX,EAAQ7hC,KAAK23C,QAAQmV,aAAc,CAACtqB,IAE3C,CAEAg2B,aAAAA,GACE,MAAM5tC,EAAW5qB,KAAK23C,QAAQj2C,QAAQ23B,MAAM,KAE5C,IAAK,MAAMmJ,KAAW5X,EACpB,GAAgB,UAAZ4X,EACFqT,EAAaj1C,GAAGZ,KAAK03C,SAAU13C,KAAKF,YAAYq4C,UAtZpC,SAsZ4Dn4C,KAAK23C,QAAQlT,UAAU7Z,IAC7E5qB,KAAK65D,6BAA6BjvC,GAC1C4uB,QAAQ,SAEb,GAjaU,WAiaNhX,EAA4B,CACrC,MAAM5X,EAAU4X,IAAY00B,GAC1Bl3D,KAAKF,YAAYq4C,UAzZF,cA0Zfn4C,KAAKF,YAAYq4C,UA5ZL,WA6ZRn3C,EAAWwhC,IAAY00B,GAC3Bl3D,KAAKF,YAAYq4C,UA3ZF,cA4Zfn4C,KAAKF,YAAYq4C,UA9ZJ,YAgaftC,EAAaj1C,GAAGZ,KAAK03C,SAAU9sB,EAAS5qB,KAAK23C,QAAQlT,UAAU7Z,IAC7D,MAAM4X,EAAUxiC,KAAK65D,6BAA6BjvC,GAClD4X,EAAQ41B,eAA8B,YAAfxtC,EAAM7lB,KAAqBoyD,GAAgBD,KAAA,EAClE10B,EAAQu2B,QAAQ,IAElBljB,EAAaj1C,GAAGZ,KAAK03C,SAAU12C,EAAUhB,KAAK23C,QAAQlT,UAAU7Z,IAC9D,MAAM4X,EAAUxiC,KAAK65D,6BAA6BjvC,GAClD4X,EAAQ41B,eAA8B,aAAfxtC,EAAM7lB,KAAsBoyD,GAAgBD,IACjE10B,EAAQkV,SAASjE,SAAS7oB,EAAM4qB,eAElChT,EAAQs2B,QAAQ,GAEpB,CAGF94D,KAAKg5D,kBAAoB,KACnBh5D,KAAK03C,UACP13C,KAAKigD,MACP,EAGFpK,EAAaj1C,GAAGZ,KAAK03C,SAASpE,QAAQxjB,IAAiBmnC,GAAkBj3D,KAAKg5D,kBAChF,CAEAP,SAAAA,GACE,MAAM7tC,EAAQ5qB,KAAK03C,SAASzL,aAAa,SAEpCrhB,IAIA5qB,KAAK03C,SAASzL,aAAa,eAAkBjsC,KAAK03C,SAASnT,YAAYrwB,QAC1ElU,KAAK03C,SAASvT,aAAa,aAAcvZ,GAG3C5qB,KAAK03C,SAASvT,aAAa,yBAA0BvZ,GACrD5qB,KAAK03C,SAASzN,gBAAgB,SAChC,CAEA8uB,MAAAA,GACM/4D,KAAKggD,YAAchgD,KAAKm4D,WAC1Bn4D,KAAKm4D,YAAA,GAIPn4D,KAAKm4D,YAAA,EAELn4D,KAAK+5D,aAAY,KACX/5D,KAAKm4D,YACPn4D,KAAKkgD,MACP,GACClgD,KAAK23C,QAAQkgB,MAAM3X,MACxB,CAEA4Y,MAAAA,GACM94D,KAAKo5D,yBAITp5D,KAAKm4D,YAAA,EAELn4D,KAAK+5D,aAAY,KACV/5D,KAAKm4D,YACRn4D,KAAKigD,MACP,GACCjgD,KAAK23C,QAAQkgB,MAAM5X,MACxB,CAEA8Z,WAAAA,CAAYnvC,EAAS4X,GACnBgc,aAAax+C,KAAKk4D,UAClBl4D,KAAKk4D,SAAWjwB,WAAWrd,EAAS4X,EACtC,CAEA42B,oBAAAA,GACE,OAAOlzD,OAAOb,OAAOrF,KAAKo4D,gBAAgBjmD,UAAA,EAC5C,CAEAilC,UAAAA,CAAWxsB,GACT,MAAM4X,EAAiBkU,EAAYG,kBAAkB72C,KAAK03C,UAE1D,IAAK,MAAM9sB,KAAiB1kB,OAAO/B,KAAKq+B,GAClCs0B,GAAsB/uD,IAAI6iB,WACrB4X,EAAe5X,GAW1B,OAPAA,EAAS,IACJ4X,KACmB,iBAAX5X,GAAuBA,EAASA,EAAS,CAAC,GAEvDA,EAAS5qB,KAAKq3C,gBAAgBzsB,GAC9BA,EAAS5qB,KAAKs3C,kBAAkB1sB,GAChC5qB,KAAKu3C,iBAAiB3sB,GACfA,CACT,CAEA0sB,iBAAAA,CAAkB1sB,GAkBhB,OAjBAA,EAAO6D,WAAA,IAAY7D,EAAO6D,UAAsBkV,SAASgG,KAAOp7B,EAAWqc,EAAO6D,WAEtD,iBAAjB7D,EAAOitC,QAChBjtC,EAAOitC,MAAQ,CACb3X,KAAMt1B,EAAOitC,MACb5X,KAAMr1B,EAAOitC,QAIW,iBAAjBjtC,EAAOktC,QAChBltC,EAAOktC,MAAQltC,EAAOktC,MAAMvuB,YAGA,iBAAnB3e,EAAO8Z,UAChB9Z,EAAO8Z,QAAU9Z,EAAO8Z,QAAQ6E,YAG3B3e,CACT,CAEAkvC,kBAAAA,GACE,MAAMlvC,EAAS,CAAC,EAEhB,IAAK,MAAO4X,EAAKxhC,KAAUkF,OAAOysC,QAAQ3yC,KAAK23C,SACzC33C,KAAKF,YAAYm3C,QAAQzU,KAASxhC,IACpC4pB,EAAO4X,GAAOxhC,GAUlB,OANA4pB,EAAO6Z,UAAA,EACP7Z,EAAOlpB,QAAU,SAKVkpB,CACT,CAEAquC,cAAAA,GACMj5D,KAAKitD,UACPjtD,KAAKitD,QAAQhC,UACbjrD,KAAKitD,QAAU,MAGbjtD,KAAKu4D,MACPv4D,KAAKu4D,IAAIlsC,SACTrsB,KAAKu4D,IAAM,KAEf,CAGA,sBAAArkB,CAAuBtpB,GACrB,OAAO5qB,KAAKq5C,MAAK,WACf,MAAM7W,EAAOw1B,GAAQ/f,oBAAoBj4C,KAAM4qB,GAE/C,GAAsB,iBAAXA,EAAX,CAIA,QAAI,IAAO4X,EAAK5X,GACd,MAAM,IAAI4sB,UAAW,oBAAmB5sB,MAG1C4X,EAAK5X,IANL,CAOF,GACF,EAOF/F,EAAmBmzC,ICxmBnB,MAKMgC,GAAU,IACXhC,GAAQ/gB,QACXvS,QAAS,GACTukB,OAAQ,CAAC,EAAG,GACZvD,UAAW,QACX7iB,SAAU,8IAKVnhC,QAAS,SAGLu4D,GAAc,IACfjC,GAAQ9gB,YACXxS,QAAS,kCAOX,MAAMw1B,WAAgBlC,GAEpB,kBAAA/gB,GACE,OAAO+iB,EACT,CAEA,sBAAA9iB,GACE,OAAO+iB,EACT,CAEA,eAAAhmB,GACE,MAtCS,SAuCX,CAGAilB,cAAAA,GACE,OAAOl5D,KAAKq5D,aAAer5D,KAAKm6D,aAClC,CAGAZ,sBAAAA,GACE,MAAO,CACL,kBAAkBv5D,KAAKq5D,YACvB,gBAAoBr5D,KAAKm6D,cAE7B,CAEAA,WAAAA,GACE,OAAOn6D,KAAKo2D,yBAAyBp2D,KAAK23C,QAAQjT,QACpD,CAGA,sBAAAwP,CAAuBtpB,GACrB,OAAO5qB,KAAKq5C,MAAK,WACf,MAAM7W,EAAO03B,GAAQjiB,oBAAoBj4C,KAAM4qB,GAE/C,GAAsB,iBAAXA,EAAX,CAIA,QAAI,IAAO4X,EAAK5X,GACd,MAAM,IAAI4sB,UAAW,oBAAmB5sB,MAG1C4X,EAAK5X,IANL,CAOF,GACF,EAOF/F,EAAmBq1C,IC5EnB,MAEME,GAAa,gBAGbC,GAAkB,WAAUD,KAC5BE,GAAe,QAAOF,KACtBG,GAAuB,OAAMH,cAG7BI,GAAoB,SAGpBC,GAAwB,SAExBC,GAAqB,YAGrBC,GAAuB,GAAED,mBAA+CA,uBAIxEE,GAAU,CACd3R,OAAQ,KACR4R,WAAY,eACZC,cAAA,EACAh2D,OAAQ,KACRi2D,UAAW,CAAC,GAAK,GAAK,IAGlBC,GAAc,CAClB/R,OAAQ,gBACR4R,WAAY,SACZC,aAAc,UACdh2D,OAAQ,UACRi2D,UAAW,SAOb,MAAME,WAAkBxjB,EACtB33C,WAAAA,CAAY8qB,EAAS4X,GACnBn6B,MAAMuiB,EAAS4X,GAGfxiC,KAAKk7D,aAAe,IAAI32D,IACxBvE,KAAKm7D,oBAAsB,IAAI52D,IAC/BvE,KAAKo7D,aAA6D,YAA9CxyB,iBAAiB5oC,KAAK03C,UAAUuQ,UAA0B,KAAOjoD,KAAK03C,SAC1F13C,KAAKq7D,cAAgB,KACrBr7D,KAAKs7D,UAAY,KACjBt7D,KAAKu7D,oBAAsB,CACzBC,gBAAiB,EACjBC,gBAAiB,GAEnBz7D,KAAK07D,SACP,CAGA,kBAAAzkB,GACE,OAAO2jB,EACT,CAEA,sBAAA1jB,GACE,OAAO8jB,EACT,CAEA,eAAA/mB,GACE,MArES,WAsEX,CAGAynB,OAAAA,GACE17D,KAAK27D,mCACL37D,KAAK47D,2BAED57D,KAAKs7D,UACPt7D,KAAKs7D,UAAUO,aAEf77D,KAAKs7D,UAAYt7D,KAAK87D,kBAGxB,IAAK,MAAMlxC,KAAW5qB,KAAKm7D,oBAAoB91D,SAC7CrF,KAAKs7D,UAAUS,QAAQnxC,EAE3B,CAEAitB,OAAAA,GACE73C,KAAKs7D,UAAUO,aACfxzD,MAAMwvC,SACR,CAGAP,iBAAAA,CAAkB1sB,GAWhB,OATAA,EAAO9lB,OAASyJ,EAAWqc,EAAO9lB,SAAW6+B,SAASgG,KAGtD/e,EAAOiwC,WAAajwC,EAAOq+B,OAAU,GAAEr+B,EAAOq+B,oBAAsBr+B,EAAOiwC,WAE3C,iBAArBjwC,EAAOmwC,YAChBnwC,EAAOmwC,UAAYnwC,EAAOmwC,UAAU1hC,MAAM,KAAKhzB,KAAIukB,GAASplB,OAAOqrC,WAAWjmB,MAGzEA,CACT,CAEAgxC,wBAAAA,GACO57D,KAAK23C,QAAQmjB,eAKlBjlB,EAAah1C,IAAIb,KAAK23C,QAAQ7yC,OAAQw1D,IAEtCzkB,EAAaj1C,GAAGZ,KAAK23C,QAAQ7yC,OAAQw1D,GAAaG,IAAuB7vC,IACvE,MAAM4X,EAAoBxiC,KAAKm7D,oBAAoBh4D,IAAIynB,EAAM9lB,OAAOk3D,MACpE,GAAIx5B,EAAmB,CACrB5X,EAAMyrB,iBACN,MAAMr1C,EAAOhB,KAAKo7D,cAAgBzyB,OAC5BxoB,EAASqiB,EAAkByhB,UAAYjkD,KAAK03C,SAASuM,UAC3D,GAAIjjD,EAAKi7D,SAEP,YADAj7D,EAAKi7D,SAAS,CAAE5sB,IAAKlvB,EAAQ+7C,SAAU,WAKzCl7D,EAAK2mD,UAAYxnC,CACnB,KAEJ,CAEA27C,eAAAA,GACE,MAAMlxC,EAAU,CACdzS,KAAMnY,KAAKo7D,aACXL,UAAW/6D,KAAK23C,QAAQojB,UACxBF,WAAY76D,KAAK23C,QAAQkjB,YAG3B,OAAO,IAAIsB,sBAAqBvxC,GAAW5qB,KAAKo8D,kBAAkBxxC,IAAUA,EAC9E,CAGAwxC,iBAAAA,CAAkBxxC,GAChB,MAAM4X,EAAgB5X,GAAS5qB,KAAKk7D,aAAa/3D,IAAK,IAAGynB,EAAM9lB,OAAO2M,MAChEzQ,EAAW4pB,IACf5qB,KAAKu7D,oBAAoBC,gBAAkB5wC,EAAM9lB,OAAOm/C,UACxDjkD,KAAKq8D,SAAS75B,EAAc5X,GAAO,EAG/BzK,GAAmBngB,KAAKo7D,cAAgBz3B,SAASiQ,iBAAiB+T,UAClE9uB,EAAkB1Y,GAAmBngB,KAAKu7D,oBAAoBE,gBACpEz7D,KAAKu7D,oBAAoBE,gBAAkBt7C,EAE3C,IAAK,MAAMiX,KAASxM,EAAS,CAC3B,IAAKwM,EAAMklC,eAAgB,CACzBt8D,KAAKq7D,cAAgB,KACrBr7D,KAAKu8D,kBAAkB/5B,EAAcpL,IAErC,QACF,CAEA,MAAMxM,EAA2BwM,EAAMtyB,OAAOm/C,WAAajkD,KAAKu7D,oBAAoBC,gBAEpF,GAAI3iC,GAAmBjO,GAGrB,GAFA5pB,EAASo2B,IAEJjX,EACH,YAOC0Y,GAAoBjO,GACvB5pB,EAASo2B,EAEb,CACF,CAEAukC,gCAAAA,GACE37D,KAAKk7D,aAAe,IAAI32D,IACxBvE,KAAKm7D,oBAAsB,IAAI52D,IAE/B,MAAMqmB,EAAcytB,EAAenD,KAAKulB,GAAuBz6D,KAAK23C,QAAQ7yC,QAE5E,IAAK,MAAM09B,KAAU5X,EAAa,CAEhC,IAAK4X,EAAOw5B,MAAQ/6D,EAAWuhC,GAC7B,SAGF,MAAM5X,EAAoBytB,EAAeC,QAAQkkB,UAAUh6B,EAAOw5B,MAAOh8D,KAAK03C,UAG1EzkC,EAAU2X,KACZ5qB,KAAKk7D,aAAan3D,IAAIy4D,UAAUh6B,EAAOw5B,MAAOx5B,GAC9CxiC,KAAKm7D,oBAAoBp3D,IAAIy+B,EAAOw5B,KAAMpxC,GAE9C,CACF,CAEAyxC,QAAAA,CAASzxC,GACH5qB,KAAKq7D,gBAAkBzwC,IAI3B5qB,KAAKu8D,kBAAkBv8D,KAAK23C,QAAQ7yC,QACpC9E,KAAKq7D,cAAgBzwC,EACrBA,EAAO6c,UAAU99B,IAAI6wD,IACrBx6D,KAAKy8D,iBAAiB7xC,GAEtBirB,EAAan0C,QAAQ1B,KAAK03C,SAAU2iB,GAAgB,CAAE7kB,cAAe5qB,IACvE,CAEA6xC,gBAAAA,CAAiB7xC,GAEf,GAAIA,EAAO6c,UAAUgM,SAlNQ,iBAmN3B4E,EAAeC,QAxMY,mBAwMsB1tB,EAAO0oB,QAzMpC,cA0MjB7L,UAAU99B,IAAI6wD,SAInB,IAAK,MAAMh4B,KAAa6V,EAAeE,QAAQ3tB,EAnNnB,qBAsN1B,IAAK,MAAMA,KAAQytB,EAAeliC,KAAKqsB,EAAWm4B,IAChD/vC,EAAK6c,UAAU99B,IAAI6wD,GAGzB,CAEA+B,iBAAAA,CAAkB3xC,GAChBA,EAAO6c,UAAUpb,OAAOmuC,IAExB,MAAMh4B,EAAc6V,EAAenD,KAAM,GAAEulB,MAAyBD,KAAqB5vC,GACzF,IAAK,MAAMA,KAAQ4X,EACjB5X,EAAK6c,UAAUpb,OAAOmuC,GAE1B,CAGA,sBAAAtmB,CAAuBtpB,GACrB,OAAO5qB,KAAKq5C,MAAK,WACf,MAAM7W,EAAOy4B,GAAUhjB,oBAAoBj4C,KAAM4qB,GAEjD,GAAsB,iBAAXA,EAAX,CAIA,QAAI,IAAA4X,EAAK5X,IAAyBA,EAAO/W,WAAW,MAAmB,gBAAX+W,EAC1D,MAAM,IAAI4sB,UAAW,oBAAmB5sB,MAG1C4X,EAAK5X,IANL,CAOF,GACF,EAOFirB,EAAaj1C,GAAG+nC,OAAQ4xB,IAAqB,KAC3C,IAAK,MAAM3vC,KAAOytB,EAAenD,KA9PT,0BA+PtB+lB,GAAUhjB,oBAAoBrtB,EAChC,IAOF/F,EAAmBo2C,ICrRnB,MAEMyB,GAAa,UAEbC,GAAc,OAAMD,KACpBE,GAAgB,SAAQF,KACxBG,GAAc,OAAMH,KACpBI,GAAe,QAAOJ,KACtBK,GAAwB,QAAOL,KAC/BM,GAAiB,UAASN,KAC1BO,GAAuB,OAAMP,KAE7BQ,GAAiB,YACjBC,GAAkB,aAClBC,GAAe,UACfC,GAAiB,YACjBC,GAAW,OACXC,GAAU,MAEVC,GAAoB,SACpBC,GAAkB,OAClBC,GAAkB,OAGlBC,GAA2B,mBAE3BC,GAAgC,QAAOD,MAKvCE,GAAuB,2EACvBC,GAAuB,YAFMF,uBAAiDA,mBAA6CA,OAE/EC,KAE5CE,GAA+B,IAAGP,8BAA6CA,+BAA8CA,4BAMnI,MAAMQ,WAAYvmB,EAChB33C,WAAAA,CAAY8qB,GACVviB,MAAMuiB,GACN5qB,KAAKktD,QAAUltD,KAAK03C,SAASpE,QAfN,uCAiBlBtzC,KAAKktD,UAOVltD,KAAKi+D,sBAAsBj+D,KAAKktD,QAASltD,KAAKk+D,gBAE9CroB,EAAaj1C,GAAGZ,KAAK03C,SAAUslB,IAAepyC,GAAS5qB,KAAKq+C,SAASzzB,KACvE,CAGA,eAAAqpB,GACE,MA3DS,KA4DX,CAGAiM,IAAAA,GACE,MAAMt1B,EAAY5qB,KAAK03C,SACvB,GAAI13C,KAAKm+D,cAAcvzC,GACrB,OAIF,MAAM4X,EAASxiC,KAAKo+D,iBAEdp9D,EAAYwhC,EAChBqT,EAAan0C,QAAQ8gC,EAAQm6B,GAAY,CAAEnnB,cAAe5qB,IAC1D,KAEgBirB,EAAan0C,QAAQkpB,EAAWiyC,GAAY,CAAErnB,cAAehT,IAEjE8T,kBAAqBt1C,GAAaA,EAAUs1C,mBAI1Dt2C,KAAKq+D,YAAY77B,EAAQ5X,GACzB5qB,KAAKs+D,UAAU1zC,EAAW4X,GAC5B,CAGA87B,SAAAA,CAAU1zC,EAAS4X,GACZ5X,IAILA,EAAQ6c,UAAU99B,IAAI6zD,IAEtBx9D,KAAKs+D,UAAUjmB,EAAeO,uBAAuBhuB,IAgBrD5qB,KAAK+3C,gBAdY,KACsB,QAAjCntB,EAAQqhB,aAAa,SAKzBrhB,EAAQqf,gBAAgB,YACxBrf,EAAQuZ,aAAa,oBACrBnkC,KAAKu+D,gBAAgB3zC,GAAA,GACrBirB,EAAan0C,QAAQkpB,EAASkyC,GAAa,CACzCtnB,cAAehT,KARf5X,EAAQ6c,UAAU99B,IAAI+zD,GAStB,GAG0B9yC,EAASA,EAAQ6c,UAAUgM,SAASgqB,KACpE,CAEAY,WAAAA,CAAYzzC,EAAS4X,GACd5X,IAILA,EAAQ6c,UAAUpb,OAAOmxC,IACzB5yC,EAAQkpC,OAER9zD,KAAKq+D,YAAYhmB,EAAeO,uBAAuBhuB,IAcvD5qB,KAAK+3C,gBAZY,KACsB,QAAjCntB,EAAQqhB,aAAa,SAKzBrhB,EAAQuZ,aAAa,oBACrBvZ,EAAQuZ,aAAa,WAAY,MACjCnkC,KAAKu+D,gBAAgB3zC,GAAA,GACrBirB,EAAan0C,QAAQkpB,EAASgyC,GAAc,CAAEpnB,cAAehT,KAP3D5X,EAAQ6c,UAAUpb,OAAOqxC,GAOgD,GAG/C9yC,EAASA,EAAQ6c,UAAUgM,SAASgqB,KACpE,CAEApf,QAAAA,CAASzzB,GACP,IAAM,CAACsyC,GAAgBC,GAAiBC,GAAcC,GAAgBC,GAAUC,IAASprD,SAASyY,EAAM5lB,KACtG,OAGF4lB,EAAMujC,kBACNvjC,EAAMyrB,iBAEN,MAAM7T,EAAWxiC,KAAKk+D,eAAe93D,QAAOwkB,IAAY3pB,EAAW2pB,KACnE,IAAI5pB,EAEJ,GAAI,CAACs8D,GAAUC,IAASprD,SAASyY,EAAM5lB,KACrChE,EAAoBwhC,EAAS5X,EAAM5lB,MAAQs4D,GAAW,EAAI96B,EAASthC,OAAS,OACvE,CACL,MAAMif,EAAS,CAACg9C,GAAiBE,IAAgBlrD,SAASyY,EAAM5lB,KAChEhE,EAAoBkS,EAAqBsvB,EAAU5X,EAAM9lB,OAAQqb,GAAA,EACnE,CAEInf,IACFA,EAAkBusD,MAAM,CAAEiR,eAAA,IAC1BR,GAAI/lB,oBAAoBj3C,GAAmBk/C,OAE/C,CAEAge,YAAAA,GACE,OAAO7lB,EAAenD,KAAK4oB,GAAqB99D,KAAKktD,QACvD,CAEAkR,cAAAA,GACE,OAAOp+D,KAAKk+D,eAAehpB,MAAKtqB,GAAS5qB,KAAKm+D,cAAcvzC,MAAW,IACzE,CAEAqzC,qBAAAA,CAAsBrzC,EAAQ4X,GAC5BxiC,KAAKy+D,yBAAyB7zC,EAAQ,OAAQ,WAE9C,IAAK,MAAMA,KAAS4X,EAClBxiC,KAAK0+D,6BAA6B9zC,EAEtC,CAEA8zC,4BAAAA,CAA6B9zC,GAC3BA,EAAQ5qB,KAAK2+D,iBAAiB/zC,GAC9B,MAAM4X,EAAWxiC,KAAKm+D,cAAcvzC,GAC9B5pB,EAAYhB,KAAK4+D,iBAAiBh0C,GACxCA,EAAMuZ,aAAa,gBAAiB3B,GAEhCxhC,IAAc4pB,GAChB5qB,KAAKy+D,yBAAyBz9D,EAAW,OAAQ,gBAG9CwhC,GACH5X,EAAMuZ,aAAa,WAAY,MAGjCnkC,KAAKy+D,yBAAyB7zC,EAAO,OAAQ,OAG7C5qB,KAAK6+D,mCAAmCj0C,EAC1C,CAEAi0C,kCAAAA,CAAmCj0C,GACjC,MAAM4X,EAAS6V,EAAeO,uBAAuBhuB,GAEhD4X,IAILxiC,KAAKy+D,yBAAyBj8B,EAAQ,OAAQ,YAE1C5X,EAAMnZ,IACRzR,KAAKy+D,yBAAyBj8B,EAAQ,kBAAoB,GAAE5X,EAAMnZ,MAEtE,CAEA8sD,eAAAA,CAAgB3zC,EAAS4X,GACvB,MAAMxhC,EAAYhB,KAAK4+D,iBAAiBh0C,GACxC,IAAK5pB,EAAUymC,UAAUgM,SAhMN,YAiMjB,OAGF,MAAMtzB,EAASA,CAACyK,EAAUzK,KACxB,MAAM0Y,EAAUwf,EAAeC,QAAQ1tB,EAAU5pB,GAC7C63B,GACFA,EAAQ4O,UAAU+R,OAAOr5B,EAAWqiB,EACtC,EAGFriB,EAAOw9C,GAA0BH,IACjCr9C,EAzM2B,iBAyMIu9C,IAC/B18D,EAAUmjC,aAAa,gBAAiB3B,EAC1C,CAEAi8B,wBAAAA,CAAyB7zC,EAAS4X,EAAWxhC,GACtC4pB,EAAQ+oB,aAAanR,IACxB5X,EAAQuZ,aAAa3B,EAAWxhC,EAEpC,CAEAm9D,aAAAA,CAAcvzC,GACZ,OAAOA,EAAK6c,UAAUgM,SAAS+pB,GACjC,CAGAmB,gBAAAA,CAAiB/zC,GACf,OAAOA,EAAKkP,QAAQgkC,IAAuBlzC,EAAOytB,EAAeC,QAAQwlB,GAAqBlzC,EAChG,CAGAg0C,gBAAAA,CAAiBh0C,GACf,OAAOA,EAAK0oB,QA1NO,gCA0NoB1oB,CACzC,CAGA,sBAAAspB,CAAuBtpB,GACrB,OAAO5qB,KAAKq5C,MAAK,WACf,MAAM7W,EAAOw7B,GAAI/lB,oBAAoBj4C,MAErC,GAAsB,iBAAX4qB,EAAX,CAIA,QAAI,IAAA4X,EAAK5X,IAAyBA,EAAO/W,WAAW,MAAmB,gBAAX+W,EAC1D,MAAM,IAAI4sB,UAAW,oBAAmB5sB,MAG1C4X,EAAK5X,IANL,CAOF,GACF,EAOFirB,EAAaj1C,GAAG+iC,SAAUo5B,GAAsBc,IAAsB,SAAUjzC,GAC1E,CAAC,IAAK,QAAQzY,SAASnS,KAAKgsC,UAC9BphB,EAAMyrB,iBAGJp1C,EAAWjB,OAIfg+D,GAAI/lB,oBAAoBj4C,MAAMkgD,MAChC,IAKArK,EAAaj1C,GAAG+nC,OAAQs0B,IAAqB,KAC3C,IAAK,MAAMryC,KAAWytB,EAAenD,KAAK6oB,IACxCC,GAAI/lB,oBAAoBrtB,EAC1B,IAMF/F,EAAmBm5C,ICxSnB,MAEMc,GAAa,YAEbC,GAAmB,YAAWD,KAC9BE,GAAkB,WAAUF,KAC5BG,GAAiB,UAASH,KAC1BI,GAAkB,WAAUJ,KAC5BK,GAAc,OAAML,KACpBM,GAAgB,SAAQN,KACxB/5C,GAAc,OAAM+5C,KACpBO,GAAe,QAAOP,KAGtBQ,GAAkB,OAClBC,GAAkB,OAClBC,GAAqB,UAErBC,GAAc,CAClB9H,UAAW,UACX+H,SAAU,UACV7H,MAAO,UAGH8H,GAAU,CACdhI,WAAA,EACA+H,UAAA,EACA7H,MAAO,KAOT,MAAM+H,WAAcnoB,EAClB33C,WAAAA,CAAY8qB,EAAS4X,GACnBn6B,MAAMuiB,EAAS4X,GAEfxiC,KAAKk4D,SAAW,KAChBl4D,KAAK6/D,sBAAA,EACL7/D,KAAK8/D,yBAAA,EACL9/D,KAAKw4D,eACP,CAGA,kBAAAvhB,GACE,OAAO0oB,EACT,CAEA,sBAAAzoB,GACE,OAAOuoB,EACT,CAEA,eAAAxrB,GACE,MAtDS,OAuDX,CAGAiM,IAAAA,GACoBrK,EAAan0C,QAAQ1B,KAAK03C,SAAU3yB,IAExCuxB,mBAIdt2C,KAAK+/D,gBAED//D,KAAK23C,QAAQggB,WACf33D,KAAK03C,SAASjQ,UAAU99B,IAvDN,QAiEpB3J,KAAK03C,SAASjQ,UAAUpb,OAAOizC,IAC/B71B,EAAOzpC,KAAK03C,UACZ13C,KAAK03C,SAASjQ,UAAU99B,IAAI41D,GAAiBC,IAE7Cx/D,KAAK+3C,gBAXY,KACf/3C,KAAK03C,SAASjQ,UAAUpb,OAAOmzC,IAC/B3pB,EAAan0C,QAAQ1B,KAAK03C,SAAU2nB,IAEpCr/D,KAAKggE,oBAAoB,GAOGhgE,KAAK03C,SAAU13C,KAAK23C,QAAQggB,WAC5D,CAEA1X,IAAAA,GACOjgD,KAAKigE,YAIQpqB,EAAan0C,QAAQ1B,KAAK03C,SAAUynB,IAExC7oB,mBAUdt2C,KAAK03C,SAASjQ,UAAU99B,IAAI61D,IAC5Bx/D,KAAK+3C,gBAPY,KACf/3C,KAAK03C,SAASjQ,UAAU99B,IAAI21D,IAC5Bt/D,KAAK03C,SAASjQ,UAAUpb,OAAOmzC,GAAoBD,IACnD1pB,EAAan0C,QAAQ1B,KAAK03C,SAAU0nB,GAAa,GAIrBp/D,KAAK03C,SAAU13C,KAAK23C,QAAQggB,YAC5D,CAEA9f,OAAAA,GACE73C,KAAK+/D,gBAED//D,KAAKigE,WACPjgE,KAAK03C,SAASjQ,UAAUpb,OAAOkzC,IAGjCl3D,MAAMwvC,SACR,CAEAooB,OAAAA,GACE,OAAOjgE,KAAK03C,SAASjQ,UAAUgM,SAAS8rB,GAC1C,CAIAS,kBAAAA,GACOhgE,KAAK23C,QAAQ+nB,WAId1/D,KAAK6/D,sBAAwB7/D,KAAK8/D,0BAItC9/D,KAAKk4D,SAAWjwB,YAAW,KACzBjoC,KAAKigD,MAAM,GACVjgD,KAAK23C,QAAQkgB,QAClB,CAEAqI,cAAAA,CAAet1C,EAAO4X,GACpB,OAAQ5X,EAAM7lB,MACZ,IAAK,YACL,IAAK,WACH/E,KAAK6/D,qBAAuBr9B,EAC5B,MAGF,IAAK,UACL,IAAK,WACHxiC,KAAK8/D,wBAA0Bt9B,EASnC,GAAIA,EAEF,YADAxiC,KAAK+/D,gBAIP,MAAM/+D,EAAc4pB,EAAM4qB,cACtBx1C,KAAK03C,WAAa12C,GAAehB,KAAK03C,SAASjE,SAASzyC,IAI5DhB,KAAKggE,oBACP,CAEAxH,aAAAA,GACE3iB,EAAaj1C,GAAGZ,KAAK03C,SAAUqnB,IAAiBn0C,GAAS5qB,KAAKkgE,eAAet1C,GAAA,KAC7EirB,EAAaj1C,GAAGZ,KAAK03C,SAAUsnB,IAAgBp0C,GAAS5qB,KAAKkgE,eAAet1C,GAAA,KAC5EirB,EAAaj1C,GAAGZ,KAAK03C,SAAUunB,IAAer0C,GAAS5qB,KAAKkgE,eAAet1C,GAAA,KAC3EirB,EAAaj1C,GAAGZ,KAAK03C,SAAUwnB,IAAgBt0C,GAAS5qB,KAAKkgE,eAAet1C,GAAA,IAC9E,CAEAm1C,aAAAA,GACEvhB,aAAax+C,KAAKk4D,UAClBl4D,KAAKk4D,SAAW,IAClB,CAGA,sBAAAhkB,CAAuBtpB,GACrB,OAAO5qB,KAAKq5C,MAAK,WACf,MAAM7W,EAAOo9B,GAAM3nB,oBAAoBj4C,KAAM4qB,GAE7C,GAAsB,iBAAXA,EAAqB,CAC9B,QAAI,IAAO4X,EAAK5X,GACd,MAAM,IAAI4sB,UAAW,oBAAmB5sB,MAG1C4X,EAAK5X,GAAQ5qB,KACf,CACF,GACF,E,OAOF84C,EAAqB8mB,IAMrB/6C,EAAmB+6C,IC1MJ,CACbO,MAAAjnB,EACAknB,OAAA7mB,EACA8mB,SAAApjB,GACAqjB,SAAA3gB,GACA4gB,SAAAvT,GACAwT,MAAA3O,GACA4O,UAAA5M,GACA6M,QAAAxG,GACAyG,UAAA1F,GACA2F,IAAA5C,GACA6C,MAAAjB,GACAkB,QAAA9I,G;;;;;;;;;;;;;;;;;;kFChBF,IAAI+I,EAAgB,SAASt3B,EAAGv2B,GAI5B,OAHA6tD,EAAgB76D,OAAO86D,gBAClB,CAAEC,UAAW,cAAgBzjD,OAAS,SAAUisB,EAAGv2B,GAAKu2B,EAAEw3B,UAAY/tD,CAAE,GACzE,SAAUu2B,EAAGv2B,GAAK,IAAK,IAAI7B,KAAK6B,EAAOhN,OAAOwzB,UAAU5yB,eAAe4C,KAAKwJ,EAAG7B,KAAIo4B,EAAEp4B,GAAK6B,EAAE7B,GAAG,EAC5F0vD,EAAct3B,EAAGv2B,EAC5B,EAEO,SAASguD,EAAUz3B,EAAGv2B,GACzB,GAAiB,oBAANA,GAA0B,OAANA,EAC3B,MAAM,IAAIskC,UAAU,uBAAyBzwC,OAAOmM,GAAK,iCAE7D,SAASiuD,IAAOnhE,KAAKF,YAAc2pC,CAAE,CADrCs3B,EAAct3B,EAAGv2B,GAEjBu2B,EAAE/P,UAAkB,OAANxmB,EAAahN,OAAO+Y,OAAO/L,IAAMiuD,EAAGznC,UAAYxmB,EAAEwmB,UAAW,IAAIynC,EACnF,CAEO,IAAIC,EAAW,WAQlB,OAPAA,EAAWl7D,OAAO8pC,QAAU,SAAkBplB,GAC1C,IAAK,IAAIiO,EAAG73B,EAAI,EAAGmf,EAAIgI,UAAUjnB,OAAQF,EAAImf,EAAGnf,IAE5C,IAAK,IAAIqQ,KADTwnB,EAAI1Q,UAAUnnB,GACA63B,EAAO3yB,OAAOwzB,UAAU5yB,eAAe4C,KAAKmvB,EAAGxnB,KAAIuZ,EAAEvZ,GAAKwnB,EAAExnB,IAE9E,OAAOuZ,CACf,EACWw2C,EAASv6D,MAAM7G,KAAMmoB,UAChC,EA6BO,SAASk5C,EAAUl3D,EAASm3D,EAAY1rB,EAAG2rB,GAC9C,SAASC,EAAMz+D,GAAS,OAAOA,aAAiB6yC,EAAI7yC,EAAQ,IAAI6yC,GAAE,SAAU1kC,GAAWA,EAAQnO,EAAO,GAAI,CAC1G,OAAO,IAAK6yC,IAAMA,EAAI3kC,WAAU,SAAUC,EAASuwD,GAC/C,SAASC,EAAU3+D,GAAS,IAAM4+D,EAAKJ,EAAU32D,KAAK7H,GAAQ,CAAG,MAAOy/B,IAAKi/B,EAAOj/B,GAAG,CAAE,CACzF,SAASo/B,EAAS7+D,GAAS,IAAM4+D,EAAKJ,EAAU,SAASx+D,GAAQ,CAAG,MAAOy/B,IAAKi/B,EAAOj/B,GAAG,CAAE,CAC5F,SAASm/B,EAAKj5D,GAAUA,EAAOmC,KAAOqG,EAAQxI,EAAO3F,OAASy+D,EAAM94D,EAAO3F,OAAOuO,KAAKowD,EAAWE,EAAU,CAC5GD,GAAMJ,EAAYA,EAAU16D,MAAMsD,EAASm3D,GAAc,KAAK12D,OACtE,GACA,CAEO,SAASi3D,EAAY13D,EAASw/B,GACjC,IAAsG3pB,EAAGu0B,EAAG3pB,EAAGiX,EAA3GrjB,EAAI,CAAEsjD,MAAO,EAAGC,KAAM,WAAa,GAAW,EAAPn3C,EAAE,GAAQ,MAAMA,EAAE,GAAI,OAAOA,EAAE,EAAG,EAAIo3C,KAAM,GAAIC,IAAK,IAChG,OAAOpgC,EAAI,CAAEj3B,KAAMs3D,EAAK,GAAI,MAASA,EAAK,GAAI,OAAUA,EAAK,IAAwB,oBAAXv9D,SAA0Bk9B,EAAEl9B,OAAO8F,UAAY,WAAa,OAAOzK,IAAK,GAAK6hC,EACvJ,SAASqgC,EAAK/hD,GAAK,OAAO,SAAU3d,GAAK,OAAOm/D,EAAK,CAACxhD,EAAG3d,GAAI,CAAG,CAChE,SAASm/D,EAAKQ,GACV,GAAIniD,EAAG,MAAM,IAAIw3B,UAAU,mCAC3B,MAAOh5B,MACH,GAAIwB,EAAI,EAAGu0B,IAAM3pB,EAAY,EAARu3C,EAAG,GAAS5tB,EAAE,UAAY4tB,EAAG,GAAK5tB,EAAE,YAAc3pB,EAAI2pB,EAAE,YAAc3pB,EAAElhB,KAAK6qC,GAAI,GAAKA,EAAE3pC,SAAWggB,EAAIA,EAAElhB,KAAK6qC,EAAG4tB,EAAG,KAAKt3D,KAAM,OAAO+f,EAE3J,OADI2pB,EAAI,EAAG3pB,IAAGu3C,EAAK,CAAS,EAARA,EAAG,GAAQv3C,EAAE7nB,QACzBo/D,EAAG,IACP,KAAK,EAAG,KAAK,EAAGv3C,EAAIu3C,EAAI,MACxB,KAAK,EAAc,OAAX3jD,EAAEsjD,QAAgB,CAAE/+D,MAAOo/D,EAAG,GAAIt3D,MAAM,GAChD,KAAK,EAAG2T,EAAEsjD,QAASvtB,EAAI4tB,EAAG,GAAIA,EAAK,CAAC,GAAI,SACxC,KAAK,EAAGA,EAAK3jD,EAAEyjD,IAAI7gE,MAAOod,EAAEwjD,KAAK5gE,MAAO,SACxC,QACI,GAAMwpB,EAAIpM,EAAEwjD,OAAMp3C,EAAIA,EAAE1pB,OAAS,GAAK0pB,EAAEA,EAAE1pB,OAAS,MAAkB,IAAVihE,EAAG,IAAsB,IAAVA,EAAG,IAAW,CAAE3jD,EAAI,EAAG,QAAS,CAC1G,GAAc,IAAV2jD,EAAG,MAAcv3C,GAAMu3C,EAAG,GAAKv3C,EAAE,IAAMu3C,EAAG,GAAKv3C,EAAE,IAAM,CAAEpM,EAAEsjD,MAAQK,EAAG,GAAI,KAAM,CACpF,GAAc,IAAVA,EAAG,IAAY3jD,EAAEsjD,MAAQl3C,EAAE,GAAI,CAAEpM,EAAEsjD,MAAQl3C,EAAE,GAAIA,EAAIu3C,EAAI,KAAM,CACnE,GAAIv3C,GAAKpM,EAAEsjD,MAAQl3C,EAAE,GAAI,CAAEpM,EAAEsjD,MAAQl3C,EAAE,GAAIpM,EAAEyjD,IAAI1hE,KAAK4hE,GAAK,KAAM,CAC7Dv3C,EAAE,IAAIpM,EAAEyjD,IAAI7gE,MAChBod,EAAEwjD,KAAK5gE,MAAO,SAEtB+gE,EAAKx4B,EAAKjgC,KAAKS,EAASqU,EACpC,CAAU,MAAOgkB,IAAK2/B,EAAK,CAAC,EAAG3/B,IAAI+R,EAAI,CAAE,CAAG,QAAUv0B,EAAI4K,EAAI,CAAE,CACxD,GAAY,EAARu3C,EAAG,GAAQ,MAAMA,EAAG,GAAI,MAAO,CAAEp/D,MAAOo/D,EAAG,GAAKA,EAAG,QAAK,EAAQt3D,MAAM,EAClF,CACA,CA2DO,SAASu3D,EAAcr9C,EAAItH,EAAM4kD,GACpC,GAAIA,GAA6B,IAArBl6C,UAAUjnB,OAAc,IAAK,IAA4BohE,EAAxBthE,EAAI,EAAGC,EAAIwc,EAAKvc,OAAYF,EAAIC,EAAGD,KACxEshE,GAAQthE,KAAKyc,IACR6kD,IAAIA,EAAK9kD,MAAMkc,UAAU3lB,MAAMrK,KAAK+T,EAAM,EAAGzc,IAClDshE,EAAGthE,GAAKyc,EAAKzc,IAGrB,OAAO+jB,EAAGvM,OAAO8pD,GAAM7kD,EAC3B,CCrHA,ICrDA,IAAA8kD,EAAA,WACI,SAAAA,EAAqBpzB,EAAuBE,EAAsBwU,EAAwBC,GAArE,KAAA3U,KAAAA,EAAuB,KAAAE,IAAAA,EAAsB,KAAAwU,MAAAA,EAAwB,KAAAC,OAAAA,C,CA4B9F,OA1BIye,EAAA7oC,UAAA/vB,IAAA,SAAIsrC,EAAWV,EAAWC,EAAWnwB,GACjC,OAAO,IAAIk+C,EAAOviE,KAAKmvC,KAAO8F,EAAGj1C,KAAKqvC,IAAMkF,EAAGv0C,KAAK6jD,MAAQrP,EAAGx0C,KAAK8jD,OAASz/B,E,EAG1Ek+C,EAAAC,eAAP,SAAsBj8C,EAAkBk8C,GACpC,OAAO,IAAIF,EACPE,EAAWtzB,KAAO5oB,EAAQm8C,aAAavzB,KACvCszB,EAAWpzB,IAAM9oB,EAAQm8C,aAAarzB,IACtCozB,EAAW5e,MACX4e,EAAW3e,O,EAIZye,EAAAI,gBAAP,SAAuBp8C,EAAkBq8C,GACrC,IAAMC,EAAUrlD,MAAMC,KAAKmlD,GAAa1tB,MAAK,SAAC4tB,GAAS,OAAe,IAAfA,EAAKjf,KAAW,IACvE,OAAOgf,EACD,IAAIN,EACAM,EAAQ1zB,KAAO5oB,EAAQm8C,aAAavzB,KACpC0zB,EAAQxzB,IAAM9oB,EAAQm8C,aAAarzB,IACnCwzB,EAAQhf,MACRgf,EAAQ/e,QAEZye,EAAOQ,K,EAGVR,EAAAQ,MAAQ,IAAIR,EAAO,EAAG,EAAG,EAAG,GACvCA,C,CA7BA,GA+BaS,EAAc,SAACz8C,EAAkB8d,GAC1C,OAAOk+B,EAAOC,eAAej8C,EAAS8d,EAAK0K,wBAC/C,EAEak0B,EAAoB,SAACt/B,GAC9B,IAAMgG,EAAOhG,EAASgG,KAChBiK,EAAkBjQ,EAASiQ,gBAEjC,IAAKjK,IAASiK,EACV,MAAM,IAAIuD,MAAM,+BAEpB,IAAM0M,EAAQ5vB,KAAKoV,IACfpV,KAAKoV,IAAIM,EAAK6e,YAAa5U,EAAgB4U,aAC3Cv0B,KAAKoV,IAAIM,EAAKia,YAAahQ,EAAgBgQ,aAC3C3vB,KAAKoV,IAAIM,EAAKmc,YAAalS,EAAgBkS,cAGzChC,EAAS7vB,KAAKoV,IAChBpV,KAAKoV,IAAIM,EAAK8e,aAAc7U,EAAgB6U,cAC5Cx0B,KAAKoV,IAAIM,EAAKC,aAAcgK,EAAgBhK,cAC5C3V,KAAKoV,IAAIM,EAAKkc,aAAcjS,EAAgBiS,eAGhD,OAAO,IAAI0c,EAAO,EAAG,EAAG1e,EAAOC,EACnC,EDzDaof,EAAe,SAACpzB,GACzB,IAAMqzB,EAAa,GACfniE,EAAI,EACFE,EAAS4uC,EAAI5uC,OACnB,MAAOF,EAAIE,EAAQ,CACf,IAAM6B,EAAQ+sC,EAAIpC,WAAW1sC,KAC7B,GAAI+B,GAAS,OAAUA,GAAS,OAAU/B,EAAIE,EAAQ,CAClD,IAAMkiE,EAAQtzB,EAAIpC,WAAW1sC,KACJ,SAAZ,MAARoiE,GACDD,EAAW5iE,OAAe,KAARwC,IAAkB,KAAe,KAARqgE,GAAiB,QAE5DD,EAAW5iE,KAAKwC,GAChB/B,I,MAGJmiE,EAAW5iE,KAAKwC,E,CAGxB,OAAOogE,CACX,EAEaE,EAAgB,W,IAAC,IAAAF,EAAA,GAAA/X,EAAA,EAAAA,EAAAjjC,UAAAjnB,OAAAkqD,IAAA+X,EAAA/X,GAAAjjC,UAAAijC,GAC1B,GAAIrkD,OAAOu8D,cACP,OAAOv8D,OAAOu8D,cAAaz8D,MAApBE,OAAwBo8D,GAGnC,IAAMjiE,EAASiiE,EAAWjiE,OAC1B,IAAKA,EACD,MAAO,GAGX,IAAMqiE,EAAY,GAEdljE,GAAS,EACTqI,EAAS,GACb,QAASrI,EAAQa,EAAQ,CACrB,IAAIsiE,EAAYL,EAAW9iE,GACvBmjE,GAAa,MACbD,EAAUhjE,KAAKijE,IAEfA,GAAa,MACbD,EAAUhjE,KAAyB,OAAnBijE,GAAa,IAAeA,EAAY,KAAS,SAEjEnjE,EAAQ,IAAMa,GAAUqiE,EAAUriE,OAAS,SAC3CwH,GAAU3B,OAAO08D,aAAY58D,MAAnBE,OAAuBw8D,GACjCA,EAAUriE,OAAS,E,CAG3B,OAAOwH,CACX,EAEMg7D,EAAQ,mEAGRC,EAA+B,qBAAfC,WAA6B,GAAK,IAAIA,WAAW,KAC9DC,EAAI,EAAGA,EAAIH,EAAMxiE,OAAQ2iE,IAC9BF,EAAOD,EAAMh2B,WAAWm2B,IAAMA,EEpDlC,IAJA,IAAMC,EAAQ,mEAGRC,EAA+B,qBAAfH,WAA6B,GAAK,IAAIA,WAAW,KAC9DI,EAAI,EAAGA,EAAIF,EAAM5iE,OAAQ8iE,IAC9BD,EAAOD,EAAMp2B,WAAWs2B,IAAMA,ECDlC,IDIO,IAAMC,EAAS,SAACC,GACnB,IAEIljE,EAEAmjE,EACAC,EACAC,EACAC,EAPAC,EAA+B,IAAhBL,EAAOhjE,OACtBy2B,EAAMusC,EAAOhjE,OAEbmQ,EAAI,EAM0B,MAA9B6yD,EAAOA,EAAOhjE,OAAS,KACvBqjE,IACkC,MAA9BL,EAAOA,EAAOhjE,OAAS,IACvBqjE,KAIR,IAAMC,EACqB,qBAAhBC,aACe,qBAAfb,YAC+B,qBAA/BA,WAAWlqC,UAAU3lB,MACtB,IAAI0wD,YAAYF,GAChB,IAAI/mD,MAAM+mD,GACdG,EAAQlnD,MAAMlY,QAAQk/D,GAAUA,EAAS,IAAIZ,WAAWY,GAE9D,IAAKxjE,EAAI,EAAGA,EAAI22B,EAAK32B,GAAK,EACtBmjE,EAAWJ,EAAOG,EAAOx2B,WAAW1sC,IACpCojE,EAAWL,EAAOG,EAAOx2B,WAAW1sC,EAAI,IACxCqjE,EAAWN,EAAOG,EAAOx2B,WAAW1sC,EAAI,IACxCsjE,EAAWP,EAAOG,EAAOx2B,WAAW1sC,EAAI,IAExC0jE,EAAMrzD,KAAQ8yD,GAAY,EAAMC,GAAY,EAC5CM,EAAMrzD,MAAoB,GAAX+yD,IAAkB,EAAMC,GAAY,EACnDK,EAAMrzD,MAAoB,EAAXgzD,IAAiB,EAAiB,GAAXC,EAG1C,OAAOE,CACX,EAEaG,EAAkB,SAACH,GAG5B,IAFA,IAAMtjE,EAASsjE,EAAOtjE,OAChBwjE,EAAQ,GACL1jE,EAAI,EAAGA,EAAIE,EAAQF,GAAK,EAC7B0jE,EAAMnkE,KAAMikE,EAAOxjE,EAAI,IAAM,EAAKwjE,EAAOxjE,IAE7C,OAAO0jE,CACX,EAEaE,EAAkB,SAACJ,GAG5B,IAFA,IAAMtjE,EAASsjE,EAAOtjE,OAChBwjE,EAAQ,GACL1jE,EAAI,EAAGA,EAAIE,EAAQF,GAAK,EAC7B0jE,EAAMnkE,KAAMikE,EAAOxjE,EAAI,IAAM,GAAOwjE,EAAOxjE,EAAI,IAAM,GAAOwjE,EAAOxjE,EAAI,IAAM,EAAKwjE,EAAOxjE,IAE7F,OAAO0jE,CACX,EE1DaG,EAAiB,EAGjBC,EAAiB,GAQjBC,EAAqB,EAMrBC,EAAmBF,EAAiBD,EAQpCI,EAA6B,OAAWJ,EAGxCK,EAA2B,GAAKL,EAEhCM,EAAmBD,EAA2B,EAE9CE,EAA6B,MAASP,EAEtCQ,EAA4BJ,EAA6BG,EAKzDE,EAAgCD,EAChCE,EAAgC,GAahCC,EAAwBF,EAAgCC,EAMxDE,EAAoC,OAAWX,EAG/CY,EAA8B,GAAKV,EAEnCW,EAAsBD,EAA8B,EAE3DE,EAAU,SAACC,EAA8Bn0D,EAAeC,GAC1D,OAAIk0D,EAAK9xD,MACE8xD,EAAK9xD,MAAMrC,EAAOC,GAGtB,IAAIm0D,YAAYtoD,MAAMkc,UAAU3lB,MAAMrK,KAAKm8D,EAAMn0D,EAAOC,GACnE,EAEMo0D,EAAU,SAACF,EAA8Bn0D,EAAeC,GAC1D,OAAIk0D,EAAK9xD,MACE8xD,EAAK9xD,MAAMrC,EAAOC,GAGtB,IAAIq0D,YAAYxoD,MAAMkc,UAAU3lB,MAAMrK,KAAKm8D,EAAMn0D,EAAOC,GACnE,EAEas0D,EAAuB,SAAC/B,EAAgBgC,GACjD,IAAM1B,EAASP,EAAOC,GAChBiC,EAAS3oD,MAAMlY,QAAQk/D,GAAUI,EAAgBJ,GAAU,IAAIwB,YAAYxB,GAC3E4B,EAAS5oD,MAAMlY,QAAQk/D,GAAUG,EAAgBH,GAAU,IAAIsB,YAAYtB,GAC3E6B,EAAe,GAEfhmE,EAAQulE,EAAQQ,EAAQC,EAAe,EAAGF,EAAO,GAAK,GACtD7uD,EACY,IAAd6uD,EAAO,GACDP,EAAQQ,GAASC,EAAeF,EAAO,IAAM,GAC7CJ,EAAQI,EAAQlyC,KAAKqyC,MAAMD,EAAeF,EAAO,IAAM,IAEjE,OAAO,IAAII,EAAKJ,EAAO,GAAIA,EAAO,GAAIA,EAAO,GAAIA,EAAO,GAAI9lE,EAAOiX,EACvE,E,aAUI,SAAAkvD,EACIt5B,EACAu5B,EACAC,EACAC,EACAtmE,EACAiX,GAEAtX,KAAKktC,aAAeA,EACpBltC,KAAKymE,WAAaA,EAClBzmE,KAAK0mE,UAAYA,EACjB1mE,KAAK2mE,eAAiBA,EACtB3mE,KAAKK,MAAQA,EACbL,KAAKsX,KAAOA,C,CAkDpB,OAzCIkvD,EAAA9sC,UAAAv2B,IAAA,SAAIqgE,GACA,IAAIoD,EACJ,GAAIpD,GAAa,EAAG,CAChB,GAAIA,EAAY,OAAYA,EAAY,OAAWA,GAAa,MAM5D,OAFAoD,EAAK5mE,KAAKK,MAAMmjE,GAAaqB,GAC7B+B,GAAMA,GAAM7B,IAAuBvB,EAAY2B,GACxCnlE,KAAKsX,KAAKsvD,GAGrB,GAAIpD,GAAa,MASb,OAFAoD,EAAK5mE,KAAKK,MAAM4kE,GAA+BzB,EAAY,OAAWqB,IACtE+B,GAAMA,GAAM7B,IAAuBvB,EAAY2B,GACxCnlE,KAAKsX,KAAKsvD,GAGrB,GAAIpD,EAAYxjE,KAAK0mE,UAOjB,OALAE,EAAKpB,EAAwBC,GAAqCjC,GAAasB,GAC/E8B,EAAK5mE,KAAKK,MAAMumE,GAChBA,GAAOpD,GAAaqB,EAAkBc,EACtCiB,EAAK5mE,KAAKK,MAAMumE,GAChBA,GAAMA,GAAM7B,IAAuBvB,EAAY2B,GACxCnlE,KAAKsX,KAAKsvD,GAErB,GAAIpD,GAAa,QACb,OAAOxjE,KAAKsX,KAAKtX,KAAK2mE,e,CAK9B,OAAO3mE,KAAKymE,U,EAEpBD,CAAA,C,GD7KMK,EAAQ,mEAGRC,EAA+B,qBAAflD,WAA6B,GAAK,IAAIA,WAAW,KAC9DmD,EAAI,EAAGA,EAAIF,EAAM3lE,OAAQ6lE,IAC9BD,EAAOD,EAAMn5B,WAAWq5B,IAAMA,EEL3B,IAAMC,EACT,2pnDCKSC,EAAyB,GAGhCC,EAAK,EACLC,EAAK,EACLC,EAAK,EACLC,EAAK,EACLC,EAAK,EAELC,EAAK,EACLC,EAAK,EACLC,EAAK,EACLC,EAAK,GACLC,EAAM,GAENC,GAAK,GACLC,GAAK,GACLC,GAAK,GACLC,GAAK,GACLC,GAAK,GAELC,GAAK,GACLC,GAAK,GACLC,GAAK,GACLC,GAAK,GACLC,GAAK,GACLC,GAAK,GACLC,GAAK,GAELC,GAAK,GACLC,GAAK,GACLC,GAAK,GACLC,GAAK,GACLC,GAAK,GAELC,GAAK,GACLC,GAAK,GACLC,GAAK,GACLC,GAAK,GACLC,GAAK,GACLC,GAAK,GACLC,GAAK,GACLC,GAAK,GACLC,GAAK,GACLC,GAAK,GACLC,GAAK,GACLC,GAAK,GACLC,GAAK,GACLC,GAAK,GACLC,GAAK,GAELC,GAAQ,CAAC,KAAQ,OAgDVC,GAAkB,IAClBC,GAAoB,IACpBC,GAAgB,IAChBC,GAAc/D,EAAqBe,GAE1CiD,GAAc,CAACnB,GAAIM,IACnBc,GAAmB,CAAChD,EAAIC,EAAIC,EAAIE,GAChC6C,GAAQ,CAACzC,EAAIF,GACb4C,GAAiB,CAACzB,GAAID,IACtB2B,GAAcH,GAAiB1xD,OAAO2xD,IACtCG,GAAwB,CAAChB,GAAIC,GAAIC,GAAIN,GAAIC,IACzCoB,GAAS,CAACxC,GAAIF,IAEP2C,GAA+B,SACxCrH,EACAsH,QAAA,IAAAA,IAAAA,EAAA,UAEA,IAAMC,EAAkB,GAClBC,EAAoB,GACpBC,EAAwB,GAgE9B,OA/DAzH,EAAW19D,SAAQ,SAAC+9D,EAAWnjE,GAC3B,IAAIwqE,EAAYb,GAAY7mE,IAAIqgE,GAQhC,GAPIqH,EAAY5D,GACZ2D,EAAWrqE,MAAK,GAChBsqE,GAAa5D,GAEb2D,EAAWrqE,MAAK,IAGoC,IAApD,CAAC,SAAU,OAAQ,SAASiS,QAAQi4D,KAEyB,IAAzD,CAAC,KAAQ,KAAQ,MAAQ,OAAQj4D,QAAQgxD,GAEzC,OADAmH,EAAQpqE,KAAKF,GACNqqE,EAAMnqE,KAAKynE,IAI1B,GAAI6C,IAAcxD,GAAMwD,IAAclD,EAAK,CAEvC,GAAc,IAAVtnE,EAEA,OADAsqE,EAAQpqE,KAAKF,GACNqqE,EAAMnqE,KAAKuoE,IAKtB,IAAM3yD,EAAOu0D,EAAMrqE,EAAQ,GAC3B,OAAmC,IAA/BgqE,GAAY73D,QAAQ2D,IACpBw0D,EAAQpqE,KAAKoqE,EAAQtqE,EAAQ,IACtBqqE,EAAMnqE,KAAK4V,KAEtBw0D,EAAQpqE,KAAKF,GACNqqE,EAAMnqE,KAAKuoE,I,CAKtB,OAFA6B,EAAQpqE,KAAKF,GAETwqE,IAAc9B,GACP2B,EAAMnqE,KAAmB,WAAdkqE,EAAyBpC,GAAKgB,IAGhDwB,IAAcnB,IAIdmB,IAAchC,GAHP6B,EAAMnqE,KAAKuoE,IAUlB+B,IAAclB,GACTnG,GAAa,QAAWA,GAAa,QAAaA,GAAa,QAAWA,GAAa,OACjFkH,EAAMnqE,KAAK8oE,IAEXqB,EAAMnqE,KAAKuoE,SAI1B4B,EAAMnqE,KAAKsqE,E,IAGR,CAACF,EAASD,EAAOE,EAC5B,EAEME,GAA6B,SAC/B73D,EACAC,EACA63D,EACAC,GAEA,IAAM5wC,EAAU4wC,EAAWD,GAC3B,GAAIvtD,MAAMlY,QAAQ2N,IAA6B,IAAxBA,EAAET,QAAQ4nB,GAAkBnnB,IAAMmnB,EAAS,CAC9D,IAAIp5B,EAAI+pE,EACR,MAAO/pE,GAAKgqE,EAAW9pE,OAAQ,CAC3BF,IACA,IAAI4J,EAAOogE,EAAWhqE,GAEtB,GAAI4J,IAASsI,EACT,OAAO,EAGX,GAAItI,IAAS88D,EACT,K,EAKZ,GAAIttC,IAAYstC,EAAI,CACZ1mE,EAAI+pE,EAER,MAAO/pE,EAAI,EAAG,CACVA,IACA,IAAMmV,EAAO60D,EAAWhqE,GAExB,GAAIwc,MAAMlY,QAAQ2N,IAA0B,IAArBA,EAAET,QAAQ2D,GAAelD,IAAMkD,EAAM,CACxD,IAAIgK,EAAI4qD,EACR,MAAO5qD,GAAK6qD,EAAW9pE,OAAQ,CAC3Bif,IACIvV,EAAOogE,EAAW7qD,GAEtB,GAAIvV,IAASsI,EACT,OAAO,EAGX,GAAItI,IAAS88D,EACT,K,EAKZ,GAAIvxD,IAASuxD,EACT,K,EAIZ,OAAO,CACX,EAEMuD,GAA4B,SAACF,EAAsBC,GACrD,IAAIhqE,EAAI+pE,EACR,MAAO/pE,GAAK,EAAG,CACX,IAAI+D,EAAOimE,EAAWhqE,GACtB,GAAI+D,IAAS2iE,EAGT,OAAO3iE,EAFP/D,G,CAKR,OAAO,CACX,EAIMkqE,GAAoB,SACtB/H,EACA6H,EACAG,EACA9qE,EACA+qE,GAEA,GAAwB,IAApBD,EAAS9qE,GACT,OAAOypE,GAGX,IAAIiB,EAAe1qE,EAAQ,EAC3B,GAAImd,MAAMlY,QAAQ8lE,KAAsD,IAAlCA,EAAgBL,GAClD,OAAOjB,GAGX,IAAIuB,EAAcN,EAAe,EAC7BO,EAAaP,EAAe,EAC5B3wC,EAAU4wC,EAAWD,GAIrBpmC,EAAS0mC,GAAe,EAAIL,EAAWK,GAAe,EACtDzgE,EAAOogE,EAAWM,GAEtB,GAAIlxC,IAAY+sC,GAAMv8D,IAASw8D,EAC3B,OAAO0C,GAGX,IAA2C,IAAvCI,GAAiB13D,QAAQ4nB,GACzB,OAAOyvC,GAIX,IAAwC,IAApCK,GAAiB13D,QAAQ5H,GACzB,OAAOk/D,GAIX,IAA6B,IAAzBK,GAAM33D,QAAQ5H,GACd,OAAOk/D,GAIX,GAAImB,GAA0BF,EAAcC,KAAgBxD,EACxD,OAAOuC,GAIX,GAAIC,GAAY7mE,IAAIggE,EAAW4H,MAAmBpD,EAC9C,OAAOmC,GAIX,IAAK1vC,IAAY4uC,IAAM5uC,IAAY6uC,KAAOe,GAAY7mE,IAAIggE,EAAWmI,MAAiB3D,EAClF,OAAOmC,GAIX,GAAI1vC,IAAYmtC,GAAM38D,IAAS28D,EAC3B,OAAOuC,GAIX,GAAI1vC,IAAYqtC,EACZ,OAAOqC,GAIX,IAAuC,IAAnC,CAACpC,EAAIG,GAAIE,IAAIv1D,QAAQ4nB,IAAmBxvB,IAAS68D,EACjD,OAAOqC,GAIX,IAA4C,IAAxC,CAAC7B,GAAIC,GAAIC,GAAIK,GAAII,IAAIp2D,QAAQ5H,GAC7B,OAAOk/D,GAIX,GAAImB,GAA0BF,EAAcC,KAAgB1C,GACxD,OAAOwB,GAIX,GAAIgB,GAA2BvC,GAAID,GAAIyC,EAAcC,GACjD,OAAOlB,GAIX,GAAIgB,GAA2B,CAAC7C,GAAIC,IAAKG,GAAI0C,EAAcC,GACvD,OAAOlB,GAIX,GAAIgB,GAA2BlD,GAAIA,GAAImD,EAAcC,GACjD,OAAOlB,GAIX,GAAI1vC,IAAYstC,EACZ,OAAOqC,GAIX,GAAI3vC,IAAYmuC,IAAM39D,IAAS29D,GAC3B,OAAOuB,GAIX,GAAIl/D,IAASo9D,IAAM5tC,IAAY4tC,GAC3B,OAAO+B,GAIX,IAAoC,IAAhC,CAAClC,GAAIE,GAAIM,IAAI71D,QAAQ5H,IAAgBwvB,IAAY0tC,GACjD,OAAOgC,GAIX,GAAInlC,IAAWykC,KAAmC,IAA7BmB,GAAO/3D,QAAQ4nB,GAChC,OAAO0vC,GAIX,GAAI1vC,IAAYwuC,IAAMh+D,IAASw+D,GAC3B,OAAOU,GAIX,GAAIl/D,IAASw9D,GACT,OAAO0B,GAIX,IAAoC,IAA/BG,GAAYz3D,QAAQ5H,IAAgBwvB,IAAYquC,KAA0C,IAAlCwB,GAAYz3D,QAAQ4nB,IAAmBxvB,IAAS69D,GACzG,OAAOqB,GAIX,GACK1vC,IAAYuuC,KAAsC,IAAhC,CAACU,GAAIL,GAAIC,IAAIz2D,QAAQ5H,KACJ,IAAnC,CAACy+D,GAAIL,GAAIC,IAAIz2D,QAAQ4nB,IAAmBxvB,IAAS89D,GAElD,OAAOoB,GAIX,IACuC,IAAlCG,GAAYz3D,QAAQ4nB,KAAqD,IAAlCgwC,GAAe53D,QAAQ5H,KACzB,IAArCw/D,GAAe53D,QAAQ4nB,KAAkD,IAA/B6vC,GAAYz3D,QAAQ5H,GAE/D,OAAOk/D,GAIX,IAEoC,IAA/B,CAACnB,GAAID,IAAIl2D,QAAQ4nB,KACbxvB,IAAS69D,KAAmC,IAA5B,CAACH,GAAIP,IAAIv1D,QAAQ5H,IAAgBogE,EAAWM,EAAa,KAAO7C,MAErD,IAA/B,CAACH,GAAIP,IAAIv1D,QAAQ4nB,IAAmBxvB,IAAS69D,IAE7CruC,IAAYquC,KAAsC,IAAhC,CAACA,GAAIG,GAAIJ,IAAIh2D,QAAQ5H,GAExC,OAAOk/D,GAIX,IAA4C,IAAxC,CAACrB,GAAIG,GAAIJ,GAAIP,GAAIC,IAAI11D,QAAQ5H,GAAc,CAC3C,IAAI2gE,EAAYR,EAChB,MAAOQ,GAAa,EAAG,CACnB,IAAIxmE,EAAOimE,EAAWO,GACtB,GAAIxmE,IAAS0jE,GACT,OAAOqB,GACJ,IAAgC,IAA5B,CAAClB,GAAIJ,IAAIh2D,QAAQzN,GAGxB,MAFAwmE,G,EAQZ,IAAgC,IAA5B,CAAC5C,GAAID,IAAIl2D,QAAQ5H,GAAc,CAC3B2gE,GAA2C,IAA/B,CAACtD,GAAIC,IAAI11D,QAAQ4nB,GAAkBixC,EAAcN,EACjE,MAAOQ,GAAa,EAAG,CACfxmE,EAAOimE,EAAWO,GACtB,GAAIxmE,IAAS0jE,GACT,OAAOqB,GACJ,IAAgC,IAA5B,CAAClB,GAAIJ,IAAIh2D,QAAQzN,GAGxB,MAFAwmE,G,EAQZ,GACKjC,KAAOlvC,IAA+C,IAApC,CAACkvC,GAAIC,GAAIL,GAAIC,IAAI32D,QAAQ5H,KACZ,IAA/B,CAAC2+D,GAAIL,IAAI12D,QAAQ4nB,KAA+C,IAA5B,CAACmvC,GAAIC,IAAIh3D,QAAQ5H,KACtB,IAA/B,CAAC4+D,GAAIL,IAAI32D,QAAQ4nB,IAAmBxvB,IAAS4+D,GAE9C,OAAOM,GAIX,IACiD,IAA5CQ,GAAsB93D,QAAQ4nB,KAA+C,IAA5B,CAACguC,GAAIM,IAAIl2D,QAAQ5H,KACzB,IAAzC0/D,GAAsB93D,QAAQ5H,IAAgBwvB,IAAYuuC,GAE3D,OAAOmB,GAIX,IAAsC,IAAlCG,GAAYz3D,QAAQ4nB,KAAkD,IAA/B6vC,GAAYz3D,QAAQ5H,GAC3D,OAAOk/D,GAIX,GAAI1vC,IAAYouC,KAAqC,IAA/ByB,GAAYz3D,QAAQ5H,GACtC,OAAOk/D,GAIX,IACkD,IAA7CG,GAAYzxD,OAAOiwD,IAAIj2D,QAAQ4nB,IAC5BxvB,IAAS09D,KACkC,IAA3CsB,GAAMp3D,QAAQ2wD,EAAWmI,MACc,IAA1CrB,GAAYzxD,OAAOiwD,IAAIj2D,QAAQ5H,IAAgBwvB,IAAY8tC,GAE5D,OAAO4B,GAKX,GAAI1vC,IAAYqvC,IAAM7+D,IAAS6+D,GAAI,CAC/B,IAAIzoE,EAAImqE,EAASJ,GACbS,EAAQ,EACZ,MAAOxqE,EAAI,EAAG,CAEV,GADAA,IACIgqE,EAAWhqE,KAAOyoE,GAGlB,MAFA+B,G,CAKR,GAAIA,EAAQ,IAAM,EACd,OAAO1B,E,CAKf,OAAI1vC,IAAY4uC,IAAMp+D,IAASq+D,GACpBa,GAGJC,EACX,EA0BM0B,GAAsB,SAACtI,EAAsBvtD,GAC1CA,IACDA,EAAU,CAAC60D,UAAW,SAAUiB,UAAW,WAE3C,IAAAt9D,EAAyCo8D,GAA6BrH,EAAYvtD,EAAQ60D,WAAzFU,EAAQ/8D,EAAA,GAAE48D,EAAU58D,EAAA,GAAEu9D,EAAcv9D,EAAA,GAEf,cAAtBwH,EAAQ81D,WAAmD,eAAtB91D,EAAQ81D,YAC7CV,EAAaA,EAAW3kE,KAAI,SAACtB,GAAS,OAAiC,IAAhC,CAAC0jE,GAAIK,GAAIY,IAAIl3D,QAAQzN,GAAeskE,GAAKtkE,CAAI,KAGxF,IAAM6mE,EACoB,aAAtBh2D,EAAQ81D,UACFC,EAAetlE,KAAI,SAACwlE,EAAc7qE,GAC9B,OAAO6qE,GAAgB1I,EAAWniE,IAAM,OAAUmiE,EAAWniE,IAAM,K,SAEvE8qE,EAEV,MAAO,CAACX,EAAUH,EAAYY,EAClC,EAkBAG,GAAA,WAMI,SAAAA,EAAY5I,EAAsBsH,EAAmB/4D,EAAeC,GAChE3R,KAAKmjE,WAAaA,EAClBnjE,KAAKgsE,SAAWvB,IAAcZ,GAC9B7pE,KAAK0R,MAAQA,EACb1R,KAAK2R,IAAMA,C,CAMnB,OAHIo6D,EAAAryC,UAAA3lB,MAAA,WACI,OAAOsvD,EAAax8D,WAAC,EAAG7G,KAAKmjE,WAAWpvD,MAAM/T,KAAK0R,MAAO1R,KAAK2R,K,EAEvEo6D,CAAA,CAhBA,GAgCaE,GAAc,SAACn8B,EAAal6B,GACrC,IAAMutD,EAAaD,EAAapzB,GAC1B1hC,EAA+Cq9D,GAAoBtI,EAAYvtD,GAA9Eu1D,EAAQ/8D,EAAA,GAAE48D,EAAU58D,EAAA,GAAEw9D,EAAoBx9D,EAAA,GAC3ClN,EAASiiE,EAAWjiE,OACtBgrE,EAAU,EACV52C,EAAY,EAEhB,MAAO,CACH1qB,KAAM,WACF,GAAI0qB,GAAap0B,EACb,MAAO,CAAC2J,MAAM,EAAM9H,MAAO,MAE/B,IAAI0nE,EAAYX,GAChB,MACIx0C,EAAYp0B,IACXupE,EAAYS,GAAkB/H,EAAY6H,EAAYG,IAAY71C,EAAWs2C,MAC1E9B,IAGR,GAAIW,IAAcX,IAAqBx0C,IAAcp0B,EAAQ,CACzD,IAAM6B,EAAQ,IAAIgpE,GAAM5I,EAAYsH,EAAWyB,EAAS52C,GAExD,OADA42C,EAAU52C,EACH,CAACvyB,MAAKA,EAAE8H,MAAM,E,CAGzB,MAAO,CAACA,MAAM,EAAM9H,MAAO,K,EAGvC,ECrhBaopE,GAAoB,EACpBC,GAAU,EACVC,GAAe,EACfC,GAAc,EAErBC,GAAY,GACZC,GAAU,GACVC,GAAkB,GAClBC,GAAuB,EACvBC,GAAQ,GACRC,GAAiB,GACjBC,GAAc,GACdC,GAAc,GACdC,GAAc,GACdC,GAAkB,GAClBC,GAAa,GACbC,GAAmB,GACnBC,GAAoB,GACpBC,GAAW,GACXC,GAAe,GACfC,GAAmB,GACnBC,GAAiB,GACjBC,GAAoB,GACpBC,GAAgB,GAChBC,GAAsB,GACtBC,GAAuB,GACvBC,GAAoB,GACpBC,GAAqB,IACrBC,GAAgB,GAChBC,GAAsB,IACtBC,GAAgB,IAChBC,GAAQ,IACRC,GAAU,IACVC,GAAwB,MACxBC,GAAW,GACXC,GAAY,GACZC,GAAQ,GACRC,GAAQ,GACRC,GAAY,GACZC,GAAY,GACZC,GAAO,EACPC,GAAY,EACZC,GAAkB,GAClBC,GAAY,GACZC,GAA4B,GAC5BC,GAAS,IACTC,IAAO,EACPC,GAAO,GACPh8D,GAAI,GACJuvB,GAAI,IACJxiB,GAAI,IACJ8S,GAAI,IACJulB,GAAI,IACJ5D,GAAI,GACJC,GAAI,GACJgC,GAAI,GACJ+C,GAAI,GACJG,GAAI,GAEJs1B,GAAU,SAAC1L,GAAsB,OAAAA,GAAayL,IAAQzL,GAAa,EAAM,EACzE2L,GAAuB,SAAC3L,GAAsB,OAAAA,GAAa,OAAUA,GAAa,KAAM,EACxF4L,GAAQ,SAAC5L,GACX,OAAA0L,GAAQ1L,IAAeA,GAAa/uB,IAAK+uB,GAAa9sB,IAAO8sB,GAAavwD,IAAKuwD,GAAaxjD,EAA5F,EACEqvD,GAAoB,SAAC7L,GAAsB,OAAAA,GAAavwD,IAAKuwD,GAAanrB,EAAC,EAC3Ei3B,GAAoB,SAAC9L,GAAsB,OAAAA,GAAa/uB,IAAK+uB,GAAa5pB,EAAC,EAC3E21B,GAAW,SAAC/L,GAAsB,OAAA6L,GAAkB7L,IAAc8L,GAAkB9L,EAAU,EAC9FgM,GAAsB,SAAChM,GAAsB,OAAAA,GAAa0K,EAAO,EACjEuB,GAAe,SAACjM,GAClB,OAAAA,IAAc+I,IAAa/I,IAAckJ,IAAwBlJ,IAAcmJ,EAA/E,EACE+C,GAAuB,SAAClM,GAC1B,OAAA+L,GAAS/L,IAAcgM,GAAoBhM,IAAcA,IAAc4J,EAAvE,EACEuC,GAAkB,SAACnM,GACrB,OAAAkM,GAAqBlM,IAAc0L,GAAQ1L,IAAcA,IAAc6J,EAAvE,EACEuC,GAA0B,SAACpM,GAC7B,OACKA,GAAakL,IAAQlL,GAAamL,IACnCnL,IAAcoL,IACbpL,GAAaqL,IAAarL,GAAasL,IACxCtL,IAAcuL,EAEtB,EACMc,GAAgB,SAACn8C,EAAYE,GAC/B,OAAIF,IAAO+4C,IAIJ74C,IAAO24C,EAClB,EACMuD,GAAoB,SAACp8C,EAAYE,EAAYm8C,GAC/C,OAAIr8C,IAAO25C,GACAqC,GAAqB97C,IAAOi8C,GAAcj8C,EAAIm8C,KAC9CL,GAAqBh8C,MAErBA,IAAO+4C,KAAmBoD,GAAcn8C,EAAIE,GAI3D,EAEMo8C,GAAgB,SAACt8C,EAAYE,EAAYm8C,GAC3C,OAAIr8C,IAAO26C,IAAa36C,IAAO25C,KACvB6B,GAAQt7C,IAILA,IAAO66C,IAAaS,GAAQa,GAI5Bb,GADPx7C,IAAO+6C,GACQ76C,EAGJF,EACnB,EAEMu8C,GAAiB,SAAC9M,GACpB,IAAI7/C,EAAI,EACJ4sD,EAAO,EACP/M,EAAW7/C,KAAO+qD,IAAalL,EAAW7/C,KAAO+pD,KAC7ClK,EAAW7/C,KAAO+pD,KAClB6C,GAAQ,GAEZ5sD,KAGJ,IAAM6sD,EAAW,GAEjB,MAAOjB,GAAQ/L,EAAW7/C,IACtB6sD,EAAS5vE,KAAK4iE,EAAW7/C,MAG7B,IAAM8sD,EAAMD,EAASjvE,OAASkvC,SAASizB,EAAax8D,WAAC,EAAGspE,GAAW,IAAM,EAErEhN,EAAW7/C,KAAOmrD,IAClBnrD,IAGJ,IAAM+sD,EAAW,GACjB,MAAOnB,GAAQ/L,EAAW7/C,IACtB+sD,EAAS9vE,KAAK4iE,EAAW7/C,MAG7B,IAAMgtD,EAAQD,EAASnvE,OACjBqvE,EAAOD,EAAQlgC,SAASizB,EAAax8D,WAAC,EAAGwpE,GAAW,IAAM,EAE5DlN,EAAW7/C,KAAOoxB,IAAKyuB,EAAW7/C,KAAOkf,IACzClf,IAGJ,IAAIktD,EAAU,EAEVrN,EAAW7/C,KAAO+qD,IAAalL,EAAW7/C,KAAO+pD,KAC7ClK,EAAW7/C,KAAO+pD,KAClBmD,GAAW,GAEfltD,KAGJ,IAAMmtD,EAAW,GAEjB,MAAOvB,GAAQ/L,EAAW7/C,IACtBmtD,EAASlwE,KAAK4iE,EAAW7/C,MAG7B,IAAMotD,EAAMD,EAASvvE,OAASkvC,SAASizB,EAAax8D,WAAC,EAAG4pE,GAAW,IAAM,EAEzE,OAAOP,GAAQE,EAAMG,EAAOt8C,KAAK08C,IAAI,IAAKL,IAAUr8C,KAAK08C,IAAI,GAAIH,EAAUE,EAC/E,EAEME,GAAgC,CAClC7rE,KAAM,GAEJ8rE,GAAiC,CACnC9rE,KAAM,GAEJ+rE,GAAqB,CAAC/rE,KAAM,GAC5BgsE,GAA4B,CAAChsE,KAAM,IACnCisE,GAA4B,CAACjsE,KAAM,GACnCksE,GAAsB,CAAClsE,KAAM,IAC7BmsE,GAA0B,CAACnsE,KAAM,GACjCosE,GAA6B,CAACpsE,KAAM,IACpCqsE,GAAkC,CACpCrsE,KAAM,IAEJssE,GAAmC,CACrCtsE,KAAM,IAEJusE,GAA+B,CAACvsE,KAAM,IACtCwsE,GAAuB,CAACxsE,KAAM,IAC9BysE,GAA0B,CAACzsE,KAAM,GACjC0sE,GAAmB,CAAC1sE,KAAM,IAC1B2sE,GAAmB,CAAC3sE,KAAM,IAC1B4sE,GAAqB,CAAC5sE,KAAM,IAC5B6sE,GAAyB,CAAC7sE,KAAM,IAChC8sE,GAAmC,CACrC9sE,KAAM,IAEJ+sE,GAAoC,CACtC/sE,KAAM,IAEJgtE,GAA0B,CAAChtE,KAAM,IAC1BitE,GAAmB,CAACjtE,KAAM,IAEvCktE,GAAA,WAGI,SAAAA,IACIjyE,KAAKsN,OAAS,E,CAyetB,OAteI2kE,EAAAv4C,UAAAw4C,MAAA,SAAMC,GACFnyE,KAAKsN,OAAStN,KAAKsN,OAAOkL,OAAO0qD,EAAaiP,G,EAGlDF,EAAAv4C,UAAA04C,KAAA,WACI,IAAMC,EAAS,GACXC,EAAQtyE,KAAKuyE,eACjB,MAAOD,IAAUN,GACbK,EAAO9xE,KAAK+xE,GACZA,EAAQtyE,KAAKuyE,eAEjB,OAAOF,C,EAGHJ,EAAAv4C,UAAA64C,aAAR,WACI,IAAM/O,EAAYxjE,KAAKwyE,mBAEvB,OAAQhP,GACJ,KAAKoJ,GACD,OAAO5sE,KAAKyyE,mBAAmB7F,IACnC,KAAKE,GACD,IAAMp5C,EAAK1zB,KAAK0yE,cAAc,GACxB9+C,EAAK5zB,KAAK0yE,cAAc,GACxB3C,EAAK/vE,KAAK0yE,cAAc,GAC9B,GAAI/C,GAAgBj8C,IAAOm8C,GAAcj8C,EAAIm8C,GAAK,CAC9C,IAAM4C,EAAQ7C,GAAkBp8C,EAAIE,EAAIm8C,GAAM3D,GAAUD,GAClDppE,EAAQ/C,KAAK4yE,cAEnB,MAAO,CAAC7tE,KAAM,EAAsBhC,MAAKA,EAAE4vE,MAAKA,E,CAEpD,MACJ,KAAK5F,GACD,GAAI/sE,KAAK0yE,cAAc,KAAO7F,GAE1B,OADA7sE,KAAKwyE,mBACEzB,GAEX,MACJ,KAAK9D,GACD,OAAOjtE,KAAKyyE,mBAAmBxF,IACnC,KAAKC,GACD,OAAO0D,GACX,KAAKzD,GACD,OAAO0D,GACX,KAAKzC,GACD,GAAIpuE,KAAK0yE,cAAc,KAAO7F,GAE1B,OADA7sE,KAAKwyE,mBACElB,GAEX,MACJ,KAAKjD,GACD,GAAI2B,GAAcxM,EAAWxjE,KAAK0yE,cAAc,GAAI1yE,KAAK0yE,cAAc,IAEnE,OADA1yE,KAAK6yE,mBAAmBrP,GACjBxjE,KAAK8yE,sBAEhB,MACJ,KAAKxE,GACD,OAAOwC,GACX,KAAKzD,GACD,IAAM/4C,EAAKkvC,EACLjvC,EAAKv0B,KAAK0yE,cAAc,GACxBK,EAAK/yE,KAAK0yE,cAAc,GAE9B,GAAI1C,GAAc17C,EAAIC,EAAIw+C,GAEtB,OADA/yE,KAAK6yE,mBAAmBrP,GACjBxjE,KAAK8yE,sBAGhB,GAAIhD,GAAkBx7C,EAAIC,EAAIw+C,GAE1B,OADA/yE,KAAK6yE,mBAAmBrP,GACjBxjE,KAAKgzE,wBAGhB,GAAIz+C,IAAO84C,IAAgB0F,IAAOvF,GAG9B,OAFAxtE,KAAKwyE,mBACLxyE,KAAKwyE,mBACEd,GAEX,MAEJ,KAAKjD,GACD,GAAIuB,GAAcxM,EAAWxjE,KAAK0yE,cAAc,GAAI1yE,KAAK0yE,cAAc,IAEnE,OADA1yE,KAAK6yE,mBAAmBrP,GACjBxjE,KAAK8yE,sBAEhB,MACJ,KAAKtG,GACD,GAAIxsE,KAAK0yE,cAAc,KAAOtE,GAAU,CACpCpuE,KAAKwyE,mBACL,MAAO,EAAM,CACT,IAAIlvD,EAAItjB,KAAKwyE,mBACb,GAAIlvD,IAAM8qD,KACN9qD,EAAItjB,KAAKwyE,mBACLlvD,IAAMkpD,IACN,OAAOxsE,KAAKuyE,eAGpB,GAAIjvD,IAAM0rD,GACN,OAAOhvE,KAAKuyE,c,EAIxB,MACJ,KAAKhE,GACD,OAAOoD,GACX,KAAKnD,GACD,OAAOoD,GACX,KAAKrE,GACD,GACIvtE,KAAK0yE,cAAc,KAAOpF,IAC1BttE,KAAK0yE,cAAc,KAAOrF,IAC1BrtE,KAAK0yE,cAAc,KAAOrF,GAI1B,OAFArtE,KAAKwyE,mBACLxyE,KAAKwyE,mBACEf,GAEX,MACJ,KAAKhE,GACD,IAAMwF,EAAKjzE,KAAK0yE,cAAc,GACxBQ,EAAKlzE,KAAK0yE,cAAc,GACxBS,EAAKnzE,KAAK0yE,cAAc,GAC9B,GAAI5C,GAAkBmD,EAAIC,EAAIC,GAAK,CACzBpwE,EAAQ/C,KAAK4yE,cACnB,MAAO,CAAC7tE,KAAM,EAA4BhC,MAAKA,E,CAEnD,MACJ,KAAK2qE,GACD,OAAOmE,GACX,KAAKpF,GACD,GAAIoD,GAAcrM,EAAWxjE,KAAK0yE,cAAc,IAE5C,OADA1yE,KAAK6yE,mBAAmBrP,GACjBxjE,KAAKgzE,wBAEhB,MACJ,KAAKrF,GACD,OAAOmE,GACX,KAAKlE,GACD,GAAI5tE,KAAK0yE,cAAc,KAAO7F,GAE1B,OADA7sE,KAAKwyE,mBACExB,GAEX,MACJ,KAAKnD,GACD,OAAOuD,GACX,KAAKrD,GACD,OAAOsD,GACX,KAAKv+C,GACL,KAAK2mB,GACD,IAAM25B,EAAKpzE,KAAK0yE,cAAc,GACxBW,EAAKrzE,KAAK0yE,cAAc,GAM9B,OALIU,IAAO/E,KAAce,GAAMiE,IAAOA,IAAOvF,KACzC9tE,KAAKwyE,mBACLxyE,KAAKszE,4BAETtzE,KAAK6yE,mBAAmBrP,GACjBxjE,KAAKgzE,wBAChB,KAAKhF,GACD,GAAIhuE,KAAK0yE,cAAc,KAAO7F,GAE1B,OADA7sE,KAAKwyE,mBACEtB,GAEX,GAAIlxE,KAAK0yE,cAAc,KAAO1E,GAE1B,OADAhuE,KAAKwyE,mBACEvB,GAEX,MACJ,KAAKhD,GACD,GAAIjuE,KAAK0yE,cAAc,KAAO7F,GAE1B,OADA7sE,KAAKwyE,mBACErB,GAEX,MACJ,KAAKnC,GACD,OAAOgD,GAGf,OAAIvC,GAAajM,IACbxjE,KAAKuzE,oBACExB,IAGP7C,GAAQ1L,IACRxjE,KAAK6yE,mBAAmBrP,GACjBxjE,KAAK8yE,uBAGZpD,GAAqBlM,IACrBxjE,KAAK6yE,mBAAmBrP,GACjBxjE,KAAKgzE,yBAGT,CAACjuE,KAAM,EAAuBhC,MAAOsgE,EAAcG,G,EAGtDyO,EAAAv4C,UAAA84C,iBAAR,WACI,IAAMzvE,EAAQ/C,KAAKsN,OAAO1J,QAE1B,MAAwB,qBAAVb,GAAyB,EAAIA,C,EAGvCkvE,EAAAv4C,UAAAm5C,mBAAR,SAA2BrP,GACvBxjE,KAAKsN,OAAOkO,QAAQgoD,E,EAGhByO,EAAAv4C,UAAAg5C,cAAR,SAAsBc,GAClB,OAAIA,GAASxzE,KAAKsN,OAAOpM,QACb,EAGLlB,KAAKsN,OAAOkmE,E,EAGfvB,EAAAv4C,UAAA45C,yBAAR,WACI,IAAMG,EAAS,GACXjQ,EAAYxjE,KAAKwyE,mBACrB,MAAOpD,GAAM5L,IAAciQ,EAAOvyE,OAAS,EACvCuyE,EAAOlzE,KAAKijE,GACZA,EAAYxjE,KAAKwyE,mBAErB,IAAIkB,GAAgB,EACpB,MAAOlQ,IAAcsK,IAAiB2F,EAAOvyE,OAAS,EAClDuyE,EAAOlzE,KAAKijE,GACZA,EAAYxjE,KAAKwyE,mBACjBkB,GAAgB,EAGpB,GAAIA,EAAe,CACf,IAAMC,EAAQvjC,SACVizB,EAAax8D,WAAC,EAAG4sE,EAAOptE,KAAI,SAACutE,GAAU,OAACA,IAAU9F,GAAgBmB,GAAO2E,CAAK,KAC9E,IAEEjiE,EAAMy+B,SAASizB,EAAax8D,WAAC,EAAG4sE,EAAOptE,KAAI,SAACutE,GAAU,OAACA,IAAU9F,GAAgBp3B,GAAIk9B,CAAK,KAAK,IACrG,MAAO,CAAC7uE,KAAM,GAA+B2M,MAAKiiE,EAAEhiE,IAAGA,E,CAG3D,IAAMD,EAAQ0+B,SAASizB,EAAax8D,WAAC,EAAG4sE,GAAS,IACjD,GAAIzzE,KAAK0yE,cAAc,KAAOrF,IAAgB+B,GAAMpvE,KAAK0yE,cAAc,IAAK,CACxE1yE,KAAKwyE,mBACLhP,EAAYxjE,KAAKwyE,mBACjB,IAAMqB,EAAY,GAClB,MAAOzE,GAAM5L,IAAcqQ,EAAU3yE,OAAS,EAC1C2yE,EAAUtzE,KAAKijE,GACfA,EAAYxjE,KAAKwyE,mBAEf7gE,EAAMy+B,SAASizB,EAAax8D,WAAC,EAAGgtE,GAAY,IAElD,MAAO,CAAC9uE,KAAM,GAA+B2M,MAAKA,EAAEC,IAAGA,E,CAEvD,MAAO,CAAC5M,KAAM,GAA+B2M,MAAKA,EAAEC,IAAKD,E,EAIzDugE,EAAAv4C,UAAAs5C,sBAAR,WACI,IAAMjwE,EAAQ/C,KAAK4yE,cACnB,MAA4B,QAAxB7vE,EAAMgT,eAA2B/V,KAAK0yE,cAAc,KAAOxF,IAC3DltE,KAAKwyE,mBACExyE,KAAK8zE,mBACL9zE,KAAK0yE,cAAc,KAAOxF,IACjCltE,KAAKwyE,mBACE,CAACztE,KAAM,GAA0BhC,MAAKA,IAG1C,CAACgC,KAAM,GAAuBhC,MAAKA,E,EAGtCkvE,EAAAv4C,UAAAo6C,gBAAR,WACI,IAAM/wE,EAAQ,GAGd,GAFA/C,KAAKuzE,oBAEDvzE,KAAK0yE,cAAc,KAAO1D,GAC1B,MAAO,CAACjqE,KAAM,GAAqBhC,MAAO,IAG9C,IAAM6H,EAAO5K,KAAK0yE,cAAc,GAChC,GAAI9nE,IAASqiE,IAAcriE,IAASgiE,GAAgB,CAChD,IAAMmH,EAAc/zE,KAAKyyE,mBAAmBzyE,KAAKwyE,oBACjD,OAAyB,IAArBuB,EAAYhvE,OACZ/E,KAAKuzE,oBAEDvzE,KAAK0yE,cAAc,KAAO1D,IAAOhvE,KAAK0yE,cAAc,KAAOvF,KAC3DntE,KAAKwyE,mBACE,CAACztE,KAAM,GAAqBhC,MAAOgxE,EAAYhxE,SAI9D/C,KAAKg0E,wBACEzC,G,CAGX,MAAO,EAAM,CACT,IAAM/N,EAAYxjE,KAAKwyE,mBACvB,GAAIhP,IAAcwL,IAAOxL,IAAc2J,GACnC,MAAO,CAACpoE,KAAM,GAAqBhC,MAAOsgE,EAAax8D,WAAC,EAAG9D,IACxD,GAAI0sE,GAAajM,GAEpB,OADAxjE,KAAKuzE,oBACDvzE,KAAK0yE,cAAc,KAAO1D,IAAOhvE,KAAK0yE,cAAc,KAAOvF,IAC3DntE,KAAKwyE,mBACE,CAACztE,KAAM,GAAqBhC,MAAOsgE,EAAax8D,WAAC,EAAG9D,MAE/D/C,KAAKg0E,wBACEzC,IACJ,GACH/N,IAAcoJ,IACdpJ,IAAcyJ,IACdzJ,IAAc0J,IACd0C,GAAwBpM,GAGxB,OADAxjE,KAAKg0E,wBACEzC,GACJ,GAAI/N,IAAciJ,GAAiB,CACtC,IAAIoD,GAAcrM,EAAWxjE,KAAK0yE,cAAc,IAI5C,OADA1yE,KAAKg0E,wBACEzC,GAHPxuE,EAAMxC,KAAKP,KAAKi0E,0B,MAMpBlxE,EAAMxC,KAAKijE,E,GAKfyO,EAAAv4C,UAAA65C,kBAAR,WACI,MAAO9D,GAAazvE,KAAK0yE,cAAc,IACnC1yE,KAAKwyE,kB,EAILP,EAAAv4C,UAAAs6C,sBAAR,WACI,MAAO,EAAM,CACT,IAAMxQ,EAAYxjE,KAAKwyE,mBACvB,GAAIhP,IAAc2J,IAAqB3J,IAAcwL,GACjD,OAGAa,GAAcrM,EAAWxjE,KAAK0yE,cAAc,KAC5C1yE,KAAKi0E,yB,GAKThC,EAAAv4C,UAAAw6C,mBAAR,SAA2B1I,GACvB,IAAM2I,EAAmB,IACrBpxE,EAAQ,GACZ,MAAOyoE,EAAQ,EAAG,CACd,IAAM4I,EAASngD,KAAKC,IAAIigD,EAAkB3I,GAC1CzoE,GAASsgE,EAAax8D,WAAC,EAAG7G,KAAKsN,OAAO8E,OAAO,EAAGgiE,IAChD5I,GAAS4I,C,CAIb,OAFAp0E,KAAKsN,OAAO1J,QAELb,C,EAGHkvE,EAAAv4C,UAAA+4C,mBAAR,SAA2B4B,GACvB,IAAItxE,EAAQ,GACR/B,EAAI,EAER,EAAG,CACC,IAAMwiE,EAAYxjE,KAAKsN,OAAOtM,GAC9B,GAAIwiE,IAAcwL,SAAqBlD,IAAdtI,GAA2BA,IAAc6Q,EAE9D,OADAtxE,GAAS/C,KAAKk0E,mBAAmBlzE,GAC1B,CAAC+D,KAAM,EAAwBhC,MAAKA,GAG/C,GAAIygE,IAAc+I,GAEd,OADAvsE,KAAKsN,OAAO8E,OAAO,EAAGpR,GACfwwE,GAGX,GAAIhO,IAAciJ,GAAiB,CAC/B,IAAM7hE,EAAO5K,KAAKsN,OAAOtM,EAAI,GACzB4J,IAASokE,SAAgBlD,IAATlhE,IACZA,IAAS2hE,IACTxpE,GAAS/C,KAAKk0E,mBAAmBlzE,GACjCA,GAAK,EACLhB,KAAKsN,OAAO1J,SACLisE,GAAcrM,EAAW54D,KAChC7H,GAAS/C,KAAKk0E,mBAAmBlzE,GACjC+B,GAASsgE,EAAcrjE,KAAKi0E,2BAC5BjzE,GAAK,G,CAKjBA,G,OACK,E,EAGLixE,EAAAv4C,UAAA46C,cAAR,WACI,IAAMC,EAAO,GACTxvE,EAAOsnE,GACP34C,EAAK1zB,KAAK0yE,cAAc,GACxBh/C,IAAO26C,IAAa36C,IAAO25C,IAC3BkH,EAAKh0E,KAAKP,KAAKwyE,oBAGnB,MAAOtD,GAAQlvE,KAAK0yE,cAAc,IAC9B6B,EAAKh0E,KAAKP,KAAKwyE,oBAEnB9+C,EAAK1zB,KAAK0yE,cAAc,GACxB,IAAI9+C,EAAK5zB,KAAK0yE,cAAc,GAC5B,GAAIh/C,IAAO+6C,IAAaS,GAAQt7C,GAAK,CACjC2gD,EAAKh0E,KAAKP,KAAKwyE,mBAAoBxyE,KAAKwyE,oBACxCztE,EAAOunE,GACP,MAAO4C,GAAQlvE,KAAK0yE,cAAc,IAC9B6B,EAAKh0E,KAAKP,KAAKwyE,mB,CAIvB9+C,EAAK1zB,KAAK0yE,cAAc,GACxB9+C,EAAK5zB,KAAK0yE,cAAc,GACxB,IAAM3C,EAAK/vE,KAAK0yE,cAAc,GAC9B,IAAKh/C,IAAOghB,IAAKhhB,IAAO8O,OAAS5O,IAAOy6C,IAAaz6C,IAAOy5C,KAAiB6B,GAAQa,IAAQb,GAAQt7C,IAAM,CACvG2gD,EAAKh0E,KAAKP,KAAKwyE,mBAAoBxyE,KAAKwyE,oBACxCztE,EAAOunE,GACP,MAAO4C,GAAQlvE,KAAK0yE,cAAc,IAC9B6B,EAAKh0E,KAAKP,KAAKwyE,mB,CAIvB,MAAO,CAACvC,GAAesE,GAAOxvE,E,EAG1BktE,EAAAv4C,UAAAo5C,oBAAR,WACU,IAAA1kE,EAAkBpO,KAAKs0E,gBAAtBrgE,EAAM7F,EAAA,GAAEukE,EAAKvkE,EAAA,GACdslB,EAAK1zB,KAAK0yE,cAAc,GACxB9+C,EAAK5zB,KAAK0yE,cAAc,GACxB3C,EAAK/vE,KAAK0yE,cAAc,GAE9B,GAAI5C,GAAkBp8C,EAAIE,EAAIm8C,GAAK,CAC/B,IAAMyE,EAAOx0E,KAAK4yE,cAClB,MAAO,CAAC7tE,KAAM,GAA2BkP,OAAMA,EAAE0+D,MAAKA,EAAE6B,KAAIA,E,CAGhE,OAAI9gD,IAAOs5C,IACPhtE,KAAKwyE,mBACE,CAACztE,KAAM,GAA4BkP,OAAMA,EAAE0+D,MAAKA,IAGpD,CAAC5tE,KAAM,GAAwBkP,OAAMA,EAAE0+D,MAAKA,E,EAG/CV,EAAAv4C,UAAAu6C,wBAAR,WACI,IAAMzQ,EAAYxjE,KAAKwyE,mBAEvB,GAAIpD,GAAM5L,GAAY,CAClB,IAAIiR,EAAMpR,EAAcG,GACxB,MAAO4L,GAAMpvE,KAAK0yE,cAAc,KAAO+B,EAAIvzE,OAAS,EAChDuzE,GAAOpR,EAAcrjE,KAAKwyE,oBAG1B/C,GAAazvE,KAAK0yE,cAAc,KAChC1yE,KAAKwyE,mBAGT,IAAMkC,EAAetkC,SAASqkC,EAAK,IAEnC,OAAqB,IAAjBC,GAAsBvF,GAAqBuF,IAAiBA,EAAe,QACpEvG,GAGJuG,C,CAGX,OAAIlR,IAAcwL,GACPb,GAGJ3K,C,EAGHyO,EAAAv4C,UAAAk5C,YAAR,WACI,IAAIlqE,EAAS,GACb,MAAO,EAAM,CACT,IAAM86D,EAAYxjE,KAAKwyE,mBACvB,GAAI7C,GAAgBnM,GAChB96D,GAAU26D,EAAcG,OACrB,KAAIqM,GAAcrM,EAAWxjE,KAAK0yE,cAAc,IAInD,OADA1yE,KAAK6yE,mBAAmBrP,GACjB96D,EAHPA,GAAU26D,EAAcrjE,KAAKi0E,0B,IAO7ChC,CAAA,CA7eA,GC1RA0C,GAAA,WAGI,SAAAA,EAAYtC,GACRryE,KAAK40E,QAAUvC,C,CA6GvB,OA1GWsC,EAAA11D,OAAP,SAAclc,GACV,IAAM8xE,EAAY,IAAI5C,GAEtB,OADA4C,EAAU3C,MAAMnvE,GACT,IAAI4xE,EAAOE,EAAUzC,O,EAGzBuC,EAAAG,WAAP,SAAkB/xE,GACd,OAAO4xE,EAAO11D,OAAOlc,GAAOgyE,qB,EAGzBJ,EAAAK,YAAP,SAAmBjyE,GACf,OAAO4xE,EAAO11D,OAAOlc,GAAOkyE,sB,EAGhCN,EAAAj7C,UAAAq7C,oBAAA,WACI,IAAIzC,EAAQtyE,KAAKuyE,eACjB,MAAsB,KAAfD,EAAMvtE,KACTutE,EAAQtyE,KAAKuyE,eAGjB,GAAmB,KAAfD,EAAMvtE,KACN,MAAM,IAAImwE,YAAY,qDAG1Bl1E,KAAKm1E,eAAe7C,GACpB,IAAMvvE,EAAQ/C,KAAKo1E,wBAEnB,GACI9C,EAAQtyE,KAAKuyE,qBACO,KAAfD,EAAMvtE,MAEf,GAAmB,KAAfutE,EAAMvtE,KACN,OAAOhC,EAGX,MAAM,IAAImyE,YAAY,mF,EAG1BP,EAAAj7C,UAAAu7C,qBAAA,WACI,IAAM5vE,EAAS,GACf,MAAO,EAAM,CACT,IAAMtC,EAAQ/C,KAAKo1E,wBACnB,GAAmB,KAAfryE,EAAMgC,KACN,OAAOM,EAEXA,EAAO9E,KAAKwC,GACZsC,EAAO9E,M,GAIPo0E,EAAAj7C,UAAA07C,sBAAR,WACI,IAAM9C,EAAQtyE,KAAKuyE,eAEnB,OAAQD,EAAMvtE,MACV,KAAK,GACL,KAAK,GACL,KAAK,EACD,OAAO/E,KAAKq1E,mBAAmB/C,EAAMvtE,MACzC,KAAK,GACD,OAAO/E,KAAKs1E,gBAAgBhD,GAGpC,OAAOA,C,EAGHqC,EAAAj7C,UAAA27C,mBAAR,SAA2BtwE,GACvB,IAAMwwE,EAAkB,CAACxwE,KAAIA,EAAEM,OAAQ,IAEnCitE,EAAQtyE,KAAKuyE,eACjB,MAAO,EAAM,CACT,GAAmB,KAAfD,EAAMvtE,MAAgCywE,GAAiBlD,EAAOvtE,GAC9D,OAAOwwE,EAGXv1E,KAAKm1E,eAAe7C,GACpBiD,EAAMlwE,OAAO9E,KAAKP,KAAKo1E,yBACvB9C,EAAQtyE,KAAKuyE,c,GAIboC,EAAAj7C,UAAA47C,gBAAR,SAAwBG,GACpB,IAAMC,EAA2B,CAC7Bz7D,KAAMw7D,EAAc1yE,MACpBsC,OAAQ,GACRN,KAAM,IAGV,MAAO,EAAM,CACT,IAAMutE,EAAQtyE,KAAKuyE,eACnB,GAAmB,KAAfD,EAAMvtE,MAA+C,IAAfutE,EAAMvtE,KAC5C,OAAO2wE,EAGX11E,KAAKm1E,eAAe7C,GACpBoD,EAAYrwE,OAAO9E,KAAKP,KAAKo1E,wB,GAI7BT,EAAAj7C,UAAA64C,aAAR,WACI,IAAMD,EAAQtyE,KAAK40E,QAAQhxE,QAC3B,MAAwB,qBAAV0uE,EAAwBN,GAAYM,C,EAG9CqC,EAAAj7C,UAAAy7C,eAAR,SAAuB7C,GACnBtyE,KAAK40E,QAAQp5D,QAAQ82D,E,EAE7BqC,CAAA,CAjHA,GAmHagB,GAAmB,SAACrD,GAA6C,OAAe,KAAfA,EAAMvtE,IAAI,EAC3E6wE,GAAgB,SAACtD,GAA+C,OAAe,KAAfA,EAAMvtE,IAAI,EAC1E8wE,GAAe,SAACvD,GAA+C,OAAe,KAAfA,EAAMvtE,IAAI,EACzE+wE,GAAgB,SAACxD,GAA+C,OAAe,IAAfA,EAAMvtE,IAAI,EAC1EgxE,GAAmB,SAACzD,EAAiBvvE,GAC9C,OAAA8yE,GAAavD,IAAUA,EAAMvvE,QAAUA,CAAvC,EAESizE,GAAgB,SAAC1D,GAA6B,OAAe,KAAfA,EAAMvtE,IAAI,EACxDkxE,GAA0B,SAAC3D,GACpC,OAAe,KAAfA,EAAMvtE,MAAsD,IAAfutE,EAAMvtE,IAAnD,EAESmxE,GAAoB,SAAC7D,GAC9B,IAAM5rE,EAAqB,GACvBkW,EAAkB,GAmBtB,OAlBA01D,EAAO5sE,SAAQ,SAAC6sE,GACZ,GAAmB,IAAfA,EAAMvtE,KAAgC,CACtC,GAAmB,IAAf4X,EAAIzb,OACJ,MAAM,IAAIi2C,MAAM,oDAIpB,OAFA1wC,EAAKlG,KAAKoc,QACVA,EAAM,G,CAIS,KAAf21D,EAAMvtE,MACN4X,EAAIpc,KAAK+xE,E,IAGb31D,EAAIzb,QACJuF,EAAKlG,KAAKoc,GAGPlW,CACX,EAEM+uE,GAAmB,SAAClD,EAAiBvtE,GACvC,OAAa,KAATA,GAA8D,KAAfutE,EAAMvtE,OAG5C,KAATA,GAA+D,KAAfutE,EAAMvtE,MAI1C,IAATA,GAA4D,IAAfutE,EAAMvtE,KAC9D,ECtLaoxE,GAAW,SAAC7D,GACrB,OAAe,KAAfA,EAAMvtE,MAAkD,KAAfutE,EAAMvtE,IAA/C,ECASqxE,GAAqB,SAAC9D,GAC/B,OAAe,KAAfA,EAAMvtE,MAAuCoxE,GAAS7D,EAAtD,EACS+D,GAA6B,SAAChE,GACvC,OAAAA,EAAOnxE,OAAS,EAAI,CAACmxE,EAAO,GAAIA,EAAO,IAAM,CAACA,EAAO,GAArD,EACSiE,GAAgC,CACzCvxE,KAAM,GACNkP,OAAQ,EACR0+D,MAAOtG,IAGEkK,GAAkC,CAC3CxxE,KAAM,GACNkP,OAAQ,GACR0+D,MAAOtG,IAGEmK,GAAoC,CAC7CzxE,KAAM,GACNkP,OAAQ,IACR0+D,MAAOtG,IAGEoK,GAA2B,SACpCC,EACA7yB,EACAC,GAEO,IAAA7O,EAAQyhC,EAAK,GAAVniC,EAAKmiC,EAAK,GACpB,MAAO,CAACC,GAAiB1hC,EAAG4O,GAAQ8yB,GAA8B,qBAANpiC,EAAoBA,EAAIU,EAAG6O,GAC3F,EACa6yB,GAAmB,SAACrE,EAAyBlyE,GACtD,GAAmB,KAAfkyE,EAAMvtE,KACN,OAAQutE,EAAMr+D,OAAS,IAAO7T,EAGlC,GAAIu1E,GAAiBrD,GACjB,OAAQA,EAAMkC,MACV,IAAK,MACL,IAAK,KACD,OAAO,GAAKlC,EAAMr+D,OACtB,IAAK,KACL,QACI,OAAOq+D,EAAMr+D,OAIzB,OAAOq+D,EAAMr+D,MACjB,EC9CM2iE,GAAM,MACNC,GAAO,OACPC,GAAM,MACNC,GAAO,OAEAC,GAAiC,CAC1C/8D,KAAM,QACNs8B,MAAO,SAACxvB,EAAmBhkB,GACvB,GAAmB,KAAfA,EAAMgC,KACN,OAAQhC,EAAMyxE,MACV,KAAKoC,GACD,OAAQ3iD,KAAKgjD,GAAKl0E,EAAMkR,OAAU,IACtC,KAAK4iE,GACD,OAAQ5iD,KAAKgjD,GAAK,IAAOl0E,EAAMkR,OACnC,KAAK6iE,GACD,OAAO/zE,EAAMkR,OACjB,KAAK8iE,GACD,OAAiB,EAAV9iD,KAAKgjD,GAASl0E,EAAMkR,OAIvC,MAAM,IAAIkjC,MAAM,yB,GAIX+/B,GAAU,SAACn0E,GACpB,OAAmB,KAAfA,EAAMgC,OACFhC,EAAMyxE,OAASoC,IAAO7zE,EAAMyxE,OAASqC,IAAQ9zE,EAAMyxE,OAASsC,IAAO/zE,EAAMyxE,OAASuC,GAK9F,EAEaI,GAAiB,SAAC9E,GAC3B,IAAM+E,EAAe/E,EAChBjsE,OAAOyvE,IACPxvE,KAAI,SAACgxE,GAAU,OAAAA,EAAMt0E,KAAK,IAC1BinC,KAAK,KAEV,OAAQotC,GACJ,IAAK,kBACL,IAAK,kBACL,IAAK,WACL,IAAK,WACD,MAAO,CAACd,GAAaA,IACzB,IAAK,SACL,IAAK,SACD,OAAOgB,GAAI,GACf,IAAK,iBACL,IAAK,iBACL,IAAK,YACL,IAAK,YACD,MAAO,CAAChB,GAAaE,IACzB,IAAK,WACL,IAAK,OACD,OAAOc,GAAI,IACf,IAAK,cACL,IAAK,cACL,IAAK,eACL,IAAK,eACD,MAAO,CAACd,GAAiBA,IAC7B,IAAK,YACL,IAAK,MACD,OAAOc,GAAI,KACf,IAAK,eACL,IAAK,eACL,IAAK,cACL,IAAK,cACD,MAAO,CAACd,GAAiBF,IAC7B,IAAK,UACL,IAAK,QACD,OAAOgB,GAAI,KAGnB,OAAO,CACX,EAEaA,GAAM,SAACA,GAAwB,OAACrjD,KAAKgjD,GAAKK,EAAO,GAAG,EC7EpDC,GAAgC,CACzCt9D,KAAM,QACNs8B,MAAO,SAAChwB,EAAkBxjB,GACtB,GAAmB,KAAfA,EAAMgC,KAA6B,CACnC,IAAMyyE,EAAgBC,GAA0B10E,EAAMkX,MACtD,GAA6B,qBAAlBu9D,EACP,MAAM,IAAIrgC,MAAM,sDAAsDp0C,EAAMkX,KAAI,KAEpF,OAAOu9D,EAAcjxD,EAASxjB,EAAMsC,O,CAGxC,GAAmB,IAAftC,EAAMgC,KAA+B,CACrC,GAA2B,IAAvBhC,EAAMA,MAAM7B,OAAc,CAC1B,IAAMqN,EAAIxL,EAAMA,MAAM20E,UAAU,EAAG,GAC7B71C,EAAI9+B,EAAMA,MAAM20E,UAAU,EAAG,GAC7BxkE,EAAInQ,EAAMA,MAAM20E,UAAU,EAAG,GACnC,OAAOrV,GAAKjyB,SAAS7hC,EAAIA,EAAG,IAAK6hC,SAASvO,EAAIA,EAAG,IAAKuO,SAASl9B,EAAIA,EAAG,IAAK,E,CAG/E,GAA2B,IAAvBnQ,EAAMA,MAAM7B,OAAc,CACpBqN,EAAIxL,EAAMA,MAAM20E,UAAU,EAAG,GAC7B71C,EAAI9+B,EAAMA,MAAM20E,UAAU,EAAG,GAC7BxkE,EAAInQ,EAAMA,MAAM20E,UAAU,EAAG,GAFnC,IAGMzkE,EAAIlQ,EAAMA,MAAM20E,UAAU,EAAG,GACnC,OAAOrV,GAAKjyB,SAAS7hC,EAAIA,EAAG,IAAK6hC,SAASvO,EAAIA,EAAG,IAAKuO,SAASl9B,EAAIA,EAAG,IAAKk9B,SAASn9B,EAAIA,EAAG,IAAM,I,CAGrG,GAA2B,IAAvBlQ,EAAMA,MAAM7B,OAAc,CACpBqN,EAAIxL,EAAMA,MAAM20E,UAAU,EAAG,GAC7B71C,EAAI9+B,EAAMA,MAAM20E,UAAU,EAAG,GAC7BxkE,EAAInQ,EAAMA,MAAM20E,UAAU,EAAG,GACnC,OAAOrV,GAAKjyB,SAAS7hC,EAAG,IAAK6hC,SAASvO,EAAG,IAAKuO,SAASl9B,EAAG,IAAK,E,CAGnE,GAA2B,IAAvBnQ,EAAMA,MAAM7B,OAAc,CACpBqN,EAAIxL,EAAMA,MAAM20E,UAAU,EAAG,GAC7B71C,EAAI9+B,EAAMA,MAAM20E,UAAU,EAAG,GAC7BxkE,EAAInQ,EAAMA,MAAM20E,UAAU,EAAG,GAC7BzkE,EAAIlQ,EAAMA,MAAM20E,UAAU,EAAG,GACnC,OAAOrV,GAAKjyB,SAAS7hC,EAAG,IAAK6hC,SAASvO,EAAG,IAAKuO,SAASl9B,EAAG,IAAKk9B,SAASn9B,EAAG,IAAM,I,EAIzF,GAAmB,KAAflQ,EAAMgC,KAAgC,CACtC,IAAM4yE,EAAaC,GAAO70E,EAAMA,MAAMytC,eACtC,GAA0B,qBAAfmnC,EACP,OAAOA,C,CAIf,OAAOC,GAAOC,W,GAITC,GAAgB,SAACC,GAA0B,OAAmB,KAAlB,IAAOA,EAAY,EAE/DC,GAAW,SAACD,GACrB,IAAME,EAAQ,IAAOF,EACfG,EAAO,IAAQH,GAAS,EACxBI,EAAQ,IAAQJ,GAAS,GACzBK,EAAM,IAAQL,GAAS,GAC7B,OAAOE,EAAQ,IAAM,QAAQG,EAAG,IAAID,EAAK,IAAID,EAAI,IAAID,EAAQ,IAAG,IAAM,OAAOG,EAAG,IAAID,EAAK,IAAID,EAAI,GACrG,EAEa7V,GAAO,SAAC9zD,EAAWszB,EAAW3uB,EAAWD,GAClD,OAAE1E,GAAK,GAAOszB,GAAK,GAAO3uB,GAAK,EAAM+gB,KAAKmvB,MAAU,IAAJnwC,MAAoB,CAApE,EAEEolE,GAAqB,SAAC/F,EAAiBtxE,GACzC,GAAmB,KAAfsxE,EAAMvtE,KACN,OAAOutE,EAAMr+D,OAGjB,GAAmB,KAAfq+D,EAAMvtE,KAAqC,CAC3C,IAAMskC,EAAY,IAANroC,EAAU,EAAI,IAC1B,OAAa,IAANA,EAAWsxE,EAAMr+D,OAAS,IAAOo1B,EAAMpV,KAAKmvB,MAAOkvB,EAAMr+D,OAAS,IAAOo1B,E,CAGpF,OAAO,CACX,EAEMivC,GAAM,SAACvxD,EAAmBtgB,GAC5B,IAAM4rE,EAAS5rE,EAAKL,OAAO6vE,IAE3B,GAAsB,IAAlB5D,EAAOnxE,OAAc,CACf,IAAAkN,EAAYikE,EAAOhsE,IAAIgyE,IAAtB9pE,EAACH,EAAA,GAAEyzB,EAACzzB,EAAA,GAAE8E,EAAC9E,EAAA,GACd,OAAOi0D,GAAK9zD,EAAGszB,EAAG3uB,EAAG,E,CAGzB,GAAsB,IAAlBm/D,EAAOnxE,OAAc,CACf,IAAAq3E,EAAelG,EAAOhsE,IAAIgyE,IAAhBplE,GAAT1E,EAACgqE,EAAA,GAAE12C,EAAC02C,EAAA,GAAErlE,EAACqlE,EAAA,GAAGA,EAAA,IACjB,OAAOlW,GAAK9zD,EAAGszB,EAAG3uB,EAAGD,E,CAGzB,OAAO,CACX,EAEA,SAASulE,GAAQC,EAAYC,EAAYC,GAQrC,OAPIA,EAAM,IACNA,GAAO,GAEPA,GAAO,IACPA,GAAO,GAGPA,EAAM,EAAI,GACFD,EAAKD,GAAME,EAAM,EAAIF,EACtBE,EAAM,GACND,EACAC,EAAM,EAAI,EACE,GAAXD,EAAKD,IAAW,EAAI,EAAIE,GAAOF,EAEhCA,CAEf,CAEA,IAAMG,GAAM,SAACryD,EAAkB9f,GAC3B,IAAM4rE,EAAS5rE,EAAKL,OAAO6vE,IACpB0C,EAAqCtG,EAAM,GAAtCwG,EAAgCxG,EAAM,GAA1ByG,EAAoBzG,EAAM,GAAf4F,EAAS5F,EAAM,GAE5ChuD,GAAkB,KAAbs0D,EAAI5zE,KAAkCuyE,GAAIqB,EAAI1kE,QAAU+iE,GAAMzgC,MAAMhwB,EAASoyD,KAAmB,EAAV1kD,KAAKgjD,IAChGp+C,EAAIu9C,GAAmByC,GAAcA,EAAW5kE,OAAS,IAAM,EAC/DhT,EAAIm1E,GAAmB0C,GAAaA,EAAU7kE,OAAS,IAAM,EAC7DhB,EAAqB,qBAAVglE,GAAyB7B,GAAmB6B,GAAStB,GAAiBsB,EAAO,GAAK,EAEnG,GAAU,IAANp/C,EACA,OAAOwpC,GAAS,IAAJphE,EAAa,IAAJA,EAAa,IAAJA,EAAS,GAG3C,IAAMy3E,EAAKz3E,GAAK,GAAMA,GAAK43B,EAAI,GAAK53B,EAAI43B,EAAI53B,EAAI43B,EAE1C4/C,EAAS,EAAJx3E,EAAQy3E,EACbnqE,EAAIiqE,GAAQC,EAAIC,EAAIr0D,EAAI,EAAI,GAC5Bwd,EAAI22C,GAAQC,EAAIC,EAAIr0D,GACpBnR,EAAIslE,GAAQC,EAAIC,EAAIr0D,EAAI,EAAI,GAClC,OAAOg+C,GAAS,IAAJ9zD,EAAa,IAAJszB,EAAa,IAAJ3uB,EAASD,EAC3C,EAEMwkE,GAEF,CACAmB,IAAKA,GACLG,KAAMH,GACNN,IAAKA,GACLU,KAAMV,IAGGW,GAAa,SAAC1yD,EAAkBxjB,GACzC,OAAAw0E,GAAMhhC,MAAMhwB,EAASouD,GAAO11D,OAAOlc,GAAOgyE,sBAA1C,EAES6C,GAAiC,CAC1CsB,UAAW,WACXC,aAAc,WACdC,KAAM,SACNC,WAAY,WACZC,MAAO,WACPC,MAAO,WACPC,OAAQ,WACRC,MAAO,IACPC,eAAgB,WAChBC,KAAM,MACNC,WAAY,WACZC,MAAO,WACPC,UAAW,WACXC,UAAW,WACXC,WAAY,WACZC,UAAW,WACXC,MAAO,WACPC,eAAgB,WAChBC,SAAU,WACVC,QAAS,WACTC,KAAM,SACNC,SAAU,MACVC,SAAU,QACVC,cAAe,WACfC,SAAU,WACVC,UAAW,QACXC,SAAU,WACVC,UAAW,WACXC,YAAa,WACbC,eAAgB,WAChBC,WAAY,WACZC,WAAY,WACZC,QAAS,WACTC,WAAY,WACZC,aAAc,WACdC,cAAe,WACfC,cAAe,UACfC,cAAe,UACfC,cAAe,SACfC,WAAY,WACZC,SAAU,WACVC,YAAa,SACbC,QAAS,WACTC,QAAS,WACTC,WAAY,UACZC,UAAW,WACXC,YAAa,WACbC,YAAa,UACbC,QAAS,WACTC,UAAW,WACXC,WAAY,WACZC,KAAM,WACNC,UAAW,WACXC,KAAM,WACNC,MAAO,QACPC,YAAa,WACbC,KAAM,WACNC,SAAU,WACVC,QAAS,WACTC,UAAW,WACXC,OAAQ,WACRC,MAAO,WACPC,MAAO,WACPC,SAAU,WACVC,cAAe,WACfC,UAAW,WACXC,aAAc,WACdC,UAAW,WACXC,WAAY,WACZC,UAAW,WACXC,qBAAsB,WACtBC,UAAW,WACXC,WAAY,WACZC,UAAW,WACXC,UAAW,WACXC,YAAa,WACbC,cAAe,UACfC,aAAc,WACdC,eAAgB,WAChBC,eAAgB,WAChBC,eAAgB,WAChBC,YAAa,WACbC,KAAM,SACNC,UAAW,UACXC,MAAO,WACPC,QAAS,WACTC,OAAQ,WACRC,iBAAkB,WAClBC,WAAY,MACZC,aAAc,WACdC,aAAc,WACdC,eAAgB,WAChBC,gBAAiB,WACjBC,kBAAmB,SACnBC,gBAAiB,WACjBC,gBAAiB,WACjBC,aAAc,UACdC,UAAW,WACXC,UAAW,WACXC,SAAU,WACVC,YAAa,WACbC,KAAM,MACNC,QAAS,WACTC,MAAO,WACPC,UAAW,WACXC,OAAQ,WACRC,UAAW,WACXC,OAAQ,WACRC,cAAe,WACfC,UAAW,WACXC,cAAe,WACfC,cAAe,WACfC,WAAY,WACZC,UAAW,WACXC,KAAM,WACNC,KAAM,WACNC,KAAM,WACNC,WAAY,WACZC,OAAQ,WACRC,cAAe,WACfC,IAAK,WACLC,UAAW,WACXC,UAAW,WACXC,YAAa,WACbC,OAAQ,WACRC,WAAY,WACZC,SAAU,UACVC,SAAU,WACVC,OAAQ,WACRC,OAAQ,WACRC,QAAS,WACTC,UAAW,WACXC,UAAW,WACXC,UAAW,WACXC,KAAM,WACNC,YAAa,SACbC,UAAW,WACXC,IAAK,WACLC,KAAM,QACNC,QAAS,WACTC,OAAQ,WACRjK,YAAa,EACbkK,UAAW,WACXC,OAAQ,WACRC,MAAO,WACPC,MAAO,WACPC,WAAY,WACZC,OAAQ,WACRC,YAAa,YCvSJC,GAA0D,CACnEroE,KAAM,kBACNizB,aAAc,aACdq1C,QAAQ,EACRx9E,KAAM,EACNwxC,MAAO,SAACxvB,EAAmBsrD,GACvB,OAAOA,EAAOhsE,KAAI,SAACisE,GACf,GAAIuD,GAAavD,GACb,OAAQA,EAAMvvE,OACV,IAAK,cACD,OAAO,EACX,IAAK,cACD,OAAO,EAGnB,OAAO,C,MCxBNy/E,GAAgD,CACzDvoE,KAAM,mBACNizB,aAAc,cACdq1C,QAAQ,EACRx9E,KAAM,EACN09E,OAAQ,SCMCC,GAAiB,SAACn8D,EAAkB9f,GAC7C,IAAMsxE,EAAQR,GAAUhhC,MAAMhwB,EAAS9f,EAAK,IACtC3F,EAAO2F,EAAK,GAClB,OAAO3F,GAAQs1E,GAAmBt1E,GAAQ,CAACi3E,MAAKA,EAAEj3E,KAAIA,GAAI,CAACi3E,MAAKA,EAAEj3E,KAAM,KAC5E,EAEa6hF,GAAoB,SAACC,EAAuCC,GACrE,IAAMC,EAAQF,EAAM,GACdzhF,EAAOyhF,EAAMA,EAAM1hF,OAAS,GACf,OAAf4hF,EAAMhiF,OACNgiF,EAAMhiF,KAAOw1E,IAGC,OAAdn1E,EAAKL,OACLK,EAAKL,KAAO01E,IAKhB,IAFA,IAAMuM,EAAkC,GACpCC,EAAW,EACNhiF,EAAI,EAAGA,EAAI4hF,EAAM1hF,OAAQF,IAAK,CACnC,IAAMiiF,EAAOL,EAAM5hF,GAAGF,KACtB,GAAa,OAATmiF,EAAe,CACf,IAAMC,EAAgBvM,GAAiBsM,EAAMJ,GACzCK,EAAgBF,EAChBD,EAAaxiF,KAAK2iF,GAElBH,EAAaxiF,KAAKyiF,GAEtBA,EAAWE,C,MAEXH,EAAaxiF,KAAK,K,CAI1B,IAAI4iF,EAAW,KACf,IAASniF,EAAI,EAAGA,EAAI+hF,EAAa7hF,OAAQF,IAAK,CAC1C,IAAMoiF,EAAOL,EAAa/hF,GAC1B,GAAa,OAAToiF,EACiB,OAAbD,IACAA,EAAWniF,QAEZ,GAAiB,OAAbmiF,EAAmB,CAI1B,IAHA,IAAME,EAAYriF,EAAImiF,EAChBG,EAAYP,EAAaI,EAAW,GACpCI,GAAYH,EAAOE,IAAcD,EAAY,GAC1CxhD,EAAI,EAAGA,GAAKwhD,EAAWxhD,IAC5BkhD,EAAaI,EAAWthD,EAAI,GAAK0hD,EAAW1hD,EAEhDshD,EAAW,I,EAInB,OAAOP,EAAMv8E,KAAI,SAAC+H,EAASpN,G,IAAR+2E,EAAK3pE,EAAA2pE,MACpB,MAAO,CAACA,MAAKA,EAAEj3E,KAAMmzB,KAAKoV,IAAIpV,KAAKC,IAAI,EAAI6uD,EAAa/hF,GAAgB6hF,GAAa,G,GAE7F,EAEMW,GAAqB,SAACC,EAAwB5/B,EAAeC,GAC/D,IAAM4/B,EAAU7/B,EAAQ,EAClB8/B,EAAU7/B,EAAS,EACnB7O,EAAI0hC,GAAiB8M,EAAO,GAAI5/B,GAAS6/B,EACzCnvC,EAAIovC,EAAUhN,GAAiB8M,EAAO,GAAI3/B,GAEhD,OAAQ7vB,KAAK2vD,MAAMrvC,EAAGU,GAAe,EAAVhhB,KAAKgjD,KAAqB,EAAVhjD,KAAKgjD,GACpD,EAEa4M,GAA6B,SACtC7M,EACAnzB,EACAC,GAEA,IAAMggC,EAA0B,kBAAV9M,EAAqBA,EAAQwM,GAAmBxM,EAAOnzB,EAAOC,GAE9E++B,EAAa5uD,KAAKgnB,IAAI4I,EAAQ5vB,KAAK8vD,IAAID,IAAW7vD,KAAKgnB,IAAI6I,EAAS7vB,KAAK+vD,IAAIF,IAE7EG,EAAYpgC,EAAQ,EACpBqgC,EAAapgC,EAAS,EACtBqgC,EAAiBtB,EAAa,EAE9BuB,EAAQnwD,KAAK8vD,IAAID,EAAS7vD,KAAKgjD,GAAK,GAAKkN,EACzCE,EAAQpwD,KAAK+vD,IAAIF,EAAS7vD,KAAKgjD,GAAK,GAAKkN,EAE/C,MAAO,CAACtB,EAAYoB,EAAYI,EAAOJ,EAAYI,EAAOH,EAAaE,EAAOF,EAAaE,EAC/F,EAEME,GAAW,SAACrxE,EAAWC,GAAsB,OAAA+gB,KAAKswD,KAAKtxE,EAAIA,EAAIC,EAAIA,EAAE,EAErEsxE,GAAa,SAAC3gC,EAAeC,EAAgB7O,EAAWV,EAAWjB,GACrE,IAAMmxC,EAAU,CACZ,CAAC,EAAG,GACJ,CAAC,EAAG3gC,GACJ,CAACD,EAAO,GACR,CAACA,EAAOC,IAGZ,OAAO2gC,EAAQrjE,QACX,SAACsjE,EAAMjB,GACI,IAAAkB,EAAUlB,EAAM,GAAZmB,EAAMnB,EAAM,GACjBh6C,EAAI66C,GAASrvC,EAAI0vC,EAAIpwC,EAAIqwC,GAC/B,OAAItxC,EAAU7J,EAAIi7C,EAAKG,gBAAkBp7C,EAAIi7C,EAAKG,iBACvC,CACHC,cAAerB,EACfoB,gBAAiBp7C,GAIlBi7C,C,GAEX,CACIG,gBAAiBvxC,EAAUngC,KAAYA,IACvC2xE,cAAe,OAErBA,aACN,EAEaC,GAAkB,SAC3BC,EACA/vC,EACAV,EACAsP,EACAC,GAEA,IAAImhC,EAAK,EACLC,EAAK,EAET,OAAQF,EAAS3hF,MACb,KAAK,EAGsB,IAAnB2hF,EAASG,MACTF,EAAKC,EAAKjxD,KAAKC,IAAID,KAAKgnB,IAAIhG,GAAIhhB,KAAKgnB,IAAIhG,EAAI4O,GAAQ5vB,KAAKgnB,IAAI1G,GAAItgB,KAAKgnB,IAAI1G,EAAIuP,IACrD,IAAnBkhC,EAASG,QAChBF,EAAKhxD,KAAKC,IAAID,KAAKgnB,IAAIhG,GAAIhhB,KAAKgnB,IAAIhG,EAAI4O,IACxCqhC,EAAKjxD,KAAKC,IAAID,KAAKgnB,IAAI1G,GAAItgB,KAAKgnB,IAAI1G,EAAIuP,KAE5C,MAEJ,KAAK,EAGD,GAAuB,IAAnBkhC,EAASG,MACTF,EAAKC,EAAKjxD,KAAKC,IACXowD,GAASrvC,EAAGV,GACZ+vC,GAASrvC,EAAGV,EAAIuP,GAChBwgC,GAASrvC,EAAI4O,EAAOtP,GACpB+vC,GAASrvC,EAAI4O,EAAOtP,EAAIuP,SAEzB,GAAuB,IAAnBkhC,EAASG,MAAkC,CAElD,IAAM7hE,EAAI2Q,KAAKC,IAAID,KAAKgnB,IAAI1G,GAAItgB,KAAKgnB,IAAI1G,EAAIuP,IAAW7vB,KAAKC,IAAID,KAAKgnB,IAAIhG,GAAIhhB,KAAKgnB,IAAIhG,EAAI4O,IACrFz1C,EAAWo2E,GAAW3gC,EAAOC,EAAQ7O,EAAGV,GAAG,GAA1CowC,EAAEv2E,EAAA,GAAEw2E,EAAEx2E,EAAA,GACb62E,EAAKX,GAASK,EAAK1vC,GAAI2vC,EAAKrwC,GAAKjxB,GACjC4hE,EAAK5hE,EAAI2hE,C,CAEb,MAEJ,KAAK,EAEsB,IAAnBD,EAASG,MACTF,EAAKC,EAAKjxD,KAAKoV,IAAIpV,KAAKgnB,IAAIhG,GAAIhhB,KAAKgnB,IAAIhG,EAAI4O,GAAQ5vB,KAAKgnB,IAAI1G,GAAItgB,KAAKgnB,IAAI1G,EAAIuP,IACrD,IAAnBkhC,EAASG,QAChBF,EAAKhxD,KAAKoV,IAAIpV,KAAKgnB,IAAIhG,GAAIhhB,KAAKgnB,IAAIhG,EAAI4O,IACxCqhC,EAAKjxD,KAAKoV,IAAIpV,KAAKgnB,IAAI1G,GAAItgB,KAAKgnB,IAAI1G,EAAIuP,KAE5C,MAEJ,KAAK,EAGD,GAAuB,IAAnBkhC,EAASG,MACTF,EAAKC,EAAKjxD,KAAKoV,IACXi7C,GAASrvC,EAAGV,GACZ+vC,GAASrvC,EAAGV,EAAIuP,GAChBwgC,GAASrvC,EAAI4O,EAAOtP,GACpB+vC,GAASrvC,EAAI4O,EAAOtP,EAAIuP,SAEzB,GAAuB,IAAnBkhC,EAASG,MAAkC,CAE5C7hE,EAAI2Q,KAAKoV,IAAIpV,KAAKgnB,IAAI1G,GAAItgB,KAAKgnB,IAAI1G,EAAIuP,IAAW7vB,KAAKoV,IAAIpV,KAAKgnB,IAAIhG,GAAIhhB,KAAKgnB,IAAIhG,EAAI4O,IAA3F,IACM00B,EAAWiM,GAAW3gC,EAAOC,EAAQ7O,EAAGV,GAAG,GAA1CowC,EAAEpM,EAAA,GAAEqM,EAAErM,EAAA,GACb0M,EAAKX,GAASK,EAAK1vC,GAAI2vC,EAAKrwC,GAAKjxB,GACjC4hE,EAAK5hE,EAAI2hE,C,CAEb,MAQR,OALIznE,MAAMlY,QAAQ0/E,EAAS3hF,QACvB4hF,EAAKtO,GAAiBqO,EAAS3hF,KAAK,GAAIwgD,GACxCqhC,EAA8B,IAAzBF,EAAS3hF,KAAKnC,OAAey1E,GAAiBqO,EAAS3hF,KAAK,GAAIygD,GAAUmhC,GAG5E,CAACA,EAAIC,EAChB,ECtMaE,GAAiB,SAAC7+D,EAAkB8rD,GAC7C,IAAIgT,EAAiC/N,GAAI,KACnCsL,EAAwC,GAiB9C,OAfA1M,GAAkB7D,GAAQ5sE,SAAQ,SAACkX,EAAK3b,GACpC,GAAU,IAANA,EAAS,CACT,IAAMskF,EAAa3oE,EAAI,GACvB,GAAwB,KAApB2oE,EAAWvgF,MAAuD,OAArBugF,EAAWviF,MAExD,YADAsiF,EAAQlO,GAAex6D,IAEpB,GAAIu6D,GAAQoO,GAEf,YADAD,EAAQrO,GAAUzgC,MAAMhwB,EAAS++D,G,CAIzC,IAAMC,EAAY7C,GAAen8D,EAAS5J,GAC1CimE,EAAMriF,KAAKglF,E,IAGR,CAACvO,MAAKqO,EAAEzC,MAAKA,EAAE79E,KAAM,EAChC,ECpBaygF,GAAuB,SAACj/D,EAAkB8rD,GACnD,IAAIgT,EAAiC/N,GAAI,KACnCsL,EAAwC,GAoB9C,OAlBA1M,GAAkB7D,GAAQ5sE,SAAQ,SAACkX,EAAK3b,GACpC,GAAU,IAANA,EAAS,CACT,IAAMskF,EAAa3oE,EAAI,GACvB,GACwB,KAApB2oE,EAAWvgF,OACuD,IAAlE,CAAC,MAAO,OAAQ,QAAS,UAAUyN,QAAQ8yE,EAAWviF,OAGtD,YADAsiF,EAAQlO,GAAex6D,IAEpB,GAAIu6D,GAAQoO,GAEf,YADAD,GAASrO,GAAUzgC,MAAMhwB,EAAS++D,GAAchO,GAAI,MAAQA,GAAI,K,CAIxE,IAAMiO,EAAY7C,GAAen8D,EAAS5J,GAC1CimE,EAAMriF,KAAKglF,E,IAGR,CACHvO,MAAKqO,EACLzC,MAAKA,EACL79E,KAAM,EAEd,EClBa0gF,GAAiB,SAC1Bl/D,EACA8rD,GAEA,IAAM2E,EAAQM,GAAI,KACZsL,EAAwC,GAC1C79E,EAAO,EACLogF,EAAK,EACL9hF,EAAI,EACJq/C,EAA+B,GAoCrC,OAnCAwzB,GAAkB7D,GAAQ5sE,SAAQ,SAACkX,EAAK3b,GACpC,IAAMskF,EAAa3oE,EAAI,GACvB,GAAU,IAAN3b,EAAS,CACT,GAAI60E,GAAayP,IAAoC,WAArBA,EAAWviF,MAEvC,YADAgC,EAAO,GAEJ,GAAI8wE,GAAayP,IAAoC,WAArBA,EAAWviF,MAE9C,YADAgC,EAAO,E,CAKf,GAAwB,KAApBugF,EAAWvgF,KACX,GAAwB,SAApBugF,EAAWrrE,KAAiB,CAC5B,IAAM89D,EAAQR,GAAUhhC,MAAMhwB,EAAS++D,EAAWjgF,OAAO,IACzDu9E,EAAMriF,KAAK,CAACO,KAAMw1E,GAAayB,MAAKA,G,MACjC,GAAwB,OAApBuN,EAAWrrE,KAAe,CAC3B89D,EAAQR,GAAUhhC,MAAMhwB,EAAS++D,EAAWjgF,OAAO,IACzDu9E,EAAMriF,KAAK,CAACO,KAAM01E,GAAiBuB,MAAKA,G,MACrC,GAAwB,eAApBuN,EAAWrrE,KAAuB,CACzC,IAAM5U,EAASigF,EAAWjgF,OAAOe,OAAO6vE,IACxC,GAAsB,IAAlB5wE,EAAOnE,OAAc,CACf62E,EAAQR,GAAUhhC,MAAMhwB,EAASlhB,EAAO,IAA9C,IACM49E,EAAO59E,EAAO,GAChBuwE,GAAcqN,IACdL,EAAMriF,KAAK,CACPO,KAAM,CAACiE,KAAM,GAA4BkP,OAAsB,IAAdgvE,EAAKhvE,OAAc0+D,MAAOsQ,EAAKtQ,OAChFoF,MAAKA,G,MAQb,IAAThzE,EACD,CACIiyE,OAAQA,EAAQM,GAAI,MAAQA,GAAI,KAChCsL,MAAKA,EACL79E,KAAIA,GAER,CAAC1B,KAAIA,EAAE8hF,MAAKA,EAAEvC,MAAKA,EAAElgC,SAAQA,EAAE39C,KAAIA,EAC7C,ECvDa2gF,GAAe,eACfC,GAAgB,gBAChBC,GAAiB,iBACjBC,GAAkB,kBAClBC,GAAS,SACTC,GAAU,UACVC,GAAQ,QACRC,GAAU,UAEVC,GAAiB,SAAC3/D,EAAkB8rD,GAC7C,IAAI8S,EAAK,EACL9hF,EAAI,EACFu/E,EAAwC,GACxClgC,EAA+B,GAmErC,OAlEAwzB,GAAkB7D,GAAQ5sE,SAAQ,SAACkX,EAAK3b,GACpC,IAAImlF,GAAc,EAClB,GAAU,IAANnlF,EAAS,CACT,IAAIolF,GAAe,EACnBD,EAAcxpE,EAAIyE,QAAO,SAACilE,EAAK/T,GAC3B,GAAI8T,EACA,GAAIvQ,GAAavD,GACb,OAAQA,EAAMvvE,OACV,IAAK,SAED,OADA2/C,EAASniD,KAAKg2E,IACP8P,EACX,IAAK,MACL,IAAK,OAED,OADA3jC,EAASniD,KAAK+1E,IACP+P,EACX,IAAK,QACL,IAAK,SAED,OADA3jC,EAASniD,KAAKi2E,IACP6P,OAERjQ,GAAmB9D,IAAU6D,GAAS7D,KAC7C5vB,EAASniD,KAAK+xE,QAEf,GAAIuD,GAAavD,GACpB,OAAQA,EAAMvvE,OACV,KAAK+iF,GAED,OADAX,EAAQ,GACD,EACX,KAAKY,GAED,OADAZ,EAAQ,GACD,EACX,IAAK,KAED,OADAiB,GAAe,GACR,EACX,KAAKV,GAED,OADAriF,EAAO,GACA,EACX,KAAK2iF,GACL,KAAKL,GAED,OADAtiF,EAAO,GACA,EACX,KAAK4iF,GACL,KAAKL,GAED,OADAviF,EAAO,GACA,EACX,KAAKwiF,GAED,OADAxiF,EAAO,GACA,OAEZ,GAAI8yE,GAAS7D,IAAU8D,GAAmB9D,GAK7C,OAJK90D,MAAMlY,QAAQjC,KACfA,EAAO,IAEXA,EAAK9C,KAAK+xE,IACH,EAEX,OAAO+T,C,GACRF,E,CAGP,GAAIA,EAAa,CACb,IAAMZ,EAAY7C,GAAen8D,EAAS5J,GAC1CimE,EAAMriF,KAAKglF,E,KAIZ,CAACliF,KAAIA,EAAE8hF,MAAKA,EAAEvC,MAAKA,EAAElgC,SAAQA,EAAE39C,KAAM,EAChD,ECtEauhF,GAAuB,SAAC//D,EAAkB8rD,GACnD,IAAI8S,EAAK,EACL9hF,EAAI,EACFu/E,EAAwC,GACxClgC,EAA+B,GAsErC,OApEAwzB,GAAkB7D,GAAQ5sE,SAAQ,SAACkX,EAAK3b,GACpC,IAAImlF,GAAc,EA6DlB,GA5DU,IAANnlF,EACAmlF,EAAcxpE,EAAIyE,QAAO,SAACilE,EAAK/T,GAC3B,GAAIuD,GAAavD,GACb,OAAQA,EAAMvvE,OACV,IAAK,SAED,OADA2/C,EAASniD,KAAKg2E,KACP,EACX,IAAK,MACL,IAAK,OAED,OADA7zB,EAASniD,KAAK+1E,KACP,EACX,IAAK,QACL,IAAK,SAED,OADA5zB,EAASniD,KAAKi2E,KACP,OAEZ,GAAIJ,GAAmB9D,IAAU6D,GAAS7D,GAE7C,OADA5vB,EAASniD,KAAK+xE,IACP,EAGX,OAAO+T,C,GACRF,GACU,IAANnlF,IACPmlF,EAAcxpE,EAAIyE,QAAO,SAACilE,EAAK/T,GAC3B,GAAIuD,GAAavD,GACb,OAAQA,EAAMvvE,OACV,KAAK+iF,GAED,OADAX,EAAQ,GACD,EACX,KAAKY,GAED,OADAZ,EAAQ,GACD,EACX,KAAKc,GACL,KAAKP,GAED,OADAriF,EAAO,GACA,EACX,KAAKsiF,GAED,OADAtiF,EAAO,GACA,EACX,KAAKuiF,GAED,OADAviF,EAAO,GACA,EACX,KAAK2iF,GACL,KAAKH,GAED,OADAxiF,EAAO,GACA,OAEZ,GAAI8yE,GAAS7D,IAAU8D,GAAmB9D,GAK7C,OAJK90D,MAAMlY,QAAQjC,KACfA,EAAO,IAEXA,EAAK9C,KAAK+xE,IACH,EAGX,OAAO+T,C,GACRF,IAGHA,EAAa,CACb,IAAMZ,EAAY7C,GAAen8D,EAAS5J,GAC1CimE,EAAMriF,KAAKglF,E,KAIZ,CAACliF,KAAIA,EAAE8hF,MAAKA,EAAEvC,MAAKA,EAAElgC,SAAQA,EAAE39C,KAAM,EAChD,ECjFawhF,GAAmB,SAACC,GAC7B,OAA2B,IAApBA,EAAWzhF,IACtB,EAEa0hF,GAAmB,SAACD,GAC7B,OAA2B,IAApBA,EAAWzhF,IACtB,EAuDa2hF,GAAoC,CAC7CzsE,KAAM,QACNs8B,MAAO,SAAChwB,EAAkBxjB,GACtB,GAAmB,KAAfA,EAAMgC,KAA8B,CACpC,IAAM4hF,EAAqB,CAACC,IAAK7jF,EAAMA,MAAOgC,KAAM,GAEpD,OADAwhB,EAAQxR,MAAM8xE,SAAS9jF,EAAMA,OACtB4jF,C,CAGX,GAAmB,KAAf5jF,EAAMgC,KAA6B,CACnC,IAAM+hF,EAAgBC,GAA0BhkF,EAAMkX,MACtD,GAA6B,qBAAlB6sE,EACP,MAAM,IAAI3vC,MAAM,sDAAsDp0C,EAAMkX,KAAI,KAEpF,OAAO6sE,EAAcvgE,EAASxjB,EAAMsC,O,CAGxC,MAAM,IAAI8xC,MAAM,0BAA0Bp0C,EAAMgC,K,YAIxCiiF,GAAiBjkF,GAC7B,QACqB,KAAfA,EAAMgC,MAAkD,SAAhBhC,EAAMA,SAChC,KAAfA,EAAMgC,QAAiCgiF,GAA0BhkF,EAAMkX,MAEhF,CAEA,ICrGYgtE,GDqGNF,GAA+F,CACjG,kBAAmB3B,GACnB,uBAAwBI,GACxB,sBAAuBA,GACvB,qBAAsBA,GACtB,0BAA2BA,GAC3B,kBAAmBU,GACnB,uBAAwBI,GACxB,sBAAuBA,GACvB,qBAAsBA,GACtB,0BAA2BA,GAC3B,mBAAoBb,IEhHXyB,GAAwD,CACjEjtE,KAAM,mBACNizB,aAAc,OACdnoC,KAAM,EACNw9E,QAAQ,EACRhsC,MAAO,SAAChwB,EAAkB8rD,GACtB,GAAsB,IAAlBA,EAAOnxE,OACP,MAAO,GAGX,IAAM4hF,EAAQzQ,EAAO,GAErB,OAAmB,KAAfyQ,EAAM/9E,MAAkD,SAAhB+9E,EAAM//E,MACvC,GAGJsvE,EACFjsE,QAAO,SAACrD,GAAU,OAAAkzE,GAAwBlzE,IAAUikF,GAAiBjkF,EAAM,IAC3EsD,KAAI,SAACtD,GAAU,OAAA2jF,GAAMnwC,MAAMhwB,EAASxjB,EAAM,G,GCZ1CokF,GAA8D,CACvEltE,KAAM,oBACNizB,aAAc,aACdq1C,QAAQ,EACRx9E,KAAM,EACNwxC,MAAO,SAACxvB,EAAmBsrD,GACvB,OAAOA,EAAOhsE,KAAI,SAACisE,GACf,GAAIuD,GAAavD,GACb,OAAQA,EAAMvvE,OACV,IAAK,cACD,OAAO,EACX,IAAK,cACD,OAAO,EAGnB,OAAO,C,MCnBNqkF,GAAkE,CAC3EntE,KAAM,sBACNizB,aAAc,QACdnoC,KAAM,EACNw9E,QAAQ,EACRhsC,MAAO,SAACxvB,EAAmBsrD,GACvB,OAAO6D,GAAkB7D,GACpBhsE,KAAI,SAAChB,GAAuB,OAAAA,EAAOe,OAAOgwE,GAAmB,IAC7D/vE,IAAIgwE,G,GCJJgR,GAA8D,CACvEptE,KAAM,oBACNizB,aAAc,SACdq1C,QAAQ,EACRx9E,KAAM,EACNwxC,MAAO,SAACxvB,EAAmBsrD,GACvB,OAAO6D,GAAkB7D,GACpBhsE,KAAI,SAAChB,GACF,OAAAA,EACKe,OAAOyvE,IACPxvE,KAAI,SAACisE,GAAU,OAAAA,EAAMvvE,KAAK,IAC1BinC,KAAK,I,IAEb3jC,IAAIihF,G,GAIXA,GAAwB,SAACvkF,GAC3B,OAAQA,GACJ,IAAK,YACD,OAAO,EACX,IAAK,WACL,IAAK,mBACD,OAAO,EACX,IAAK,WACL,IAAK,mBACD,OAAO,EACX,IAAK,SACL,QACI,OAAO,EAEnB,GJrCA,SAAYkkF,GACRA,EAAA,eACAA,EAAA,qBACAA,EAAA,gBACH,EAJD,CAAYA,KAAAA,GAAe,KASpB,IKbKM,GLaCC,GAA0D,CACnEvtE,KAAM,kBACNizB,aAAc,IACdq1C,QAAQ,EACRx9E,KAAM,EACNwxC,MAAO,SAACxvB,EAAmBsrD,GACvB,OAAO6D,GAAkB7D,GAAQhsE,KAAI,SAAChB,GAAW,OAAAA,EAAOe,OAAOqhF,GAA0B,G,GAI3FA,GAA4B,SAAC1kF,GAC/B,OAAA8yE,GAAa9yE,IAAUqzE,GAAmBrzE,EAA1C,EMzBE2kF,GAAqB,SAACC,GAA+C,MAAC,CACxE1tE,KAAM,UAAU0tE,EAAI,SACpBz6C,aAAc,cACdq1C,QAAQ,EACRx9E,KAAM,EACN09E,OAAQ,QACX,EAEYmF,GAA+CF,GAAmB,OAClEG,GAAiDH,GAAmB,SACpEI,GAAkDJ,GAAmB,UACrEK,GAAgDL,GAAmB,QCN1EM,GAAsB,SAACL,GAAwD,MAAC,CAClF1tE,KAAM,iBAAiB0tE,EACvBz6C,aAAc,MACdq1C,QAAQ,EACRx9E,KAAM,EACNwxC,MAAO,SAACxvB,EAAmBsrD,GACvB,OAAAgE,GAA2BhE,EAAOjsE,OAAOgwE,I,EAChD,EAEY6R,GAA6DD,GAAoB,YACjFE,GAA8DF,GAAoB,aAClFG,GAAiEH,GAAoB,gBACrFI,GAAgEJ,GAAoB,eCR3FK,GAAqB,SAACV,GAA8D,MAAC,CACvF1tE,KAAM,UAAU0tE,EAAI,SACpBz6C,aAAc,QACdq1C,QAAQ,EACRx9E,KAAM,EACNwxC,MAAO,SAACxvB,EAAmBoK,GACvB,OAAQA,GACJ,IAAK,OACD,OAAO,EACX,IAAK,SACD,OAAO,EACX,IAAK,SACD,OAAO,EACX,IAAK,SACD,OAAO,EAEf,OAAO,C,EAEd,EAEYm3D,GAA8DD,GAAmB,OACjFE,GAAgEF,GAAmB,SACnFG,GAAiEH,GAAmB,UACpFI,GAA+DJ,GAAmB,QC9BzFK,GAAqB,SAACf,GAAmD,MAAC,CAC5E1tE,KAAM,UAAU0tE,EAAI,SACpBz6C,aAAc,IACdnoC,KAAM,EACNw9E,QAAQ,EACRhsC,MAAO,SAACxvB,EAAmBurD,GACvB,OAAIqD,GAAiBrD,GACVA,EAAMr+D,OAEV,C,EAEd,EAEY00E,GAAmDD,GAAmB,OACtEE,GAAqDF,GAAmB,SACxEG,GAAsDH,GAAmB,UACzEI,GAAoDJ,GAAmB,QCjBvE3Q,GAAsC,CAC/C99D,KAAM,QACNizB,aAAc,cACdq1C,QAAQ,EACRx9E,KAAM,EACN09E,OAAQ,SCCC/jC,GAAsD,CAC/DzkC,KAAM,YACNizB,aAAc,MACdq1C,QAAQ,EACRx9E,KAAM,EACNwxC,MAAO,SAACxvB,EAAmB23B,GACvB,OAAQA,GACJ,IAAK,MACD,OAAO,EACX,IAAK,MACL,QACI,OAAO,E,GCmBVpU,GAA4C,CACrDrwB,KAAM,UACNizB,aAAc,eACdq1C,QAAQ,EACRx9E,KAAM,EACNwxC,MAAO,SAACxvB,EAAmBsrD,GACvB,OAAOA,EAAOjsE,OAAOyvE,IAAcz0D,QAAO,SAAC2nE,EAAKzW,GAC5C,OAAOyW,EAAMC,GAAkB1W,EAAMvvE,M,GACtC,E,GAILimF,GAAoB,SAAC1+C,GACvB,OAAQA,GACJ,IAAK,QACL,IAAK,cACD,OAAO,EACX,IAAK,SACD,OAAO,EACX,IAAK,SACD,OAAO,EACX,IAAK,OACD,OAAO,GACX,IAAK,YACD,OAAO,GACX,IAAK,QACD,OAAO,GACX,IAAK,OACL,IAAK,eACD,OAAO,IACX,IAAK,OACL,IAAK,WACD,OAAO,IACX,IAAK,OACD,OAAO,IACX,IAAK,UACD,OAAO,KACX,IAAK,YACD,OAAO,KACX,IAAK,kBACD,OAAO,KACX,IAAK,qBACD,OAAO,KACX,IAAK,qBACD,OAAO,MACX,IAAK,YACD,OAAO,MACX,IAAK,aACD,OAAO,MACX,IAAK,qBACD,OAAO,OACX,IAAK,eACD,OAAO,OACX,IAAK,gBACD,OAAO,OACX,IAAK,YACD,OAAO,QACX,IAAK,YACD,OAAO,QACX,IAAK,sBACD,OAAO,QACX,IAAK,sBACD,OAAO,QACX,IAAK,WACD,OAAO,SACX,IAAK,eACD,OAAO,SACX,IAAK,mBACD,OAAO,SACX,IAAK,eACD,OAAO,UACX,IAAK,cACD,OAAO,UACX,IAAK,cACD,OAAO,UAGf,OAAO,CACX,EC1Ga2+C,GAA8C,CACvDhvE,KAAM,QACNizB,aAAc,OACdq1C,QAAQ,EACRx9E,KAAM,EACNwxC,MAAO,SAACxvB,EAAmBkiE,GACvB,OAAQA,GACJ,IAAK,OACD,OAAO,EACX,IAAK,QACD,OAAO,EACX,IAAK,eACD,OAAO,EACX,IAAK,aACD,OAAO,EAEf,OAAO,C,GCtBFC,GAAkD,CAC3DjvE,KAAM,iBACNizB,aAAc,IACdq1C,QAAQ,EACRx9E,KAAM,EACNwxC,MAAO,SAACxvB,EAAmBurD,GACvB,OAAmB,KAAfA,EAAMvtE,MAAkD,WAAhButE,EAAMvvE,MACvC,EAGQ,KAAfuvE,EAAMvtE,MAIS,KAAfutE,EAAMvtE,KAHCutE,EAAMr+D,OAOV,C,ITpBf,SAAYszE,GACRA,EAAA,mBACAA,EAAA,kBACH,EAHD,CAAYA,KAAAA,GAAU,KAKf,IULK4B,GVKC1e,GAAuD,CAChExwD,KAAM,aACNizB,aAAc,SACdq1C,QAAQ,EACRx9E,KAAM,EACNwxC,MAAO,SAACxvB,EAAmB0jD,GACvB,OAAQA,GACJ,IAAK,SACD,OAAO8c,GAAW6B,OACtB,IAAK,SACL,QACI,OAAO7B,GAAW8B,O,GWdrBC,GAA4C,CACrDrvE,KAAM,cACNizB,aAAc,SACdq1C,QAAQ,EACRx9E,KAAM,GAGGwkF,GAAoB,SAACjX,EAAiBkX,GAC/C,OAAI3T,GAAavD,IAA0B,WAAhBA,EAAMvvE,MACtB,IAAMymF,EACS,KAAflX,EAAMvtE,KACNykF,EAAWlX,EAAMr+D,OACjBmiE,GAAmB9D,GACnBqE,GAAiBrE,EAAOkX,GAG5BA,CACX,ECfaC,GAA6D,CACtExvE,KAAM,mBACNizB,aAAc,OACdnoC,KAAM,EACNw9E,QAAQ,EACRhsC,MAAO,SAAChwB,EAAkB+rD,GACtB,OAAmB,KAAfA,EAAMvtE,MAAkD,SAAhButE,EAAMvvE,MACvC,KAGJ2jF,GAAMnwC,MAAMhwB,EAAS+rD,E,GCTvBoX,GAAwE,CACjFzvE,KAAM,sBACNizB,aAAc,UACdq1C,QAAQ,EACRx9E,KAAM,EACNwxC,MAAO,SAACxvB,EAAmB27B,GACvB,OAAQA,GACJ,IAAK,SACD,OAAO,EACX,IAAK,UACL,QACI,OAAO,E,GCyCVinC,GAAgE,CACzE1vE,KAAM,kBACNizB,aAAc,OACdq1C,QAAQ,EACRx9E,KAAM,EACNwxC,MAAO,SAACxvB,EAAmBhiB,GACvB,OAAQA,GACJ,IAAK,OACD,OAAO,EACX,IAAK,SACD,OAAO,EACX,IAAK,SACD,OAAO,EACX,IAAK,UACD,OAAO,EACX,IAAK,cACD,OAAO,EACX,IAAK,uBACD,OAAO,EACX,IAAK,cACD,OAAO,EACX,IAAK,cACD,OAAO,EACX,IAAK,cACD,OAAO,EACX,IAAK,cACD,OAAO,EACX,IAAK,cACD,OAAO,GACX,IAAK,eACD,OAAO,GACX,IAAK,WACD,OAAO,GACX,IAAK,UACD,OAAO,GACX,IAAK,YACD,OAAO,GACX,IAAK,qBACD,OAAO,GACX,IAAK,oBACD,OAAO,GACX,IAAK,kBACD,OAAO,GACX,IAAK,aACD,OAAO,GACX,IAAK,mBACD,OAAO,GACX,IAAK,WACD,OAAO,GACX,IAAK,WACD,OAAO,GACX,IAAK,WACD,OAAO,GACX,IAAK,SACD,OAAO,GACX,IAAK,WACD,OAAO,GACX,IAAK,iBACD,OAAO,GACX,IAAK,kBACD,OAAO,GACX,IAAK,oBACD,OAAO,GACX,IAAK,UACD,OAAO,GACX,IAAK,WACD,OAAO,GACX,IAAK,iBACD,OAAO,GACX,IAAK,QACD,OAAO,GACX,IAAK,uBACD,OAAO,GACX,IAAK,sBACD,OAAO,GACX,IAAK,wBACD,OAAO,GACX,IAAK,MACD,OAAO,GACX,IAAK,iBACD,OAAO,GACX,IAAK,YACD,OAAO,GACX,IAAK,YACD,OAAO,GACX,IAAK,UACD,OAAO,GACX,IAAK,QACD,OAAO,GACX,IAAK,UACD,OAAO,GACX,IAAK,sBACD,OAAO,GACX,IAAK,wBACD,OAAO,GACX,IAAK,QACD,OAAO,GACX,IAAK,SACD,OAAO,GACX,IAAK,OACD,OAAO,GACX,IAAK,UACD,OAAO,GACX,IAAK,sBACD,OAAO,GACX,IAAK,wBACD,OAAO,GACX,IAAK,iBACD,OAAO,GACX,IAAK,kBACD,OAAO,GACX,IAAK,oBACD,OAAO,GACX,IAAK,OACL,QACI,S,GC5KV6kF,GAAgB,SAACjC,GAAgD,MAAC,CACpE1tE,KAAM,UAAU0tE,EAChBz6C,aAAc,IACdq1C,QAAQ,EACRx9E,KAAM,EACT,EAEY8kF,GAA2CD,GAAc,OACzDE,GAA6CF,GAAc,SAC3DG,GAA8CH,GAAc,UAC5DI,GAA4CJ,GAAc,QCD1D7hC,GAAgD,CACzD9tC,KAAM,WACNizB,aAAc,UACdq1C,QAAQ,EACRx9E,KAAM,EACNwxC,MAAO,SAACxvB,EAAmBsrD,GACvB,OAAOA,EAAOjsE,OAAOyvE,IAAcxvE,KAAI,SAAC0hD,GACpC,OAAQA,EAAShlD,OACb,IAAK,SACD,OAAO,EACX,IAAK,SACD,OAAO,EACX,IAAK,OACD,OAAO,EACX,IAAK,OACD,OAAO,EACX,IAAK,UACL,QACI,OAAO,E,MCtBdknF,GAA6D,CACtEhwE,KAAM,gBACNizB,aAAc,SACdq1C,QAAQ,EACRx9E,KAAM,EACNwxC,MAAO,SAACxvB,EAAmBghC,GACvB,OAAQA,GACJ,IAAK,aACD,MAAO,aACX,IAAK,SACL,QACI,MAAO,S,GChBjBmiC,GAAiB,SAACvC,GAA+C,MAAC,CACpE1tE,KAAM,WAAW0tE,EACjBz6C,aAAc,IACdq1C,QAAQ,EACRx9E,KAAM,EACN09E,OAAQ,oBACX,EAEY0H,GAA2CD,GAAe,OAC1Dv3B,GAA6Cu3B,GAAe,SAC5DE,GAA8CF,GAAe,UAC7Dx3B,GAA4Cw3B,GAAe,QCL3DG,GAAuD,CAChEpwE,KAAM,aACNizB,aAAc,OACdq1C,QAAQ,EACRx9E,KAAM,EACNwxC,MAAO,SAACxvB,EAAmBsjE,GACvB,OAAQA,GACJ,IAAK,QACD,OAAO,EACX,IAAK,SACL,IAAK,UACD,OAAO,EACX,IAAK,OACL,QACI,OAAO,E,GCZV3nC,GAAoD,CAC7DzoC,KAAM,WACNizB,aAAc,SACdq1C,QAAQ,EACRx9E,KAAM,EACNwxC,MAAO,SAACxvB,EAAmB27B,GACvB,OAAQA,GACJ,IAAK,WACD,OAAO,EACX,IAAK,WACD,OAAO,EACX,IAAK,QACD,OAAO,EACX,IAAK,SACD,OAAO,EAGf,OAAO,C,GCZF4nC,GAAkD,CAC3DrwE,KAAM,cACNizB,aAAc,OACdnoC,KAAM,EACNw9E,QAAQ,EACRhsC,MAAO,SAAChwB,EAAkB8rD,GACtB,OAAsB,IAAlBA,EAAOnxE,QAAgB60E,GAAiB1D,EAAO,GAAI,QAC5C,GAGJ6D,GAAkB7D,GAAQhsE,KAAI,SAAChB,GAQlC,IAPA,IAAMklF,EAAyB,CAC3BxS,MAAOH,GAAOC,YACd2S,QAASlU,GACTmU,QAASnU,GACTxiB,KAAMwiB,IAENhzD,EAAI,EACCtiB,EAAI,EAAGA,EAAIqE,EAAOnE,OAAQF,IAAK,CACpC,IAAMsxE,EAAQjtE,EAAOrE,GACjBm1E,GAAS7D,IACC,IAANhvD,EACAinE,EAAOC,QAAUlY,EACJ,IAANhvD,EACPinE,EAAOE,QAAUnY,EAEjBiY,EAAOz2B,KAAOwe,EAElBhvD,KAEAinE,EAAOxS,MAAQR,GAAMhhC,MAAMhwB,EAAS+rD,E,CAG5C,OAAOiY,C,MCvCNG,GAA+D,CACxEzwE,KAAM,iBACNizB,aAAc,OACdq1C,QAAQ,EACRx9E,KAAM,EACNwxC,MAAO,SAACxvB,EAAmB2jE,GACvB,OAAQA,GACJ,IAAK,YACD,OAAO,EACX,IAAK,YACD,OAAO,EACX,IAAK,aACD,OAAO,EAGf,OAAO,C,GCjBFC,GAAiD,CAC1D1wE,KAAM,YACNizB,aAAc,OACdq1C,QAAQ,EACRx9E,KAAM,EACNwxC,MAAO,SAACxvB,EAAmBurD,GACvB,GAAmB,KAAfA,EAAMvtE,MAAkD,SAAhButE,EAAMvvE,MAC9C,OAAO,KAGX,GAAmB,KAAfuvE,EAAMvtE,KAA6B,CACnC,IAAM6lF,EAAoBC,GAA8BvY,EAAMr4D,MAC9D,GAAiC,qBAAtB2wE,EACP,MAAM,IAAIzzC,MAAM,0DAA0Dm7B,EAAMr4D,KAAI,KAExF,OAAO2wE,EAAkBtY,EAAMjtE,O,CAGnC,OAAO,I,GAITylF,GAAS,SAACrkF,GACZ,IAAMpB,EAASoB,EAAKL,QAAO,SAACuW,GAAQ,OAAa,KAAbA,EAAI5X,IAAI,IAA6BsB,KAAI,SAACsW,GAA0B,OAAAA,EAAI1I,MAAM,IAElH,OAAyB,IAAlB5O,EAAOnE,OAAgBmE,EAAoB,IACtD,EAGM0lF,GAAW,SAACtkF,GACd,IAAMpB,EAASoB,EAAKL,QAAO,SAACuW,GAAQ,OAAa,KAAbA,EAAI5X,IAAI,IAA6BsB,KAAI,SAACsW,GAA0B,OAAAA,EAAI1I,MAAM,IAE3Gg/D,EAAkE5tE,EAAM,GAApE2lF,EAA8D3lF,EAAM,GAANA,EAAM,GAANA,EAAM,GAA1D,IAAE6tE,EAAkD7tE,EAAM,GAApD4lF,EAA8C5lF,EAAM,GAANA,EAAM,GAANA,EAAM,GAANA,EAAM,GAANA,EAAM,GAANA,EAAM,IAANA,EAAM,IAA1B,IAAE6lF,EAAkB7lF,EAAM,IAApB8lF,EAAc9lF,EAAM,IAE/E,OAFyEA,EAAM,IAANA,EAAM,IAEtD,KAAlBA,EAAOnE,OAAgB,CAAC+xE,EAAI+X,EAAI9X,EAAI+X,EAAIC,EAAIC,GAAM,IAC7D,EAEMN,GAEF,CACAC,OAAQA,GACRC,SAAUA,ICzCRK,GAAkC,CACpCrmF,KAAM,GACNkP,OAAQ,GACR0+D,MAAOtG,IAELgf,GAA2B,CAACD,GAAeA,IAEpCE,GAA4D,CACrErxE,KAAM,mBACNizB,aAAc,UACdq1C,QAAQ,EACRx9E,KAAM,EACNwxC,MAAO,SAACxvB,EAAmBsrD,GACvB,IAAMkZ,EAA8BlZ,EAAOjsE,OAAOgwE,IAElD,OAAuB,IAAnBmV,EAAQrqF,OACDmqF,GAGJ,CAACE,EAAQ,GAAIA,EAAQ,G,GClBvBC,GAAwD,CACjEvxE,KAAM,UACNizB,aAAc,OACdq1C,QAAQ,EACRx9E,KAAM,EACNwxC,MAAO,SAACxvB,EAAmBykE,GACvB,OAAQA,GACJ,IAAK,SACD,OAAO,EACX,IAAK,WACD,OAAO,EACX,IAAK,UACL,QACI,OAAO,E,IfnBvB,SAAYrC,GACRA,EAAA,mBACAA,EAAA,yBACAA,EAAA,sBACH,EAJD,CAAYA,KAAAA,GAAU,KgBEtB,IhBIO,IAAMzd,GAAuD,CAChEzxD,KAAM,aACNizB,aAAc,SACdq1C,QAAQ,EACRx9E,KAAM,EACNwxC,MAAO,SAACxvB,EAAmB2kD,GACvB,OAAQA,GACJ,IAAK,YACD,OAAOyd,GAAWsC,UACtB,IAAK,WACD,OAAOtC,GAAWuC,SACtB,IAAK,SACL,QACI,OAAOvC,GAAWE,O,GiBXrBsC,GAA2C,CACpD1xE,KAAM,UACNizB,aAAc,OACdq1C,QAAQ,EACRx9E,KAAM,EACNwxC,MAAO,SAACxvB,EAAmBurD,GACvB,GAAmB,KAAfA,EAAMvtE,KACN,MAAO,CAAC6mF,MAAM,EAAMC,MAAO,GAG/B,GAAIjW,GAActD,GACd,MAAO,CAACsZ,MAAM,EAAOC,MAAOvZ,EAAMr+D,QAGtC,MAAM,IAAIkjC,MAAM,gC,GCnBX20C,GAAgC,CACzC7xE,KAAM,OACNs8B,MAAO,SAACxvB,EAAmBhkB,GACvB,GAAmB,KAAfA,EAAMgC,KACN,OAAQhC,EAAMyxE,KAAKz+D,eACf,IAAK,IACD,OAAO,IAAOhT,EAAMkR,OACxB,IAAK,KACD,OAAOlR,EAAMkR,OAIzB,MAAM,IAAIkjC,MAAM,wB,GCdX40C,GAA4C,CACrD9xE,KAAM,UACNizB,aAAc,IACdnoC,KAAM,EACNw9E,QAAQ,EACRhsC,MAAO,SAACxvB,EAAmBurD,GACvB,OAAIsD,GAActD,GACPA,EAAMr+D,OAEV,C,GCVF+3E,GAAoD,CAC7D/xE,KAAM,wBACNizB,aAAc,cACdq1C,QAAQ,EACRx9E,KAAM,EACN09E,OAAQ,SCOCwJ,GAAkE,CAC3EhyE,KAAM,uBACNizB,aAAc,OACdq1C,QAAQ,EACRx9E,KAAM,EACNwxC,MAAO,SAACxvB,EAAmBsrD,GACvB,OAAOA,EACFjsE,OAAOyvE,IACPxvE,KAAI,SAACisE,GACF,OAAQA,EAAMvvE,OACV,IAAK,YACD,OAAO,EACX,IAAK,WACD,OAAO,EACX,IAAK,eACD,OAAO,EACX,IAAK,OACD,OAAO,EAEf,OAAO,C,IAEVqD,QAAO,SAAC8lF,GAAS,OAAS,IAATA,CAAI,G,GC1BrBC,GAAkD,CAC3DlyE,KAAM,cACNizB,aAAc,GACdq1C,QAAQ,EACRx9E,KAAM,EACNwxC,MAAO,SAACxvB,EAAmBsrD,GACvB,IAAM+Z,EAAwB,GACxBC,EAAoB,GAmB1B,OAlBAha,EAAO5sE,SAAQ,SAAC6sE,GACZ,OAAQA,EAAMvtE,MACV,KAAK,GACL,KAAK,EACDqnF,EAAY7rF,KAAK+xE,EAAMvvE,OACvB,MACJ,KAAK,GACDqpF,EAAY7rF,KAAK+xE,EAAMr+D,OAAOs1B,YAC9B,MACJ,KAAK,EACD8iD,EAAQ9rF,KAAK6rF,EAAYpiD,KAAK,MAC9BoiD,EAAYlrF,OAAS,EACrB,M,IAGRkrF,EAAYlrF,QACZmrF,EAAQ9rF,KAAK6rF,EAAYpiD,KAAK,MAE3BqiD,EAAQhmF,KAAI,SAACqC,GAAW,OAA0B,IAAzBA,EAAO8J,QAAQ,KAAc9J,EAAS,IAAIA,EAAM,GAAG,G,GCjC9E8gF,GAAyC,CAClDvvE,KAAM,YACNizB,aAAc,IACdq1C,QAAQ,EACRx9E,KAAM,EACN09E,OAAQ,UCJC6J,GAA+C,CACxDryE,KAAM,cACNizB,aAAc,SACdnoC,KAAM,EACNw9E,QAAQ,EACRhsC,MAAO,SAACxvB,EAAmBurD,GACvB,GAAIsD,GAActD,GACd,OAAOA,EAAMr+D,OAGjB,GAAI4hE,GAAavD,GACb,OAAQA,EAAMvvE,OACV,IAAK,OACD,OAAO,IACX,IAAK,SACL,QACI,OAAO,IAInB,OAAO,G,GCpBFwpF,GAAiD,CAC1DtyE,KAAM,eACNizB,aAAc,OACdnoC,KAAM,EACNw9E,QAAQ,EACRhsC,MAAO,SAACxvB,EAAmBsrD,GACvB,OAAOA,EAAOjsE,OAAOyvE,IAAcxvE,KAAI,SAACisE,GAAU,OAAAA,EAAMvvE,KAAK,G,GCDxDypF,GAAuD,CAChEvyE,KAAM,aACNizB,aAAc,SACdq1C,QAAQ,EACRx9E,KAAM,EACNwxC,MAAO,SAACxvB,EAAmBghC,GACvB,OAAQA,GACJ,IAAK,UACD,MAAO,UACX,IAAK,SACD,MAAO,SACX,IAAK,SACL,QACI,MAAO,S,GCrBVtU,GAAW,SAACs1C,EAAahmF,GAA2B,OAAkB,KAAjBgmF,EAAMhmF,EAAY,ECOvE2hC,GAA4C,CACrDzqB,KAAM,UACNizB,aAAc,OACdnoC,KAAM,EACNw9E,QAAQ,EACRhsC,MAAO,SAACxvB,EAAmBsrD,GACvB,GAAsB,IAAlBA,EAAOnxE,OACP,MAAO,GAGX,IAAM4hF,EAAQzQ,EAAO,GAErB,OAAmB,KAAfyQ,EAAM/9E,MAAkD,SAAhB+9E,EAAM//E,MACvC,GAGJsvE,C,GCXFoa,GAA8D,CACvExyE,KAAM,oBACNizB,aAAc,OACdq1C,QAAQ,EACRx9E,KAAM,EACNwxC,MAAO,SAACxvB,EAAmBsrD,GACvB,GAAsB,IAAlBA,EAAOnxE,OACP,OAAO,KAGX,IAAM4hF,EAAQzQ,EAAO,GAErB,GAAmB,KAAfyQ,EAAM/9E,MAAkD,SAAhB+9E,EAAM//E,MAC9C,OAAO,KAMX,IAHA,IAAM2pF,EAAa,GACbC,EAAWta,EAAOjsE,OAAO4vE,IAEtBh1E,EAAI,EAAGA,EAAI2rF,EAASzrF,OAAQF,IAAK,CACtC,IAAM4rF,EAAUD,EAAS3rF,GACnB4J,EAAO+hF,EAAS3rF,EAAI,GAC1B,GAAqB,KAAjB4rF,EAAQ7nF,KAAgC,CACxC,IAAM8nF,EAAYjiF,GAAQgrE,GAAchrE,GAAQA,EAAKqJ,OAAS,EAC9Dy4E,EAAWnsF,KAAK,CAACqsF,QAASA,EAAQ7pF,MAAO8pF,UAASA,G,EAI1D,OAAOH,C,GC7BFI,GAAsD,CAC/D7yE,KAAM,gBACNizB,aAAc,OACdq1C,QAAQ,EACRx9E,KAAM,EACNwxC,MAAO,SAACxvB,EAAmBsrD,GACvB,GAAsB,IAAlBA,EAAOnxE,OACP,MAAO,GAMX,IAHA,IAAM6rF,EAAS,GACTJ,EAAWta,EAAOjsE,OAAO4vE,IAEtBh1E,EAAI,EAAGA,EAAI2rF,EAASzrF,OAAQF,IAAK,CACtC,IAAM4rF,EAAUD,EAAS3rF,GACnB4J,EAAO+hF,EAAS3rF,EAAI,GAC1B,GAAI60E,GAAa+W,IAA8B,SAAlBA,EAAQ7pF,MAAkB,CACnD,IAAMuY,EAAQ1Q,GAAQgrE,GAAchrE,GAAQA,EAAKqJ,OAAS,EAC1D84E,EAAOxsF,KAAK,CAACqsF,QAASA,EAAQ7pF,MAAOuY,MAAKA,G,EAIlD,OAAOyxE,C,GC5BFrnD,GAA8C,CACvDzrB,KAAM,WACNizB,aAAc,KACdq1C,QAAQ,EACRx9E,KAAM,EACNwxC,MAAO,SAAChwB,EAAkB8rD,GACtB,OAAOA,EAAOjsE,OAAOuvE,IAAkBtvE,KAAI,SAACisE,GAAU,OAAAwZ,GAAKv1C,MAAMhwB,EAAS+rD,EAAM,G,GCC3E0a,GAA0C,CACnD/yE,KAAM,SACNizB,aAAc,OACdq1C,QAAQ,EACRx9E,KAAM,EACNwxC,MAAO,SAACxvB,EAAmBsrD,GACvB,GAAsB,IAAlBA,EAAOnxE,OACP,OAAO,KAGX,IAAM4hF,EAAQzQ,EAAO,GAErB,GAAmB,KAAfyQ,EAAM/9E,MAAkD,SAAhB+9E,EAAM//E,MAC9C,OAAO,KAGX,IAAMiqF,EAAS,GACTL,EAAWta,EAAOjsE,OAAO0vE,IAE/B,GAAI6W,EAASzrF,OAAS,IAAM,EACxB,OAAO,KAGX,IAAK,IAAIF,EAAI,EAAGA,EAAI2rF,EAASzrF,OAAQF,GAAK,EAAG,CACzC,IAAMisF,EAAON,EAAS3rF,GAAG+B,MACnBmqF,EAAQP,EAAS3rF,EAAI,GAAG+B,MAC9BiqF,EAAOzsF,KAAK,CAAC4sF,KAAIF,EAAE9zC,MAAK+zC,G,CAG5B,OAAOF,C,GAIFI,GAAW,SAACJ,EAAgB1zD,EAAe6zD,GACpD,IAAKH,EACD,MAAO,GAGX,IAAMK,EAAQL,EAAO/4D,KAAKC,IAAIoF,EAAO0zD,EAAO9rF,OAAS,IACrD,OAAKmsF,EAIEF,EAAOE,EAAMF,KAAOE,EAAMl0C,MAHtB,EAIf,ECvCam0C,GAAgD,CACzDrzE,KAAM,aACNizB,aAAc,OACdnoC,KAAM,EACNw9E,QAAQ,EACRhsC,MAAO,SAAChwB,EAAkB8rD,GACtB,OAAsB,IAAlBA,EAAOnxE,QAAgB60E,GAAiB1D,EAAO,GAAI,QAC5C,GAGJ6D,GAAkB7D,GAAQhsE,KAAI,SAAChB,GAUlC,IATA,IAAMklF,EAAwB,CAC1BxS,MAAO,IACPyS,QAASlU,GACTmU,QAASnU,GACTxiB,KAAMwiB,GACNiX,OAAQjX,GACRkX,OAAO,GAEPlqE,EAAI,EACCtiB,EAAI,EAAGA,EAAIqE,EAAOnE,OAAQF,IAAK,CACpC,IAAMsxE,EAAQjtE,EAAOrE,GACjB+0E,GAAiBzD,EAAO,SACxBiY,EAAOiD,OAAQ,EACRrX,GAAS7D,IACN,IAANhvD,EACAinE,EAAOC,QAAUlY,EACJ,IAANhvD,EACPinE,EAAOE,QAAUnY,EACJ,IAANhvD,EACPinE,EAAOz2B,KAAOwe,EAEdiY,EAAOgD,OAASjb,EAEpBhvD,KAEAinE,EAAOxS,MAAQR,GAAMhhC,MAAMhwB,EAAS+rD,E,CAG5C,OAAOiY,C,MC7CNkD,GAAkD,CAC3DxzE,KAAM,cACNizB,aAAc,SACdq1C,QAAQ,EACRx9E,KAAM,EACNwxC,MAAO,SAACxvB,EAAmBsrD,GACvB,IAAM+Y,EAAgB,CAAC,EAAD,KAChBsC,EAAqB,GAqB3B,OAnBArb,EAAOjsE,OAAOyvE,IAAcpwE,SAAQ,SAAC6sE,GACjC,OAAQA,EAAMvvE,OACV,IAAK,SACD2qF,EAAOntF,KAAK,GACZ,MACJ,IAAK,OACDmtF,EAAOntF,KAAK,GACZ,MACJ,IAAK,UACDmtF,EAAOntF,KAAK,GACZ,M,IAGZ6qF,EAAc3lF,SAAQ,SAAC1C,IACY,IAA3B2qF,EAAOl7E,QAAQzP,IACf2qF,EAAOntF,KAAKwC,E,IAIb2qF,C,GCtCFC,GAAsD,CAC/D1zE,KAAM,4BACNizB,aAAc,eACdq1C,QAAQ,EACRx9E,KAAM,EACN09E,OAAQ,SCHCmL,GAA0D,CACnE3zE,KAAM,4BACNizB,aAAc,IACdnoC,KAAM,EACNw9E,QAAQ,EACRhsC,MAAO,SAACxvB,EAAmBurD,GACvB,OAAIqD,GAAiBrD,GACVA,EAAMr+D,OAEV,C,GCuEf45E,GAAA,WAoEI,SAAAA,EAAYtnE,EAAkBunE,G,QAC1B9tF,KAAK+tF,kBAAoBx3C,GAAMhwB,EAASmf,GAAUooD,EAAYC,mBAC9D/tF,KAAKsiF,eAAiB/rC,GAAMhwB,EAAS+7D,GAAgBwL,EAAYxL,gBACjEtiF,KAAKwiF,gBAAkBjsC,GAAMhwB,EAASi8D,GAAiBsL,EAAYtL,iBACnExiF,KAAKknF,gBAAkB3wC,GAAMhwB,EAAS2gE,GAAiB4G,EAAY5G,iBACnElnF,KAAKmnF,iBAAmB5wC,GAAMhwB,EAAS4gE,GAAkB2G,EAAY3G,kBACrEnnF,KAAKonF,mBAAqB7wC,GAAMhwB,EAAS6gE,GAAoB0G,EAAY1G,oBACzEpnF,KAAKqnF,iBAAmB9wC,GAAMhwB,EAAS8gE,GAAkByG,EAAYzG,kBACrErnF,KAAKwnF,eAAiBjxC,GAAMhwB,EAASihE,GAAgBsG,EAAYtG,gBACjExnF,KAAK4nF,eAAiBrxC,GAAMhwB,EAASqhE,GAAgBkG,EAAYlG,gBACjE5nF,KAAK6nF,iBAAmBtxC,GAAMhwB,EAASshE,GAAkBiG,EAAYjG,kBACrE7nF,KAAK8nF,kBAAoBvxC,GAAMhwB,EAASuhE,GAAmBgG,EAAYhG,mBACvE9nF,KAAK+nF,gBAAkBxxC,GAAMhwB,EAASwhE,GAAiB+F,EAAY/F,iBACnE/nF,KAAKioF,oBAAsB1xC,GAAMhwB,EAAS0hE,GAAqB6F,EAAY7F,qBAC3EjoF,KAAKkoF,qBAAuB3xC,GAAMhwB,EAAS2hE,GAAsB4F,EAAY5F,sBAC7EloF,KAAKmoF,wBAA0B5xC,GAAMhwB,EAAS4hE,GAAyB2F,EAAY3F,yBACnFnoF,KAAKooF,uBAAyB7xC,GAAMhwB,EAAS6hE,GAAwB0F,EAAY1F,wBACjFpoF,KAAKsoF,eAAiB/xC,GAAMhwB,EAAS+hE,GAAgBwF,EAAYxF,gBACjEtoF,KAAKuoF,iBAAmBhyC,GAAMhwB,EAASgiE,GAAkBuF,EAAYvF,kBACrEvoF,KAAKwoF,kBAAoBjyC,GAAMhwB,EAASiiE,GAAmBsF,EAAYtF,mBACvExoF,KAAKyoF,gBAAkBlyC,GAAMhwB,EAASkiE,GAAiBqF,EAAYrF,iBACnEzoF,KAAK2oF,eAAiBpyC,GAAMhwB,EAASoiE,GAAgBmF,EAAYnF,gBACjE3oF,KAAK4oF,iBAAmBryC,GAAMhwB,EAASqiE,GAAkBkF,EAAYlF,kBACrE5oF,KAAK6oF,kBAAoBtyC,GAAMhwB,EAASsiE,GAAmBiF,EAAYjF,mBACvE7oF,KAAK8oF,gBAAkBvyC,GAAMhwB,EAASuiE,GAAiBgF,EAAYhF,iBACnE9oF,KAAKstF,UAAY/2C,GAAMhwB,EAAS+mE,GAAWQ,EAAYR,WACvDttF,KAAK+3E,MAAQxhC,GAAMhwB,EAASwxD,GAAO+V,EAAY/V,OAC/C/3E,KAAK0+C,UAAYnI,GAAMhwB,EAASm4B,GAAWovC,EAAYpvC,WACvD1+C,KAAKsqC,QAAUiM,GAAMhwB,EAAS+jB,GAASwjD,EAAYxjD,SACnDtqC,KAAKipF,MAAQ1yC,GAAMhwB,EAAS0iE,GAAO6E,EAAYE,UAC/ChuF,KAAKmsF,WAAa51C,GAAMhwB,EAAS4lE,GAAY2B,EAAY3B,YACzDnsF,KAAKwpF,SAAWjzC,GAAMhwB,EAASijE,GAAUsE,EAAYtE,UACrDxpF,KAAKwsF,UAAYj2C,GAAMhwB,EAASimE,GAAWsB,EAAYtB,WACvDxsF,KAAKusF,YAAch2C,GAAMhwB,EAASgmE,GAAauB,EAAYvB,aAC3DvsF,KAAKssF,WAAa/1C,GAAMhwB,EAAS+lE,GAAYwB,EAAYxB,YACzDtsF,KAAKkpF,cAAgB3yC,GAAMhwB,EAAS2iE,GAAe4E,EAAY5E,eAC/DlpF,KAAKyqE,UAAYl0B,GAAMhwB,EAASkkD,GAAWqjB,EAAYrjB,WACvDzqE,KAAKspF,WAAa/yC,GAAMhwB,EAAS+iE,GAAYwE,EAAYxE,YACzDtpF,KAAKypF,eAAiBlzC,GAAMhwB,EAASkjE,GAAgBqE,EAAYrE,gBACjEzpF,KAAK0pF,kBAAoBnzC,GAAMhwB,EAASmjE,GAAmBoE,EAAYpE,mBACvE1pF,KAAK2pF,cAAgBpzC,GAAMhwB,EAASojE,GAAemE,EAAYnE,eAC/D3pF,KAAK6pF,UAAYtzC,GAAMhwB,EAASsjE,GAAWiE,EAAYjE,WACvD7pF,KAAK8pF,YAAcvzC,GAAMhwB,EAASujE,GAAagE,EAAYhE,aAC3D9pF,KAAK+pF,aAAexzC,GAAMhwB,EAASwjE,GAAc+D,EAAY/D,cAC7D/pF,KAAKgqF,WAAazzC,GAAMhwB,EAASyjE,GAAY8D,EAAY9D,YACzDhqF,KAAK+rF,QAAUx1C,GAAMhwB,EAASwlE,GAAS+B,EAAY/B,SACnD,IAAMkC,EAAgB13C,GAAMhwB,EAASwhC,GAAU+lC,EAAY/lC,UAC3D/nD,KAAKgoD,UAAYimC,EAAc,GAC/BjuF,KAAKioD,UAAYgmC,EAAcA,EAAc/sF,OAAS,EAAI,EAAI,GAC9DlB,KAAKiqF,aAAe1zC,GAAMhwB,EAAS0jE,GAAc6D,EAAY7D,cAC7DjqF,KAAKmqF,WAAa5zC,GAAMhwB,EAAS4jE,GAAY2D,EAAY3D,YACzDnqF,KAAK2yD,aAAepc,GAAMhwB,EAASosC,GAAcm7B,EAAYn7B,cAC7D3yD,KAAKoqF,cAAgB7zC,GAAMhwB,EAAS6jE,GAAe0D,EAAY1D,eAC/DpqF,KAAK0yD,YAAcnc,GAAMhwB,EAASmsC,GAAao7B,EAAYp7B,aAC3D1yD,KAAKytF,WAAal3C,GAAMhwB,EAASknE,GAAYK,EAAYL,YACzDztF,KAAK0iD,SAAWnM,GAAMhwB,EAASm8B,GAAUorC,EAAYprC,UACrD1iD,KAAKqqF,UAAY9zC,GAAMhwB,EAAS8jE,GAAWyD,EAAYzD,WACvDrqF,KAAKgsF,oBAAsBz1C,GACvBhwB,EACAylE,GAC+B,QAA/B59E,EAAA0/E,EAAY9B,2BAAmB,IAAA59E,EAAAA,EAAI0/E,EAAY/V,OAEnD/3E,KAAKisF,mBAAqB11C,GACtBhwB,EACA0lE,GAC8B,QAA9B1T,EAAAuV,EAAY7B,0BAAkB,IAAA1T,EAAAA,EAAIuV,EAAYI,gBAElDluF,KAAKsqF,WAAa/zC,GAAMhwB,EAAS+jE,GAAYwD,EAAYxD,YACzDtqF,KAAK0qF,cAAgBn0C,GAAMhwB,EAASmkE,GAAeoD,EAAYpD,eAC/D1qF,KAAKyuC,UAAY8H,GAAMhwB,EAASokE,GAAWmD,EAAYr/C,WACvDzuC,KAAKsrF,gBAAkB/0C,GAAMhwB,EAAS+kE,GAAiBwC,EAAYxC,iBACnEtrF,KAAKwrF,WAAaj1C,GAAMhwB,EAASilE,GAAYsC,EAAYtC,YACzDxrF,KAAK2tF,sBAAwBp3C,GAAMhwB,EAASonE,GAAuBG,EAAYH,uBAC/E3tF,KAAK4tF,sBAAwBr3C,GAAMhwB,EAASqnE,GAAuBE,EAAYF,uBAC/E5tF,KAAK0rE,UAAYn1B,GAAMhwB,EAASmlD,GAAWoiB,EAAYpiB,WACvD1rE,KAAK2rF,OAASp1C,GAAMhwB,EAASolE,GAAQmC,EAAYnC,O,CAqCzD,OAlCIkC,EAAAn0D,UAAAg1B,UAAA,WACI,OAAO1uD,KAAKsqC,QAAU,GAAKtqC,KAAK+rF,QAAU,GAAyB,IAApB/rF,KAAKwrF,U,EAGxDqC,EAAAn0D,UAAAo+C,cAAA,WACI,OAAOA,GAAc93E,KAAKwiF,gB,EAG9BqL,EAAAn0D,UAAAy0D,cAAA,WACI,OAA0B,OAAnBnuF,KAAKyuC,S,EAGhBo/C,EAAAn0D,UAAA00D,aAAA,WACI,OAAyB,IAAlBpuF,KAAK0iD,Q,EAGhBmrC,EAAAn0D,UAAA20D,uBAAA,WACI,OAAOruF,KAAKouF,iBAAmBpuF,KAAK2rF,OAAOC,I,EAG/CiC,EAAAn0D,UAAA40D,WAAA,WACI,OAAsB,IAAftuF,KAAKipF,K,EAGhB4E,EAAAn0D,UAAA60D,cAAA,WACI,OACI96C,GAASzzC,KAAKsqC,QAAS,IACvBmJ,GAASzzC,KAAKsqC,QAAS,WACvBmJ,GAASzzC,KAAKsqC,QAAS,YACvBmJ,GAASzzC,KAAKsqC,QAAS,YACvBmJ,GAASzzC,KAAKsqC,QAAS,WACvBmJ,GAASzzC,KAAKsqC,QAAS,U,EAGnCujD,CAAA,CApLA,GAsLAW,GAAA,WAII,SAAAA,EAAYjoE,EAAkBunE,GAC1B9tF,KAAK0kC,QAAU6R,GAAMhwB,EAASme,GAASopD,EAAYppD,SACnD1kC,KAAKgtF,OAASz2C,GAAMhwB,EAASymE,GAAQc,EAAYd,O,CAEzD,OAAAwB,CAAA,CARA,GAUAC,GAAA,WAII,SAAAA,EAAYloE,EAAkBunE,GAC1B9tF,KAAKysF,iBAAmBl2C,GAAMhwB,EAASkmE,GAAkBqB,EAAYrB,kBACrEzsF,KAAK8sF,aAAev2C,GAAMhwB,EAASumE,GAAcgB,EAAYhB,a,CAErE,OAAA2B,CAAA,CARA,GAWMl4C,GAAQ,SAAChwB,EAAkBrF,EAAwCiQ,GACrE,IAAM0jD,EAAY,IAAI5C,GAChBlvE,EAAkB,OAAVouB,GAAmC,qBAAVA,EAAwBA,EAAMoY,WAAaroB,EAAWgsB,aAC7F2nC,EAAU3C,MAAMnvE,GAChB,IAAM2rF,EAAS,IAAI/Z,GAAOE,EAAUzC,QACpC,OAAQlxD,EAAWnc,MACf,KAAK,EACD,IAAMutE,EAAQoc,EAAO3Z,sBACrB,OAAO7zD,EAAWq1B,MAAMhwB,EAASsvD,GAAavD,GAASA,EAAMvvE,MAAQme,EAAWgsB,cACpF,KAAK,EACD,OAAOhsB,EAAWq1B,MAAMhwB,EAASmoE,EAAO3Z,uBAC5C,KAAK,EACD,OAAO7zD,EAAWq1B,MAAMhwB,EAASmoE,EAAOzZ,wBAC5C,KAAK,EACD,OAAOyZ,EAAO3Z,sBAClB,KAAK,EACD,OAAQ7zD,EAAWuhE,QACf,IAAK,QACD,OAAOzL,GAAMzgC,MAAMhwB,EAASmoE,EAAO3Z,uBACvC,IAAK,QACD,OAAOwC,GAAUhhC,MAAMhwB,EAASmoE,EAAO3Z,uBAC3C,IAAK,QACD,OAAO2R,GAAMnwC,MAAMhwB,EAASmoE,EAAO3Z,uBACvC,IAAK,SACD,IAAM4Z,EAASD,EAAO3Z,sBACtB,OAAOoB,GAASwY,GAAUA,EAASrY,GACvC,IAAK,oBACD,IAAMsY,EAAQF,EAAO3Z,sBACrB,OAAOqB,GAAmBwY,GAASA,EAAQtY,GAC/C,IAAK,OACD,OAAOwV,GAAKv1C,MAAMhwB,EAASmoE,EAAO3Z,uBAE1C,MAEZ,EChUM8Z,GAA2B,yBAS3BC,GAAsB,SAAC9oC,GACzB,IAAM+oC,EAAY/oC,EAAQ/Z,aAAa4iD,IACvC,OAAQE,GACJ,IAAK,MACD,OAAO,EACX,IAAK,QACD,OAAO,EACX,IAAK,QACD,OAAO,EACX,IAAK,SACD,OAAO,EACX,QACI,OAAO,EAEnB,EAEaC,GAAc,SAAChpC,EAAkBjhD,GAC1C,IAAMkqF,EAAcH,GAAoB9oC,GACxC,OAAuB,IAAhBipC,GAAoClqF,IAASkqF,CACxD,ECdAC,GAAA,WAOI,SAAAA,EAA+B3oE,EAAkBy/B,GAAlB,KAAAz/B,QAAAA,EALtB,KAAA4oE,UAA6B,GAC7B,KAAA5sC,SAA+B,GAExC,KAAAowB,MAAQ,EAGAqc,GAAYhpC,EAAS,GAIzBhmD,KAAK0oC,OAAS,IAAImlD,GAAqBtnE,EAASoiB,OAAOC,iBAAiBod,EAAS,OAE7EopC,GAAkBppC,KACdhmD,KAAK0oC,OAAOqlD,kBAAkB31E,MAAK,SAACstB,GAAa,OAAAA,EAAW,CAAC,MAC7DsgB,EAAQ70B,MAAM48D,kBAAoB,MAGR,OAA1B/tF,KAAK0oC,OAAO+F,YAEZuX,EAAQ70B,MAAMsd,UAAY,SAIlCzuC,KAAKqvF,OAASrsB,EAAYhjE,KAAKumB,QAASy/B,GAEpCgpC,GAAYhpC,EAAS,KACrBhmD,KAAK2yE,OAAS,G,CAG1B,OAAAuc,CAAA,CA/BA,GCdahrB,GACT,+izBxBDEorB,GAAQ,mEAGRC,GAA+B,qBAAf3rB,WAA6B,GAAK,IAAIA,WAAW,KAC9D4rB,GAAI,EAAGA,GAAIF,GAAMpuF,OAAQsuF,KAC9BD,GAAOD,GAAM5hD,WAAW8hD,KAAMA,GyBDlC,IzBIO,IAAMC,GAAS,SAACvrB,GACnB,IAEIljE,EAEAmjE,EACAC,EACAC,EACAC,EAPAC,EAA+B,IAAhBL,EAAOhjE,OACtBy2B,EAAMusC,EAAOhjE,OAEbmQ,EAAI,EAM0B,MAA9B6yD,EAAOA,EAAOhjE,OAAS,KACvBqjE,IACkC,MAA9BL,EAAOA,EAAOhjE,OAAS,IACvBqjE,KAIR,IAAMC,EACqB,qBAAhBC,aACe,qBAAfb,YAC+B,qBAA/BA,WAAWlqC,UAAU3lB,MACtB,IAAI0wD,YAAYF,GAChB,IAAI/mD,MAAM+mD,GACdG,EAAQlnD,MAAMlY,QAAQk/D,GAAUA,EAAS,IAAIZ,WAAWY,GAE9D,IAAKxjE,EAAI,EAAGA,EAAI22B,EAAK32B,GAAK,EACtBmjE,EAAWorB,GAAOrrB,EAAOx2B,WAAW1sC,IACpCojE,EAAWmrB,GAAOrrB,EAAOx2B,WAAW1sC,EAAI,IACxCqjE,EAAWkrB,GAAOrrB,EAAOx2B,WAAW1sC,EAAI,IACxCsjE,EAAWirB,GAAOrrB,EAAOx2B,WAAW1sC,EAAI,IAExC0jE,EAAMrzD,KAAQ8yD,GAAY,EAAMC,GAAY,EAC5CM,EAAMrzD,MAAoB,GAAX+yD,IAAkB,EAAMC,GAAY,EACnDK,EAAMrzD,MAAoB,EAAXgzD,IAAiB,EAAiB,GAAXC,EAG1C,OAAOE,CACX,EAEakrB,GAAkB,SAAClrB,GAG5B,IAFA,IAAMtjE,EAASsjE,EAAOtjE,OAChBwjE,EAAQ,GACL1jE,EAAI,EAAGA,EAAIE,EAAQF,GAAK,EAC7B0jE,EAAMnkE,KAAMikE,EAAOxjE,EAAI,IAAM,EAAKwjE,EAAOxjE,IAE7C,OAAO0jE,CACX,EAEairB,GAAkB,SAACnrB,GAG5B,IAFA,IAAMtjE,EAASsjE,EAAOtjE,OAChBwjE,EAAQ,GACL1jE,EAAI,EAAGA,EAAIE,EAAQF,GAAK,EAC7B0jE,EAAMnkE,KAAMikE,EAAOxjE,EAAI,IAAM,GAAOwjE,EAAOxjE,EAAI,IAAM,GAAOwjE,EAAOxjE,EAAI,IAAM,EAAKwjE,EAAOxjE,IAE7F,OAAO0jE,CACX,E0B1DakrB,GAAiB,EAGjBC,GAAiB,GAQjBC,GAAqB,EAMrBC,GAAmBF,GAAiBD,GAQpCI,GAA6B,OAAWJ,GAGxCK,GAA2B,GAAKL,GAEhCM,GAAmBD,GAA2B,EAE9CE,GAA6B,MAASP,GAEtCQ,GAA4BJ,GAA6BG,GAKzDE,GAAgCD,GAChCE,GAAgC,GAahCC,GAAwBF,GAAgCC,GAMxDE,GAAoC,OAAWX,GAG/CY,GAA8B,GAAKV,GAEnCW,GAAsBD,GAA8B,EAE3DE,GAAU,SAAC9qB,EAA8Bn0D,EAAeC,GAC1D,OAAIk0D,EAAK9xD,MACE8xD,EAAK9xD,MAAMrC,EAAOC,GAGtB,IAAIm0D,YAAYtoD,MAAMkc,UAAU3lB,MAAMrK,KAAKm8D,EAAMn0D,EAAOC,GACnE,EAEMi/E,GAAU,SAAC/qB,EAA8Bn0D,EAAeC,GAC1D,OAAIk0D,EAAK9xD,MACE8xD,EAAK9xD,MAAMrC,EAAOC,GAGtB,IAAIq0D,YAAYxoD,MAAMkc,UAAU3lB,MAAMrK,KAAKm8D,EAAMn0D,EAAOC,GACnE,EAEak/E,GAAuB,SAAC3sB,EAAgBgC,GACjD,IAAM1B,EAASirB,GAAOvrB,GAChBiC,EAAS3oD,MAAMlY,QAAQk/D,GAAUmrB,GAAgBnrB,GAAU,IAAIwB,YAAYxB,GAC3E4B,EAAS5oD,MAAMlY,QAAQk/D,GAAUkrB,GAAgBlrB,GAAU,IAAIsB,YAAYtB,GAC3E6B,EAAe,GAEfhmE,EAAQswF,GAAQvqB,EAAQC,EAAe,EAAGF,EAAO,GAAK,GACtD7uD,EACY,IAAd6uD,EAAO,GACDwqB,GAAQvqB,GAASC,EAAeF,EAAO,IAAM,GAC7CyqB,GAAQzqB,EAAQlyC,KAAKqyC,MAAMD,EAAeF,EAAO,IAAM,IAEjE,OAAO,IAAIK,GAAKL,EAAO,GAAIA,EAAO,GAAIA,EAAO,GAAIA,EAAO,GAAI9lE,EAAOiX,EACvE,E,cAUI,SAAAkvD,EACIt5B,EACAu5B,EACAC,EACAC,EACAtmE,EACAiX,GAEAtX,KAAKktC,aAAeA,EACpBltC,KAAKymE,WAAaA,EAClBzmE,KAAK0mE,UAAYA,EACjB1mE,KAAK2mE,eAAiBA,EACtB3mE,KAAKK,MAAQA,EACbL,KAAKsX,KAAOA,C,CAkDpB,OAzCIkvD,EAAA9sC,UAAAv2B,IAAA,SAAIqgE,GACA,IAAIoD,EACJ,GAAIpD,GAAa,EAAG,CAChB,GAAIA,EAAY,OAAYA,EAAY,OAAWA,GAAa,MAM5D,OAFAoD,EAAK5mE,KAAKK,MAAMmjE,GAAaosB,IAC7BhpB,GAAMA,GAAMkpB,KAAuBtsB,EAAY0sB,IACxClwF,KAAKsX,KAAKsvD,GAGrB,GAAIpD,GAAa,MASb,OAFAoD,EAAK5mE,KAAKK,MAAM2vF,IAA+BxsB,EAAY,OAAWosB,KACtEhpB,GAAMA,GAAMkpB,KAAuBtsB,EAAY0sB,IACxClwF,KAAKsX,KAAKsvD,GAGrB,GAAIpD,EAAYxjE,KAAK0mE,UAOjB,OALAE,EAAK2pB,GAAwBC,IAAqChtB,GAAaqsB,IAC/EjpB,EAAK5mE,KAAKK,MAAMumE,GAChBA,GAAOpD,GAAaosB,GAAkBc,GACtC9pB,EAAK5mE,KAAKK,MAAMumE,GAChBA,GAAMA,GAAMkpB,KAAuBtsB,EAAY0sB,IACxClwF,KAAKsX,KAAKsvD,GAErB,GAAIpD,GAAa,QACb,OAAOxjE,KAAKsX,KAAKtX,KAAK2mE,e,CAK9B,OAAO3mE,KAAKymE,U,EAEpBD,CAAA,C,GD7KMsqB,GAAQ,mEAGRC,GAA+B,qBAAfntB,WAA6B,GAAK,IAAIA,WAAW,KAC9D5iE,GAAI,EAAGA,GAAI8vF,GAAM5vF,OAAQF,KAC9B+vF,GAAOD,GAAMpjD,WAAW1sC,KAAMA,GEDlC,ICqeKgwF,GDreCC,GAAU,EACVC,GAAK,EACLC,GAAK,EACLC,GAAU,EACVC,GAAS,EAETC,GAAc,EACdj8C,GAAI,EACJ2D,GAAI,EACJrE,GAAI,GACJ48C,GAAK,GACLC,GAAM,GACNC,GAAM,GACNC,GAAwB,GACxBC,GAAK,GAqBEC,GAAe,SAAC9hD,GACzB,IAAMqzB,EAAa,GACfniE,EAAI,EACFE,EAAS4uC,EAAI5uC,OACnB,MAAOF,EAAIE,EAAQ,CACf,IAAM6B,EAAQ+sC,EAAIpC,WAAW1sC,KAC7B,GAAI+B,GAAS,OAAUA,GAAS,OAAU/B,EAAIE,EAAQ,CAClD,IAAMkiE,EAAQtzB,EAAIpC,WAAW1sC,KACJ,SAAZ,MAARoiE,GACDD,EAAW5iE,OAAe,KAARwC,IAAkB,KAAe,KAARqgE,GAAiB,QAE5DD,EAAW5iE,KAAKwC,GAChB/B,I,MAGJmiE,EAAW5iE,KAAKwC,E,CAGxB,OAAOogE,CACX,EAEaG,GAAgB,W,IAAC,IAAAH,EAAA,GAAA/X,EAAA,EAAAA,EAAAjjC,UAAAjnB,OAAAkqD,IAAA+X,EAAA/X,GAAAjjC,UAAAijC,GAC1B,GAAIrkD,OAAOu8D,cACP,OAAOv8D,OAAOu8D,cAAaz8D,MAApBE,OAAwBo8D,GAGnC,IAAMjiE,EAASiiE,EAAWjiE,OAC1B,IAAKA,EACD,MAAO,GAGX,IAAMqiE,EAAY,GAEdljE,GAAS,EACTqI,EAAS,GACb,QAASrI,EAAQa,EAAQ,CACrB,IAAIsiE,EAAYL,EAAW9iE,GACvBmjE,GAAa,MACbD,EAAUhjE,KAAKijE,IAEfA,GAAa,MACbD,EAAUhjE,KAAyB,OAAnBijE,GAAa,IAAeA,EAAY,KAAS,SAEjEnjE,EAAQ,IAAMa,GAAUqiE,EAAUriE,OAAS,SAC3CwH,GAAU3B,OAAO08D,aAAY58D,MAAnBE,OAAuBw8D,GACjCA,EAAUriE,OAAS,E,CAG3B,OAAOwH,CACX,EAEampF,GAAchB,GAAqB3sB,IAEnC4tB,GAAoB,IACpBC,GAAgB,IAIhBC,GAAmB,SAACxuB,GAA8B,OAAAquB,GAAY1uF,IAAIqgE,EAAU,EAEnFyuB,GAAwB,SAACC,EAAuBlnB,EAAsB3qE,GACxE,IAAIkrE,EAAYlrE,EAAQ,EACpB8V,EAAO60D,EAAWO,GAChBnxC,EAAU4wC,EAAW3qE,EAAQ,GAC7BuK,EAAOogE,EAAW3qE,GAExB,GAAI+5B,IAAY82D,IAAMtmF,IAASumF,GAC3B,OAAOW,GAIX,GAAI13D,IAAY82D,IAAM92D,IAAY+2D,IAAM/2D,IAAYg3D,GAChD,OAAOW,GAIX,GAAInnF,IAASsmF,IAAMtmF,IAASumF,IAAMvmF,IAASwmF,GACvC,OAAOW,GAKX,GAAI33D,IAAYib,KAAwC,IAAnC,CAACA,GAAG2D,GAAGu4C,GAAIC,IAAKh/E,QAAQ5H,GACzC,OAAOknF,GAIX,IAAK13D,IAAYm3D,IAAMn3D,IAAY4e,MAAOpuC,IAASouC,IAAKpuC,IAAS+pC,IAC7D,OAAOm9C,GAIX,IAAK13D,IAAYo3D,IAAOp3D,IAAYua,KAAM/pC,IAAS+pC,GAC/C,OAAOm9C,GAIX,GAAIlnF,IAAS6mF,IAAO7mF,IAASymF,GACzB,OAAOS,GAIX,GAAIlnF,IAAS0mF,GACT,OAAOQ,GAIX,GAAI13D,IAAY62D,GACZ,OAAOa,GAIX,GAAI13D,IAAYq3D,IAAO7mF,IAAS8mF,GAAuB,CACnD,MAAOv7E,IAASk7E,GACZl7E,EAAO60D,IAAaO,GAExB,GAAIp1D,IAASu7E,GACT,OAAOI,E,CAOf,GAAI13D,IAAYu3D,IAAM/mF,IAAS+mF,GAAI,CAC/B,IAAIQ,EAAU,EACd,MAAOh8E,IAASw7E,GACZQ,IACAh8E,EAAO60D,IAAaO,GAExB,GAAI4mB,EAAU,IAAM,EAChB,OAAOL,E,CAIf,OAAOC,EACX,EAiBaK,GAAkB,SAACtiD,GAC5B,IAAMqzB,EAAayuB,GAAa9hD,GAC1B5uC,EAASiiE,EAAWjiE,OACtBb,EAAQ,EACR6rE,EAAU,EACRlB,EAAa7H,EAAW98D,IAAI2rF,IAElC,MAAO,CACHpnF,KAAM,WACF,GAAIvK,GAASa,EACT,MAAO,CAAC2J,MAAM,EAAM9H,MAAO,MAG/B,IAAIsvF,EAAgBP,GACpB,MACIzxF,EAAQa,IACPmxF,EAAgBJ,GAAsB9uB,EAAY6H,IAAc3qE,MAAYyxF,IAGjF,GAAIO,IAAkBP,IAAqBzxF,IAAUa,EAAQ,CACzD,IAAM6B,EAAQugE,GAAcz8D,MAAM,KAAMs8D,EAAWpvD,MAAMm4D,EAAS7rE,IAElE,OADA6rE,EAAU7rE,EACH,CAAC0C,MAAKA,EAAE8H,MAAM,E,CAGzB,MAAO,CAACA,MAAM,EAAM9H,MAAO,K,EAMvC,EAEauvF,GAAiB,SAACxiD,GAC3B,IAGIyiD,EAHEC,EAAUJ,GAAgBtiD,GAE1B2iD,EAAY,GAGlB,QAASF,EAAKC,EAAQ5nF,QAAQC,KACtB0nF,EAAGxvF,OACH0vF,EAAUlyF,KAAKgyF,EAAGxvF,MAAMgR,SAIhC,OAAO0+E,CACX,EE5OMC,GAAkB,SAAC/uD,GACrB,IAAMgvD,EAAc,IAEpB,GAAIhvD,EAASivD,YAAa,CACtB,IAAMC,EAAQlvD,EAASivD,cACvB,GAAIC,EAAM9jD,sBAAuB,CAC7B,IAAM+jD,EAAcnvD,EAASvW,cAAc,aAC3C0lE,EAAY3hE,MAAM2yB,OAAY6uC,EAAW,KACzCG,EAAY3hE,MAAMmZ,QAAU,QAC5B3G,EAASgG,KAAKzE,YAAY4tD,GAE1BD,EAAME,WAAWD,GACjB,IAAME,EAAcH,EAAM9jD,wBACpBkkD,EAAch/D,KAAKmvB,MAAM4vC,EAAYlvC,QAE3C,GADAngB,EAASgG,KAAK5F,YAAY+uD,GACtBG,IAAgBN,EAChB,OAAO,C,EAKnB,OAAO,CACX,EAEMO,GAAmB,SAACvvD,GACtB,IAAMmvD,EAAcnvD,EAASvW,cAAc,aAC3C0lE,EAAY3hE,MAAM0yB,MAAQ,OAC1BivC,EAAY3hE,MAAMmZ,QAAU,QAC5BwoD,EAAY3hE,MAAMq4D,SAAW,OAC7BsJ,EAAY3hE,MAAM+3D,cAAgB,MAClC4J,EAAY3hE,MAAMgiE,YAAc,MAChCxvD,EAASgG,KAAKzE,YAAY4tD,GAC1B,IAAMD,EAAQlvD,EAASivD,cAEvBE,EAAY/tD,UAAiC,mBAAd,GAAGquD,OAAwB,YAAYA,OAAO,IAAM,GAEnF,IAAM/uD,EAAOyuD,EAAY7tD,WAEnBouD,EAAWnwB,EAAa7+B,EAAK/sB,MAAMjR,KAAI,SAACrF,GAAM,OAAAqiE,EAAcriE,EAAE,IAChEioD,EAAS,EACT9yC,EAAgB,CAAC,EAGfm9E,EAAWD,EAAS91D,OAAM,SAACkD,EAAMz/B,GACnC6xF,EAAMU,SAASlvD,EAAM4kB,GACrB4pC,EAAMW,OAAOnvD,EAAM4kB,EAASxoB,EAAKv/B,QACjC,IAAM4hE,EAAO+vB,EAAM9jD,wBAEnBka,GAAUxoB,EAAKv/B,OACf,IAAMuyF,EAAa3wB,EAAK7tB,EAAI9+B,EAAK8+B,GAAK6tB,EAAKvuB,EAAIp+B,EAAKo+B,EAGpD,OADAp+B,EAAO2sD,EACG,IAAN9hE,GAIGyyF,C,IAIX,OADA9vD,EAASgG,KAAK5F,YAAY+uD,GACnBQ,CACX,EAEMI,GAAW,WAAe,MAAmC,qBAA5B,IAAIC,OAAQC,WAA2B,EAExEC,GAAmB,WAAe,MAA6C,kBAAtC,IAAIC,gBAAiBC,YAAyB,EAEvFC,GAAU,SAACrwD,GACb,IAAMmxB,EAAM,IAAI6+B,MACVM,EAAStwD,EAASvW,cAAc,UAChC9W,EAAM29E,EAAOC,WAAW,MAC9B,IAAK59E,EACD,OAAO,EAGXw+C,EAAIq/B,IAAM,oEAEV,IACI79E,EAAI89E,UAAUt/B,EAAK,EAAG,GACtBm/B,EAAOI,W,CACT,MAAO7xD,IACL,OAAO,C,CAEX,OAAO,CACX,EAEM8xD,GAAe,SAACh9E,GAClB,OAAY,IAAZA,EAAK,IAAwB,MAAZA,EAAK,IAA0B,IAAZA,EAAK,IAAwB,MAAZA,EAAK,EAA1D,EAEEi9E,GAAoB,SAAC5wD,GACvB,IAAMswD,EAAStwD,EAASvW,cAAc,UAChC/pB,EAAO,IACb4wF,EAAOpwC,MAAQxgD,EACf4wF,EAAOnwC,OAASzgD,EAChB,IAAMiT,EAAM29E,EAAOC,WAAW,MAC9B,IAAK59E,EACD,OAAOrF,QAAQwwD,QAAO,GAE1BnrD,EAAIk+E,UAAY,iBAChBl+E,EAAIm+E,SAAS,EAAG,EAAGpxF,EAAMA,GAEzB,IAAMyxD,EAAM,IAAI6+B,MACVe,EAAgBT,EAAOI,YAC7Bv/B,EAAIq/B,IAAMO,EACV,IAAMC,EAAMC,GAAuBvxF,EAAMA,EAAM,EAAG,EAAGyxD,GAIrD,OAHAx+C,EAAIk+E,UAAY,MAChBl+E,EAAIm+E,SAAS,EAAG,EAAGpxF,EAAMA,GAElBwxF,GAAkBF,GACpBrjF,MAAK,SAACwjD,GACHx+C,EAAI89E,UAAUt/B,EAAK,EAAG,GACtB,IAAMx9C,EAAOhB,EAAIw+E,aAAa,EAAG,EAAGzxF,EAAMA,GAAMiU,KAChDhB,EAAIk+E,UAAY,MAChBl+E,EAAIm+E,SAAS,EAAG,EAAGpxF,EAAMA,GAEzB,IAAMghC,EAAOV,EAASvW,cAAc,OAIpC,OAHAiX,EAAKlT,MAAM+1D,gBAAkB,OAAOwN,EAAa,IACjDrwD,EAAKlT,MAAM2yB,OAAYzgD,EAAI,KAEpBixF,GAAah9E,GACdu9E,GAAkBD,GAAuBvxF,EAAMA,EAAM,EAAG,EAAGghC,IAC3DpzB,QAAQwwD,QAAO,E,IAExBnwD,MAAK,SAACwjD,GAGH,OAFAx+C,EAAI89E,UAAUt/B,EAAK,EAAG,GAEfw/B,GAAah+E,EAAIw+E,aAAa,EAAG,EAAGzxF,EAAMA,GAAMiU,K,IAE1D7H,OAAM,WAAM,QAAK,GAC1B,EAEamlF,GAAyB,SAClC/wC,EACAC,EACA7O,EACAV,EACAlQ,GAEA,IAAM0wD,EAAQ,6BACRJ,EAAMhxD,SAASM,gBAAgB8wD,EAAO,OACtCC,EAAgBrxD,SAASM,gBAAgB8wD,EAAO,iBAatD,OAZAJ,EAAI9oD,eAAe,KAAM,QAASgY,EAAMta,YACxCorD,EAAI9oD,eAAe,KAAM,SAAUiY,EAAOva,YAE1CyrD,EAAcnpD,eAAe,KAAM,QAAS,QAC5CmpD,EAAcnpD,eAAe,KAAM,SAAU,QAC7CmpD,EAAcnpD,eAAe,KAAM,IAAKoJ,EAAE1L,YAC1CyrD,EAAcnpD,eAAe,KAAM,IAAK0I,EAAEhL,YAC1CyrD,EAAcnpD,eAAe,KAAM,4BAA6B,QAChE8oD,EAAIzvD,YAAY8vD,GAEhBA,EAAc9vD,YAAYb,GAEnBswD,CACX,EAEaE,GAAoB,SAACF,GAC9B,OAAO,IAAI1jF,SAAQ,SAACC,EAASuwD,GACzB,IAAM3M,EAAM,IAAI6+B,MAChB7+B,EAAImgC,OAAS,WAAM,OAAA/jF,EAAQ4jD,EAAI,EAC/BA,EAAIogC,QAAUzzB,EAEd3M,EAAIq/B,IAAM,oCAAoCgB,oBAAmB,IAAIC,eAAgBC,kBAAkBV,G,GAE/G,EAEaW,GAAW,CACpB,wBAAIC,GAEA,IAAMxyF,EAAQ2vF,GAAgB/uD,UAE9B,OADAz9B,OAAO+a,eAAeq0E,GAAU,uBAAwB,CAACvyF,MAAKA,IACvDA,C,EAEX,yBAAIyyF,GAEA,IAAMzyF,EAAQuyF,GAASC,sBAAwBrC,GAAiBvvD,UAEhE,OADAz9B,OAAO+a,eAAeq0E,GAAU,wBAAyB,CAACvyF,MAAKA,IACxDA,C,EAEX,uBAAI0yF,GAEA,IAAM1yF,EAAQixF,GAAQrwD,UAEtB,OADAz9B,OAAO+a,eAAeq0E,GAAU,sBAAuB,CAACvyF,MAAKA,IACtDA,C,EAEX,iCAAI2yF,GAEA,IAAM3yF,EACoB,oBAAfya,MAAMC,MAA+C,oBAAjBkrB,OAAOgtD,MAC5CpB,GAAkB5wD,UAClB1yB,QAAQC,SAAQ,GAE1B,OADAhL,OAAO+a,eAAeq0E,GAAU,gCAAiC,CAACvyF,MAAKA,IAChEA,C,EAEX,uBAAI6yF,GAEA,IAAM7yF,EAAQ2wF,KAEd,OADAxtF,OAAO+a,eAAeq0E,GAAU,sBAAuB,CAACvyF,MAAKA,IACtDA,C,EAEX,yBAAI8yF,GAEA,IAAM9yF,EAAQ8wF,KAEd,OADA3tF,OAAO+a,eAAeq0E,GAAU,wBAAyB,CAACvyF,MAAKA,IACxDA,C,EAEX,oBAAI+yF,GAEA,IAAM/yF,EAAQ,oBAAqB,IAAI+wF,eAEvC,OADA5tF,OAAO+a,eAAeq0E,GAAU,mBAAoB,CAACvyF,MAAKA,IACnDA,C,EAEX,oCAAIgzF,GAGA,IAAMhzF,IAA2B,qBAATizF,OAAyBA,KAAaC,WAE9D,OADA/vF,OAAO+a,eAAeq0E,GAAU,mCAAoC,CAACvyF,MAAKA,IACnEA,C,GCnNfmzF,GAAA,WAII,SAAAA,EAAYz1D,EAAc4uD,GACtBrvF,KAAKygC,KAAOA,EACZzgC,KAAKqvF,OAASA,C,CAEtB,OAAA6G,CAAA,CARA,GAUaC,GAAkB,SAC3B5vE,EACAxjB,EACA2lC,EACArE,GAEA,IAAMgvD,EAAW+C,GAAUrzF,EAAO2lC,GAC5B2tD,EAA2B,GAC7BptC,EAAS,EAkCb,OAjCAoqC,EAAS5tF,SAAQ,SAACg7B,GACd,GAAIiI,EAAOujD,mBAAmB/qF,QAAUu/B,EAAKvsB,OAAOhT,OAAS,EACzD,GAAIo0F,GAASC,qBAAsB,CAC/B,IAAMe,EAAc1D,GAAYvuD,EAAM4kB,EAAQxoB,EAAKv/B,QAAQkyC,iBAC3D,GAAIkjD,EAAYp1F,OAAS,EAAG,CACxB,IAAMq1F,EAAcC,GAAiB/1D,GACjCg2D,EAAY,EAChBF,EAAY9wF,SAAQ,SAACixF,GACjBL,EAAW91F,KACP,IAAI21F,GACAQ,EACAn0B,EAAOI,gBACHp8C,EACAqsE,GAAYvuD,EAAMoyD,EAAYxtC,EAAQytC,EAAWx1F,QAAQkyC,oBAIrEqjD,GAAaC,EAAWx1F,M,SAG5Bm1F,EAAW91F,KAAK,IAAI21F,GAAWz1D,EAAM8hC,EAAOI,gBAAgBp8C,EAAS+vE,I,KAEtE,CACH,IAAMK,EAAkBtyD,EAAKuyD,UAAUn2D,EAAKv/B,QAC5Cm1F,EAAW91F,KAAK,IAAI21F,GAAWz1D,EAAMo2D,GAAiBtwE,EAAS8d,KAC/DA,EAAOsyD,C,MAEHrB,GAASC,uBACjBlxD,EAAOA,EAAKuyD,UAAUn2D,EAAKv/B,SAE/B+nD,GAAUxoB,EAAKv/B,M,IAGZm1F,CACX,EAEMQ,GAAmB,SAACtwE,EAAkB8d,GACxC,IAAM0d,EAAgB1d,EAAK0d,cAC3B,GAAIA,EAAe,CACf,IAAM/c,EAAU+c,EAAc30B,cAAc,sBAC5C4X,EAAQE,YAAYb,EAAKS,WAAU,IACnC,IAAMhX,EAAauW,EAAKvW,WACxB,GAAIA,EAAY,CACZA,EAAWgpE,aAAa9xD,EAASX,GACjC,IAAMgrD,EAASrsB,EAAYz8C,EAASye,GAIpC,OAHIA,EAAQC,YACRnX,EAAWgpE,aAAa9xD,EAAQC,WAAYD,GAEzCqqD,C,EAIf,OAAO9sB,EAAOQ,KAClB,EAEM6vB,GAAc,SAACvuD,EAAY4kB,EAAgB/nD,GAC7C,IAAM6gD,EAAgB1d,EAAK0d,cAC3B,IAAKA,EACD,MAAM,IAAI5K,MAAM,8BAEpB,IAAM07C,EAAQ9wC,EAAc6wC,cAG5B,OAFAC,EAAMU,SAASlvD,EAAM4kB,GACrB4pC,EAAMW,OAAOnvD,EAAM4kB,EAAS/nD,GACrB2xF,CACX,EAEa2D,GAAmB,SAACzzF,GAC7B,GAAIuyF,GAASS,iCAAkC,CAE3C,IAAMgB,EAAY,IAAKf,KAAaC,eAAU,EAAQ,CAACe,YAAa,aAEpE,OAAOx5E,MAAMC,KAAKs5E,EAAUE,QAAQl0F,IAAQsD,KAAI,SAAC4wF,GAAiB,OAAAA,EAAQA,OAAO,G,CAGrF,OAAO3E,GAAevvF,EAC1B,EAEMm0F,GAAe,SAACn0F,EAAe2lC,GACjC,GAAI4sD,GAASS,iCAAkC,CAE3C,IAAMgB,EAAY,IAAKf,KAAaC,eAAU,EAAQ,CAClDe,YAAa,SAGjB,OAAOx5E,MAAMC,KAAKs5E,EAAUE,QAAQl0F,IAAQsD,KAAI,SAAC4wF,GAAiB,OAAAA,EAAQA,OAAO,G,CAGrF,OAAOE,GAAWp0F,EAAO2lC,EAC7B,EAEM0tD,GAAY,SAACrzF,EAAe2lC,GAC9B,OAAgC,IAAzBA,EAAOwgD,cAAsBsN,GAAiBzzF,GAASm0F,GAAan0F,EAAO2lC,EACtF,EAGM0uD,GAAiB,CAAC,GAAQ,IAAQ,KAAQ,MAAS,MAAS,KAAQ,MAEpED,GAAa,SAACrnD,EAAapH,GAC7B,IAMI6pD,EANEC,EAAUvmB,GAAYn8B,EAAK,CAC7B26B,UAAW/hC,EAAO+hC,UAClBiB,UAAmC,eAAxBhjC,EAAOuhD,aAA4C,aAAevhD,EAAOgjC,YAGlF2rB,EAAQ,G,aAIV,GAAI9E,EAAGxvF,MAAO,CACV,IAAMA,EAAQwvF,EAAGxvF,MAAMgR,QACjBovD,EAAaD,EAAangE,GAC5Bu0F,EAAO,GACXn0B,EAAW19D,SAAQ,SAAC+9D,IAC2B,IAAvC4zB,GAAe5kF,QAAQgxD,GACvB8zB,GAAQj0B,EAAcG,IAElB8zB,EAAKp2F,QACLm2F,EAAM92F,KAAK+2F,GAEfD,EAAM92F,KAAK8iE,EAAcG,IACzB8zB,EAAO,G,IAIXA,EAAKp2F,QACLm2F,EAAM92F,KAAK+2F,E,GAlBvB,QAAS/E,EAAKC,EAAQ5nF,QAAQC,K,IAuB9B,OAAOwsF,CACX,ECxJAE,GAAA,WAII,SAAAA,EAAYhxE,EAAkB8d,EAAYqE,GACtC1oC,KAAKygC,KAAOgO,GAAUpK,EAAK/sB,KAAMoxB,EAAOgiD,eACxC1qF,KAAKq2F,WAAaF,GAAgB5vE,EAASvmB,KAAKygC,KAAMiI,EAAQrE,E,CAEtE,OAAAkzD,CAAA,CARA,GAUM9oD,GAAY,SAAChO,EAAcgO,GAC7B,OAAQA,GACJ,KAAK,EACD,OAAOhO,EAAK1qB,cAChB,KAAK,EACD,OAAO0qB,EAAK3qB,QAAQ0hF,GAAY98E,IACpC,KAAK,EACD,OAAO+lB,EAAK+P,cAChB,QACI,OAAO/P,EAEnB,EAEM+2D,GAAa,2BAEb98E,GAAa,SAACmK,EAAW4yE,EAAYC,GACvC,OAAI7yE,EAAE3jB,OAAS,EACJu2F,EAAKC,EAAGlnD,cAGZ3rB,CACX,ECjCA8yE,GAAA,SAAAC,GAKI,SAAAD,EAAYpxE,EAAkBuuC,GAA9B,IAAA+iC,EACID,EAAAluF,KAAA,KAAM6c,EAASuuC,IAAI,K,OACnB+iC,EAAK1D,IAAMr/B,EAAIgjC,YAAchjC,EAAIq/B,IACjC0D,EAAKE,eAAiBjjC,EAAIkjC,aAC1BH,EAAKI,gBAAkBnjC,EAAIojC,cAC3BL,EAAKtxE,QAAQxR,MAAM8xE,SAASgR,EAAK1D,K,EAEzC,OAZ2CjzB,EAAAy2B,EAAAC,GAY3CD,CAAA,CAZA,CAA2CzI,ICA3CiJ,GAAA,SAAAP,GAKI,SAAAO,EAAY5xE,EAAkB0tE,GAA9B,IAAA4D,EACID,EAAAluF,KAAA,KAAM6c,EAAS0tE,IAAO,K,OACtB4D,EAAK5D,OAASA,EACd4D,EAAKE,eAAiB9D,EAAOpwC,MAC7Bg0C,EAAKI,gBAAkBhE,EAAOnwC,O,EAEtC,OAX4Cod,EAAAi3B,EAAAP,GAW5CO,CAAA,CAXA,CAA4CjJ,ICC5CkJ,GAAA,SAAAR,GAKI,SAAAQ,EAAY7xE,EAAkBuuC,GAA9B,IAAA+iC,EACID,EAAAluF,KAAA,KAAM6c,EAASuuC,IAAI,KACbj8B,EAAI,IAAIu8D,cACR/F,EAASrsB,EAAYz8C,EAASuuC,G,OACpCA,EAAI3wB,aAAa,QAAYkrD,EAAOxrC,MAAK,MACzCiR,EAAI3wB,aAAa,SAAakrD,EAAOvrC,OAAM,MAE3C+zC,EAAKlD,IAAM,sBAAsBQ,mBAAmBt8D,EAAEw8D,kBAAkBvgC,IACxE+iC,EAAKE,eAAiBjjC,EAAIjR,MAAMw0C,QAAQt1F,MACxC80F,EAAKI,gBAAkBnjC,EAAIhR,OAAOu0C,QAAQt1F,MAE1C80F,EAAKtxE,QAAQxR,MAAM8xE,SAASgR,EAAKlD,K,EAEzC,OAlByCzzB,EAAAk3B,EAAAR,GAkBzCQ,CAAA,CAlBA,CAAyClJ,ICFzCoJ,GAAA,SAAAV,GAGI,SAAAU,EAAY/xE,EAAkBy/B,GAA9B,IAAA6xC,EACID,EAAAluF,KAAA,KAAM6c,EAASy/B,IAAQ,K,OACvB6xC,EAAK90F,MAAQijD,EAAQjjD,M,EAE7B,OAPwCm+D,EAAAo3B,EAAAV,GAOxCU,CAAA,CAPA,CAAwCpJ,ICAxCqJ,GAAA,SAAAX,GAII,SAAAW,EAAYhyE,EAAkBy/B,GAA9B,IAAA6xC,EACID,EAAAluF,KAAA,KAAM6c,EAASy/B,IAAQ,K,OACvB6xC,EAAKnmF,MAAQs0C,EAAQt0C,MACrBmmF,EAAKW,SAAuC,mBAArBxyC,EAAQwyC,WAA+C,IAArBxyC,EAAQwyC,S,EAEzE,OATwCt3B,EAAAq3B,EAAAX,GASxCW,CAAA,CATA,CAAwCrJ,ICOlCuJ,GAAgD,CAClD,CACI1zF,KAAM,GACN4tE,MAAO,EACP6B,KAAM,KACNvgE,OAAQ,IAIVykF,GAA6C,CAC/C,CACI3zF,KAAM,GACN4tE,MAAO,EACP1+D,OAAQ,KAIV0kF,GAAsB,SAACtJ,GACzB,OAAIA,EAAOxrC,MAAQwrC,EAAOvrC,OACf,IAAIye,EAAO8sB,EAAOlgD,MAAQkgD,EAAOxrC,MAAQwrC,EAAOvrC,QAAU,EAAGurC,EAAOhgD,IAAKggD,EAAOvrC,OAAQurC,EAAOvrC,QAC/FurC,EAAOxrC,MAAQwrC,EAAOvrC,OACtB,IAAIye,EAAO8sB,EAAOlgD,KAAMkgD,EAAOhgD,KAAOggD,EAAOvrC,OAASurC,EAAOxrC,OAAS,EAAGwrC,EAAOxrC,MAAOwrC,EAAOxrC,OAElGwrC,CACX,EAEMuJ,GAAgB,SAACv0D,GACnB,IAAMthC,EAAQshC,EAAKt/B,OAAS8zF,GAAW,IAAIr7E,MAAM6mB,EAAKthC,MAAM7B,OAAS,GAAG8oC,KAAK,KAAY3F,EAAKthC,MAE9F,OAAwB,IAAjBA,EAAM7B,OAAemjC,EAAK5R,aAAe,GAAK1vB,CACzD,EAEa+1F,GAAW,WACXC,GAAQ,QACRF,GAAW,WACXG,GAAc,UAE3BC,GAAA,SAAArB,GAKI,SAAAqB,EAAY1yE,EAAkB2yE,GAA9B,IAAArB,EACID,EAAAluF,KAAA,KAAM6c,EAAS2yE,IAAM,KA2BrB,OA1BArB,EAAK9yF,KAAOm0F,EAAMn0F,KAAKgR,cACvB8hF,EAAKsB,QAAUD,EAAMC,QACrBtB,EAAK90F,MAAQ61F,GAAcM,GAEvBrB,EAAK9yF,OAAS+zF,IAAYjB,EAAK9yF,OAASg0F,KACxClB,EAAKnvD,OAAO85C,gBAAkB,WAC9BqV,EAAKnvD,OAAOk/C,eACRiQ,EAAKnvD,OAAOm/C,iBACZgQ,EAAKnvD,OAAOo/C,kBACZ+P,EAAKnvD,OAAOq/C,gBACR,WACR8P,EAAKnvD,OAAOigD,eACRkP,EAAKnvD,OAAOkgD,iBACZiP,EAAKnvD,OAAOmgD,kBACZgP,EAAKnvD,OAAOogD,gBACR,EACR+O,EAAKnvD,OAAO4/C,eACRuP,EAAKnvD,OAAO6/C,iBACZsP,EAAKnvD,OAAO8/C,kBACZqP,EAAKnvD,OAAO+/C,gBAAe,EAE/BoP,EAAKnvD,OAAO45C,eAAiB,CAAC,GAC9BuV,EAAKnvD,OAAOy+C,iBAAmB,CAAC,GAChC0Q,EAAKxI,OAASsJ,GAAoBd,EAAKxI,SAGnCwI,EAAK9yF,MACT,KAAK+zF,GACDjB,EAAKnvD,OAAOw/C,qBACR2P,EAAKnvD,OAAOu/C,oBACZ4P,EAAKnvD,OAAOy/C,wBACZ0P,EAAKnvD,OAAO0/C,uBACRqQ,GACR,MACJ,KAAKM,GACDlB,EAAKnvD,OAAOw/C,qBACR2P,EAAKnvD,OAAOu/C,oBACZ4P,EAAKnvD,OAAOy/C,wBACZ0P,EAAKnvD,OAAO0/C,uBACRsQ,GACR,M,SAGhB,OAlD2Cx3B,EAAA+3B,EAAArB,GAkD3CqB,CAAA,CAlDA,CAA2C/J,IC5C3CkK,GAAA,SAAAxB,GAEI,SAAAwB,EAAY7yE,EAAkBy/B,GAA9B,IAAA6xC,EACID,EAAAluF,KAAA,KAAM6c,EAASy/B,IAAQ,KACjBqzC,EAASrzC,EAAQpwC,QAAQowC,EAAQszC,eAAiB,G,OACxDzB,EAAK90F,MAAQs2F,GAASA,EAAO54D,MAAa,G,EAElD,OAP4CygC,EAAAk4B,EAAAxB,GAO5CwB,CAAA,CAPA,CAA4ClK,ICA5CqK,GAAA,SAAA3B,GAEI,SAAA2B,EAAYhzE,EAAkBy/B,GAA9B,IAAA6xC,EACID,EAAAluF,KAAA,KAAM6c,EAASy/B,IAAQ,K,OACvB6xC,EAAK90F,MAAQijD,EAAQjjD,M,EAE7B,OAN8Cm+D,EAAAq4B,EAAA3B,GAM9C2B,CAAA,CANA,CAA8CrK,ICG9CsK,GAAA,SAAA5B,GAOI,SAAA4B,EAAYjzE,EAAkBkzE,GAA9B,IAAA5B,EACID,EAAAluF,KAAA,KAAM6c,EAASkzE,IAAO,KACtB5B,EAAK1D,IAAMsF,EAAOtF,IAClB0D,EAAKh0C,MAAQzT,SAASqpD,EAAO51C,MAAO,KAAO,EAC3Cg0C,EAAK/zC,OAAS1T,SAASqpD,EAAO31C,OAAQ,KAAO,EAC7C+zC,EAAKrV,gBAAkBqV,EAAKnvD,OAAO85C,gBACnC,IACI,GACIiX,EAAOC,eACPD,EAAOC,cAAc/1D,UACrB81D,EAAOC,cAAc/1D,SAASiQ,gBAChC,CACEikD,EAAK8B,KAAOC,GAAUrzE,EAASkzE,EAAOC,cAAc/1D,SAASiQ,iBAG7D,IAAMimD,EAA0BJ,EAAOC,cAAc/1D,SAASiQ,gBACxDqlC,GACI1yD,EACAqiB,iBAAiB6wD,EAAOC,cAAc/1D,SAASiQ,iBAAiB4uC,iBAEpE5K,GAAOC,YACPiiB,EAAsBL,EAAOC,cAAc/1D,SAASgG,KACpDsvC,GACI1yD,EACAqiB,iBAAiB6wD,EAAOC,cAAc/1D,SAASgG,MAAM64C,iBAEzD5K,GAAOC,YAEbggB,EAAKrV,gBAAkB1K,GAAc+hB,GAC/B/hB,GAAcgiB,GACVjC,EAAKnvD,OAAO85C,gBACZsX,EACJD,C,EAEZ,MAAOr3D,IAAI,C,SAErB,OA3C4C0+B,EAAAs4B,EAAA5B,GA2C5C4B,CAAA,CA3CA,CAA4CtK,ICStC6K,GAAc,CAAC,KAAM,KAAM,QAE3BC,GAAgB,SAACzzE,EAAkB8d,EAAYjkC,EAA0B+X,GAC3E,IAAK,IAAI8hF,EAAY51D,EAAKY,WAAYi1D,OAAQ,EAAED,EAAWA,EAAYC,EAGnE,GAFAA,EAAWD,EAAUjsE,YAEjBmsE,GAAWF,IAAcA,EAAU3iF,KAAKpD,OAAOhT,OAAS,EACxDd,EAAO+uF,UAAU5uF,KAAK,IAAIg3F,GAAchxE,EAAS0zE,EAAW75F,EAAOsoC,cAChE,GAAI0xD,GAAcH,GACrB,GAAII,GAAcJ,IAAcA,EAAUK,cACtCL,EAAUK,gBAAgB70F,SAAQ,SAACw0F,GAAc,OAAAD,GAAczzE,EAAS0zE,EAAW75F,EAAQ+X,EAAK,QAC7F,CACH,IAAMsW,EAAY8rE,GAAgBh0E,EAAS0zE,GACvCxrE,EAAUia,OAAOgmB,cACb8rC,GAA2BP,EAAWxrE,EAAWtW,GACjDsW,EAAUkkD,OAAS,EACZ8nB,GAAuBhsE,EAAUia,UACxCja,EAAUkkD,OAAS,IAGyB,IAA5ConB,GAAYvnF,QAAQynF,EAAUjuD,WAC9Bvd,EAAUkkD,OAAS,GAGvBvyE,EAAOmiD,SAAShiD,KAAKkuB,GACrBwrE,EAAUh8E,KACNg8E,EAAUS,WACVV,GAAczzE,EAAS0zE,EAAUS,WAAYjsE,EAAWtW,GAEvDwiF,GAAkBV,IAClBW,GAAaX,IACbY,GAAgBZ,IAEjBD,GAAczzE,EAAS0zE,EAAWxrE,EAAWtW,G,CAMrE,EAEMoiF,GAAkB,SAACh0E,EAAkBy/B,GACvC,OAAI80C,GAAe90C,GACR,IAAI2xC,GAAsBpxE,EAASy/B,GAG1C+0C,GAAgB/0C,GACT,IAAImyC,GAAuB5xE,EAASy/B,GAG3C40C,GAAa50C,GACN,IAAIoyC,GAAoB7xE,EAASy/B,GAGxCg1C,GAAYh1C,GACL,IAAIsyC,GAAmB/xE,EAASy/B,GAGvCi1C,GAAYj1C,GACL,IAAIuyC,GAAmBhyE,EAASy/B,GAGvCk1C,GAAel1C,GACR,IAAIizC,GAAsB1yE,EAASy/B,GAG1C60C,GAAgB70C,GACT,IAAIozC,GAAuB7yE,EAASy/B,GAG3C20C,GAAkB30C,GACX,IAAIuzC,GAAyBhzE,EAASy/B,GAG7Cm1C,GAAgBn1C,GACT,IAAIwzC,GAAuBjzE,EAASy/B,GAGxC,IAAIkpC,GAAiB3oE,EAASy/B,EACzC,EAEa4zC,GAAY,SAACrzE,EAAkBy/B,GACxC,IAAMv3B,EAAY8rE,GAAgBh0E,EAASy/B,GAG3C,OAFAv3B,EAAUkkD,OAAS,EACnBqnB,GAAczzE,EAASy/B,EAASv3B,EAAWA,GACpCA,CACX,EAEM+rE,GAA6B,SAACn2D,EAAe5V,EAA6BtW,GAC5E,OACIsW,EAAUia,OAAO2lD,0BACjB5/D,EAAUia,OAAOqjD,QAAU,GAC3Bt9D,EAAUia,OAAOylD,iBAChBiN,GAAc/2D,IAASlsB,EAAKuwB,OAAOovC,eAE5C,EAEM2iB,GAAyB,SAAC/xD,GAA0C,OAAAA,EAAO0lD,gBAAkB1lD,EAAO4lD,YAAY,EAEzG6L,GAAa,SAAC91D,GAA6B,OAAAA,EAAKiL,WAAaiE,KAAK8nD,SAAS,EAC3EjB,GAAgB,SAAC/1D,GAAgC,OAAAA,EAAKiL,WAAaiE,KAAKC,YAAY,EACpF47C,GAAoB,SAAC/qD,GAC9B,OAAA+1D,GAAc/1D,IAAgD,qBAA/BA,EAAqBlT,QAA0BmqE,GAAiBj3D,EAA/F,EACSi3D,GAAmB,SAACt1C,GAC7B,MAA6C,kBAArCA,EAAuB9b,SAA/B,EACS8wD,GAAc,SAAC32D,GAAyC,MAAiB,OAAjBA,EAAK2H,OAAgB,EAC7EivD,GAAc,SAAC52D,GAA4C,MAAiB,OAAjBA,EAAK2H,OAAgB,EAChFkvD,GAAiB,SAAC72D,GAA4C,MAAiB,UAAjBA,EAAK2H,OAAmB,EACtFuvD,GAAgB,SAACl3D,GAA2C,MAAiB,SAAjBA,EAAK2H,OAAkB,EACnF4uD,GAAe,SAACv2D,GAAyC,MAAiB,QAAjBA,EAAK2H,OAAiB,EAC/EovD,GAAgB,SAAC/2D,GAA2C,MAAiB,SAAjBA,EAAK2H,OAAkB,EACnF+uD,GAAkB,SAAC12D,GAA6C,MAAiB,WAAjBA,EAAK2H,OAAoB,EACzFwvD,GAAiB,SAACn3D,GAA4C,MAAiB,UAAjBA,EAAK2H,OAAmB,EACtF8uD,GAAiB,SAACz2D,GAA4C,MAAiB,QAAjBA,EAAK2H,OAAiB,EACpFmvD,GAAkB,SAAC92D,GAA6C,MAAiB,WAAjBA,EAAK2H,OAAoB,EACzFyvD,GAAiB,SAACp3D,GAA4C,MAAiB,UAAjBA,EAAK2H,OAAmB,EACtF0vD,GAAkB,SAACr3D,GAA6C,MAAiB,WAAjBA,EAAK2H,OAAoB,EACzF2uD,GAAoB,SAACt2D,GAA+C,MAAiB,aAAjBA,EAAK2H,OAAsB,EAC/F6uD,GAAkB,SAACx2D,GAA6C,MAAiB,WAAjBA,EAAK2H,OAAoB,EACzFquD,GAAgB,SAACh2D,GAA2C,MAAiB,SAAjBA,EAAK2H,OAAkB,EAEnFlJ,GAAkB,SAACuB,GAAuC,OAAAA,EAAK2H,QAAQx5B,QAAQ,KAAO,CAAC,EClIpGmpF,GAAA,oBAAAA,IACqB,KAAAC,SAAsC,CAAC,C,CAoD5D,OAlDID,EAAAjiE,UAAAmiE,gBAAA,SAAgB5hF,GACZ,IAAM2yE,EAAU5sF,KAAK47F,SAAS3hF,GAE9B,OAAI2yE,GAAWA,EAAQ1rF,OACZ0rF,EAAQA,EAAQ1rF,OAAS,GAE7B,C,EAGXy6F,EAAAjiE,UAAAoiE,iBAAA,SAAiB7hF,GACb,IAAM2yE,EAAU5sF,KAAK47F,SAAS3hF,GAC9B,OAAO2yE,GAAoB,E,EAG/B+O,EAAAjiE,UAAAt4B,IAAA,SAAIw6F,GAAJ,IAAA/D,EAAA,KACI+D,EAASn2F,SAAQ,SAACmnF,GAAY,OAAAiL,EAAK+D,SAAShP,GAASxrF,KAAK,G,EAG9Du6F,EAAAjiE,UAAA6c,MAAA,SAAMplB,GAAN,IAAA0mE,EAAA,KACUpL,EAAmBt7D,EAAMs7D,iBACzBK,EAAe37D,EAAM27D,aACvBiP,GAAW,EAEU,OAArBtP,GACAA,EAAiBhnF,SAAQ,SAACwwD,GACtB,IAAM22B,EAAUiL,EAAK+D,SAAS3lC,EAAM22B,SAChCA,GAA+B,IAApB32B,EAAM42B,YACjBkP,GAAW,EACNnP,EAAQ1rF,QACT0rF,EAAQrsF,KAAK,GAEjBqsF,EAAQ34D,KAAKoV,IAAI,EAAGujD,EAAQ1rF,OAAS,KAAO+0D,EAAM42B,U,IAK9D,IAAMmP,EAAyB,GAY/B,OAXID,GACAjP,EAAarnF,SAAQ,SAACwwD,GAClB,IAAI22B,EAAUiL,EAAK+D,SAAS3lC,EAAM22B,SAClCoP,EAAaz7F,KAAK01D,EAAM22B,SACnBA,IACDA,EAAUiL,EAAK+D,SAAS3lC,EAAM22B,SAAW,IAE7CA,EAAQrsF,KAAK01D,EAAM36C,M,IAIpB0gF,C,EAEfL,CAAA,CArDA,GA4DMM,GAA8B,CAChC9rB,SAAU,CAAC,IAAM,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,EAAG,EAAG,EAAG,GAC9D9qE,OAAQ,CAAC,IAAK,KAAM,IAAK,KAAM,IAAK,KAAM,IAAK,KAAM,IAAK,KAAM,IAAK,KAAM,MAGzE62F,GAA2B,CAC7B/rB,SAAU,CACN,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAC3G,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAEpD9qE,OAAQ,CACJ,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,MAIF82F,GAAyB,CAC3BhsB,SAAU,CACN,IAAO,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAC7G,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAEpD9qE,OAAQ,CACJ,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KACA,KACA,KACA,KACA,KACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,MAIF+2F,GAA2B,CAC7BjsB,SAAU,CACN,IAAO,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAC1G,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAE5D9qE,OAAQ,CACJ,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,MAIFg3F,GAAwB,SAC1Bt5F,EACAmxB,EACAmV,EACAizD,EACAx+E,EACAy+E,GAEA,OAAIx5F,EAAQmxB,GAAOnxB,EAAQsmC,EAChBmzD,GAAkBz5F,EAAO+a,EAAUy+E,EAAOr7F,OAAS,GAI1Do7F,EAAQnsB,SAAS/uD,QAAO,SAACq7E,EAAQC,EAASr8F,GACtC,MAAO0C,GAAS25F,EACZ35F,GAAS25F,EACTD,GAAUH,EAAQj3F,OAAOhF,GAE7B,OAAOo8F,C,GACR,IAAMF,CAEjB,EAEMI,GAAuC,SACzC55F,EACA65F,EACAC,EACAC,GAEA,IAAIL,EAAS,GAEb,GACSI,GACD95F,IAEJ05F,EAASK,EAAS/5F,GAAS05F,EAC3B15F,GAAS65F,QACJ75F,EAAQ65F,GAAwBA,GAEzC,OAAOH,CACX,EAEMM,GAA8B,SAChCh6F,EACAi6F,EACAC,EACAJ,EACAN,GAEA,IAAMK,EAAuBK,EAAoBD,EAAsB,EAEvE,OACKj6F,EAAQ,EAAI,IAAM,KAClB45F,GAAqC1oE,KAAKgnB,IAAIl4C,GAAQ65F,EAAsBC,GAAW,SAACr5B,GACrF,OAAAH,EAAcpvC,KAAKwlC,MAAM+J,EAAYo5B,GAAwBI,E,IAE7DT,EAEZ,EAEMW,GAAgC,SAACn6F,EAAeu5F,EAAiBC,QAAA,IAAAA,IAAAA,EAAA,MACnE,IAAMK,EAAuBN,EAAQp7F,OACrC,OACIy7F,GACI1oE,KAAKgnB,IAAIl4C,GACT65F,GACA,GACA,SAACp5B,GAAc,OAAA84B,EAAQroE,KAAKwlC,MAAM+J,EAAYo5B,GAAsB,IACpEL,CAEZ,EAEMY,GAAY,EACZC,GAAuB,EACvBC,GAA4B,EAC5BC,GAA2B,EAE3BC,GAAmB,SACrBx6F,EACAy6F,EACAC,EACAC,EACAnB,EACA5pB,GAEA,GAAI5vE,GAAS,MAAQA,EAAQ,KACzB,OAAOy5F,GAAkBz5F,EAAO,EAA6Bw5F,EAAOr7F,OAAS,GAEjF,IAAIuwC,EAAMxd,KAAKgnB,IAAIl4C,GACf05F,EAASF,EAEb,GAAY,IAAR9qD,EACA,OAAO+rD,EAAQ,GAAKf,EAGxB,IAAK,IAAI7oB,EAAQ,EAAGniC,EAAM,GAAKmiC,GAAS,EAAGA,IAAS,CAChD,IAAM+pB,EAAclsD,EAAM,GAEN,IAAhBksD,GAAqBlqD,GAASk/B,EAAOwqB,KAAyB,KAAXV,EACnDA,EAASe,EAAQG,GAAelB,EAEhCkB,EAAc,GACG,IAAhBA,GAA+B,IAAV/pB,GACL,IAAhB+pB,GAA+B,IAAV/pB,GAAengC,GAASk/B,EAAOyqB,KACpC,IAAhBO,GAA+B,IAAV/pB,GAAengC,GAASk/B,EAAO0qB,KAA8Bt6F,EAAQ,KAC1E,IAAhB46F,GAAqB/pB,EAAQ,GAAKngC,GAASk/B,EAAO2qB,IAEnDb,EAASe,EAAQG,IAAgB/pB,EAAQ,EAAI6pB,EAAY7pB,EAAQ,GAAK,IAAM6oB,EACrD,IAAhBkB,GAAqB/pB,EAAQ,IACpC6oB,EAASgB,EAAY7pB,EAAQ,GAAK6oB,GAEtChrD,EAAMxd,KAAKwlC,MAAMhoB,EAAM,G,CAG3B,OAAQ1uC,EAAQ,EAAI26F,EAAe,IAAMjB,CAC7C,EAEMmB,GAA+B,OAC/BC,GAA6B,OAC7BC,GAAoB,OACpBC,GAAkB,OAEXvB,GAAoB,SAACz5F,EAAegC,EAAuBi5F,GACpE,IAAMC,EAAgBD,EAAe,KAAO,GACtCE,EAAYF,EAAe,IAAM,GACjCG,EAAeH,EAAe,KAAO,GACrCI,EAAcJ,EAAe,IAAM,GACzC,OAAQj5F,GACJ,KAAK,EACD,MAAO,IAAMq5F,EACjB,KAAK,EACD,MAAO,IAAMA,EACjB,KAAK,EACD,MAAO,IAAMA,EACjB,KAAK,EACD,IAAM3B,EAASM,GAA4Bh6F,EAAO,GAAI,IAAI,EAAMk7F,GAChE,OAAOxB,EAAOv7F,OAAS,EAAI,IAAIu7F,EAAWA,EAC9C,KAAK,EACD,OAAOS,GAA8Bn6F,EAAO,aAAcm7F,GAC9D,KAAK,EACD,OAAO7B,GACHt5F,EACA,EACA,KACAk5F,GAAW,EAEXgC,GACFloF,cACN,KAAK,EACD,OAAOsmF,GAAsBt5F,EAAO,EAAG,KAAMk5F,GAAa,EAAyBgC,GACvF,KAAK,EACD,OAAOlB,GAA4Bh6F,EAAO,IAAK,KAAK,EAAOk7F,GAC/D,KAAK,EACD,OAAOlB,GAA4Bh6F,EAAO,GAAI,KAAK,EAAOk7F,GAC9D,KAAK,GACD,OAAOlB,GAA4Bh6F,EAAO,GAAI,IAAI,EAAOk7F,GAC7D,KAAK,GACD,OAAOlB,GAA4Bh6F,EAAO,KAAM,MAAM,EAAMk7F,GAChE,KAAK,GACL,KAAK,GACD,OAAO5B,GAAsBt5F,EAAO,EAAG,KAAMm5F,GAAU,EAAyB+B,GACpF,KAAK,GACD,OAAO5B,GACHt5F,EACA,EACA,KACAm5F,GAAQ,EAER+B,GACFloF,cACN,KAAK,GACD,OAAOgnF,GAA4Bh6F,EAAO,KAAM,MAAM,EAAMk7F,GAChE,KAAK,GACL,KAAK,GACD,OAAOlB,GAA4Bh6F,EAAO,KAAM,MAAM,EAAMk7F,GAChE,KAAK,GACD,OAAOf,GAA8Bn6F,EAAO,eAAgBm7F,GAChE,KAAK,GACD,OAAOhB,GAA8Bn6F,EAAO,aAAcm7F,GAC9D,KAAK,GACL,KAAK,GACD,OAAOX,GACHx6F,EACA,aACA66F,GACA,IACAM,EACAd,GAAuBC,GAA4BC,IAE3D,KAAK,GACD,OAAOC,GACHx6F,EACA,aACA86F,GACA,IACAK,EACAf,GAAYC,GAAuBC,GAA4BC,IAEvE,KAAK,GACD,OAAOC,GACHx6F,EACA,aACA66F,GACA,IACAM,EACAd,GAAuBC,GAA4BC,IAE3D,KAAK,GACD,OAAOC,GACHx6F,EACA,aACA86F,GACA,IACAK,EACAf,GAAYC,GAAuBC,GAA4BC,IAEvE,KAAK,GACD,OAAOC,GAAiBx6F,EAAO,aAAc,OAAQ+6F,GAAmBI,EAAW,GACvF,KAAK,GACD,OAAOX,GACHx6F,EACA,aACA,OACA+6F,GACAI,EACAf,GAAYC,GAAuBC,IAE3C,KAAK,GACD,OAAOE,GACHx6F,EACA,aACA,OACAg7F,GACAI,EACAhB,GAAYC,GAAuBC,IAE3C,KAAK,GACD,OAAOE,GAAiBx6F,EAAO,aAAc,OAAQg7F,GAAiBI,EAAc,GACxF,KAAK,GACD,OAAOZ,GACHx6F,EACA,aACA,MACAg7F,GACAI,EACAhB,GAAYC,GAAuBC,IAE3C,KAAK,GACD,OAAON,GAA4Bh6F,EAAO,KAAO,MAAO,EAAMk7F,GAClE,KAAK,GACD,OAAO5B,GAAsBt5F,EAAO,EAAG,MAAOq5F,GAAU,EAAyB6B,GACrF,KAAK,GACD,OAAOlB,GAA4Bh6F,EAAO,KAAO,MAAO,EAAMk7F,GAClE,KAAK,GACD,OAAOlB,GAA4Bh6F,EAAO,KAAO,MAAO,EAAMk7F,GAClE,KAAK,GACD,OAAO5B,GAAsBt5F,EAAO,EAAG,MAAOo5F,GAAQ,EAAyB8B,GACnF,KAAK,GACD,OAAOf,GACHn6F,EACA,oDAER,KAAK,GACD,OAAOm6F,GACHn6F,EACA,mDAER,KAAK,GACD,OAAOg6F,GAA4Bh6F,EAAO,KAAO,MAAO,EAAMk7F,GAClE,KAAK,GACD,OAAOf,GACHn6F,EACA,mDACAm7F,GAER,KAAK,GACD,OAAOhB,GACHn6F,EACA,kDACAm7F,GAER,KAAK,GACD,OAAOnB,GAA4Bh6F,EAAO,KAAO,MAAO,EAAMk7F,GAClE,KAAK,GACD,OAAOlB,GAA4Bh6F,EAAO,KAAQ,MAAQ,EAAMk7F,GACpE,KAAK,GACD,OAAOlB,GAA4Bh6F,EAAO,KAAQ,MAAQ,EAAMk7F,GACpE,KAAK,GACD,OAAOlB,GAA4Bh6F,EAAO,KAAO,MAAO,EAAMk7F,GAClE,KAAK,GACD,OAAOlB,GAA4Bh6F,EAAO,KAAO,MAAO,EAAMk7F,GAClE,KAAK,GACD,OAAOlB,GAA4Bh6F,EAAO,KAAO,MAAO,EAAMk7F,GAClE,KAAK,GACD,OAAOlB,GAA4Bh6F,EAAO,KAAO,MAAO,EAAMk7F,GAClE,KAAK,GACD,OAAOlB,GAA4Bh6F,EAAO,KAAO,MAAO,EAAMk7F,GAClE,KAAK,GACD,OAAOlB,GAA4Bh6F,EAAO,KAAO,MAAO,EAAMk7F,GAClE,KAAK,EACL,QACI,OAAOlB,GAA4Bh6F,EAAO,GAAI,IAAI,EAAMk7F,GAEpE,EdjdMI,GAAmB,0BAEzBC,GAAA,WAQI,SAAAA,EACqB/3E,EACjBy/B,EACiBpwC,GAMjB,GARiB,KAAA2Q,QAAAA,EAEA,KAAA3Q,QAAAA,EAEjB5V,KAAKu+F,iBAAmB,GACxBv+F,KAAKw+F,iBAAmBx4C,EACxBhmD,KAAK47F,SAAW,IAAID,GACpB37F,KAAKy+F,WAAa,GACbz4C,EAAQjE,cACT,MAAM,IAAI5K,MAAM,kDAGpBn3C,KAAK4zC,gBAAkB5zC,KAAK8kC,UAAUkhB,EAAQjE,cAAcnO,iBAAiB,E,CAmarF,OAhaI0qD,EAAA5kE,UAAAglE,SAAA,SAAS38C,EAAyB48C,GAAlC,IAAA9G,EAAA,KACU4B,EAA4BmF,GAAsB78C,EAAe48C,GAEvE,IAAKlF,EAAOC,cACR,OAAOzoF,QAAQwwD,OAAO,gCAG1B,IAAMo9B,EAAW98C,EAAcC,YAAuB0F,YAChDo3C,EAAW/8C,EAAcC,YAAuB4F,YAEhDm3C,EAActF,EAAOC,cACrBsF,EAA0BD,EAAYp7D,SAMtCs7D,EAAaC,GAAazF,GAAQnoF,MAAK,kBAAA+vD,EAAAw2B,OAAA,qB,0DAsBzC,OArBA73F,KAAKu+F,iBAAiB94F,QAAQ05F,IAC1BJ,IACAA,EAAY9iC,SAAS0iC,EAAWxvD,KAAMwvD,EAAWtvD,MAE7C,sBAAsBpV,KAAKkhB,UAAUsI,YACpCs7C,EAAYD,UAAYH,EAAWtvD,KAAO0vD,EAAYF,UAAYF,EAAWxvD,OAE9EnvC,KAAKumB,QAAQ64E,OAAOC,KAAK,yDACzBr/F,KAAKumB,QAAQm8C,aAAe1iE,KAAKumB,QAAQm8C,aAAa/4D,IAClDo1F,EAAYF,QAAUF,EAAWxvD,KACjC4vD,EAAYD,QAAUH,EAAWtvD,IACjC,EACA,KAKNiwD,EAAUt/F,KAAK4V,QAAQ0pF,QAEvBd,EAAmBx+F,KAAKu/F,uBAEE,qBAArBf,EACA,CAAP,EAAOvtF,QAAQwwD,OAAO,qBAAqBzhE,KAAKw+F,iBAAiB38C,SAAQ,4BAGzEm9C,EAAcQ,OAASR,EAAcQ,MAAMC,MAC3C,GAAMT,EAAcQ,MAAMC,OAD1B,M,OACArxF,EAAA2zD,O,uBAGA,iBAAiB9nC,KAAKkhB,UAAUsI,WAChC,GAAMi8C,GAAYV,IADlB,M,OACA5wF,EAAA2zD,O,iBAGJ,MAAuB,oBAAZu9B,EACA,CAAP,EAAOruF,QAAQC,UACVI,MAAK,WAAM,OAAAguF,EAAQN,EAAeR,EAAiB,IACnDltF,MAAK,WAAM,OAAAmoF,CAAM,KAGnB,CAAP,EAAOA,G,UAUX,OAPAuF,EAAc7R,OACd6R,EAAc9sB,MAASytB,GAAiBh8D,SAASi8D,SAAQ,iBAEzDC,GAAmB7/F,KAAKw+F,iBAAiBz8C,cAAe88C,EAASC,GACjEE,EAAclI,aAAakI,EAAcc,UAAU9/F,KAAK4zC,iBAAkBorD,EAAcprD,iBACxForD,EAAc7lD,QAEP8lD,C,EAGXX,EAAA5kE,UAAAqmE,mBAAA,SAAuD17D,GAInD,GAHI2qD,GAAY3qD,EAAM,GAGlB02D,GAAgB12D,GAChB,OAAOrkC,KAAKggG,kBAAkB37D,GAElC,GAAIm3D,GAAen3D,GACf,OAAOrkC,KAAKigG,iBAAiB57D,GAEjC,GAAIo3D,GAAep3D,GACf,OAAOrkC,KAAKkgG,iBAAiB77D,GAGjC,IAAMvG,EAAQuG,EAAKS,WAAU,GAY7B,OAXIg2D,GAAeh9D,KACXg9D,GAAez2D,IAASA,EAAKyzD,YAAczzD,EAAKyzD,aAAezzD,EAAK8vD,MACpEr2D,EAAMq2D,IAAM9vD,EAAKyzD,WACjBh6D,EAAMqiE,OAAS,IAGG,SAAlBriE,EAAMsiE,UACNtiE,EAAMsiE,QAAU,UAIpBt9D,GAAgBhF,GACT99B,KAAKqgG,yBAAyBviE,GAGlCA,C,EAGXwgE,EAAA5kE,UAAA2mE,yBAAA,SAAyBh8D,GACrB,IAAMvG,EAAQ6F,SAASvW,cAAc,4BAGrC,OAFAkzE,GAAcj8D,EAAKlT,MAAO2M,GAEnBA,C,EAGXwgE,EAAA5kE,UAAAwmE,iBAAA,SAAiB77D,GACb,IACI,IAAMk8D,EAAQl8D,EAAKk8D,MACnB,GAAIA,GAASA,EAAMC,SAAU,CACzB,IAAM/6D,EAAc,GAAG1xB,MAAMrK,KAAK62F,EAAMC,SAAU,GAAGp/E,QAAO,SAACqkB,EAAag7D,GACtE,OAAIA,GAAgC,kBAAjBA,EAAKz1D,QACbvF,EAAMg7D,EAAKz1D,QAEfvF,C,GACR,IACGtU,EAAQkT,EAAKS,WAAU,GAE7B,OADA3T,EAAMoT,YAAckB,EACbtU,C,EAEb,MAAOqR,IAGL,GADAxiC,KAAKumB,QAAQ64E,OAAO5uF,MAAM,qCAAsCgyB,IACjD,kBAAXA,GAAEvoB,KACF,MAAMuoB,E,CAGd,OAAO6B,EAAKS,WAAU,E,EAG1Bw5D,EAAA5kE,UAAAsmE,kBAAA,SAAkB/L,G,MACd,GAAIj0F,KAAK4V,QAAQ8qF,cAAgBzM,EAAOlyC,cAAe,CACnD,IAAM+S,EAAMm/B,EAAOlyC,cAAc30B,cAAc,OAC/C,IAEI,OADA0nC,EAAIq/B,IAAMF,EAAOI,YACVv/B,C,CACT,MAAOtyB,IACLxiC,KAAKumB,QAAQ64E,OAAOuB,KAAK,sDAAuD1M,E,EAIxF,IAAM2M,EAAe3M,EAAOnvD,WAAU,GAEtC,IACI87D,EAAa/8C,MAAQowC,EAAOpwC,MAC5B+8C,EAAa98C,OAASmwC,EAAOnwC,OAC7B,IAAMxtC,EAAM29E,EAAOC,WAAW,MACxB2M,EAAYD,EAAa1M,WAAW,MAC1C,GAAI2M,EACA,IAAK7gG,KAAK4V,QAAQkrF,YAAcxqF,EAC5BuqF,EAAUE,aAAazqF,EAAIw+E,aAAa,EAAG,EAAGb,EAAOpwC,MAAOowC,EAAOnwC,QAAS,EAAG,OAC5E,CACH,IAAMk9C,EAAgC,QAA3B5yF,EAAA6lF,EAAOC,WAAW,iBAAS,IAAA9lF,EAAAA,EAAI6lF,EAAOC,WAAW,SAC5D,GAAI8M,EAAI,CACJ,IAAMC,EAAUD,EAAGE,wBACoB,KAA5B,OAAPD,QAAO,IAAPA,OAAO,EAAPA,EAASE,wBACTnhG,KAAKumB,QAAQ64E,OAAOC,KAChB,sEACApL,E,CAKZ4M,EAAUzM,UAAUH,EAAQ,EAAG,E,CAGvC,OAAO2M,C,CACT,MAAOp+D,IACLxiC,KAAKumB,QAAQ64E,OAAOuB,KAAK,0CAA2C1M,E,CAGxE,OAAO2M,C,EAGXtC,EAAA5kE,UAAAumE,iBAAA,SAAiBmB,GACb,IAAMnN,EAASmN,EAAMr/C,cAAc30B,cAAc,UAEjD6mE,EAAOpwC,MAAQu9C,EAAMx9C,YACrBqwC,EAAOnwC,OAASs9C,EAAMx3D,aACtB,IAAMtzB,EAAM29E,EAAOC,WAAW,MAE9B,IAOI,OANI59E,IACAA,EAAI89E,UAAUgN,EAAO,EAAG,EAAGnN,EAAOpwC,MAAOowC,EAAOnwC,QAC3C9jD,KAAK4V,QAAQkrF,YACdxqF,EAAIw+E,aAAa,EAAG,EAAGb,EAAOpwC,MAAOowC,EAAOnwC,SAG7CmwC,C,CACT,MAAOzxD,IACLxiC,KAAKumB,QAAQ64E,OAAOuB,KAAK,yCAA0CS,E,CAGvE,IAAMC,EAAcD,EAAMr/C,cAAc30B,cAAc,UAItD,OAFAi0E,EAAYx9C,MAAQu9C,EAAMx9C,YAC1By9C,EAAYv9C,OAASs9C,EAAMx3D,aACpBy3D,C,EAGX/C,EAAA5kE,UAAA4nE,gBAAA,SAAgBxjE,EAAiClf,EAAa2iF,GAErDnH,GAAcx7E,KACb88E,GAAgB98E,IACbA,EAAM+0B,aAAa0qD,KACoB,oBAAhCr+F,KAAK4V,QAAQ4rF,gBAAkCxhG,KAAK4V,QAAQ4rF,eAAe5iF,KAElF5e,KAAK4V,QAAQ2rF,YAAenH,GAAcx7E,IAAW68E,GAAe78E,IACrEkf,EAAMoH,YAAYllC,KAAK8kC,UAAUlmB,EAAO2iF,G,EAKpDjD,EAAA5kE,UAAA+nE,gBAAA,SAAgBp9D,EAAevG,EAAiCyjE,GAC5D,IADJ,IAAA1J,EAAA,KAEYj5E,EAAQylB,EAAKq2D,WAAar2D,EAAKq2D,WAAWz1D,WAAaZ,EAAKY,WAChErmB,EACAA,EAAQA,EAAMoP,YAEd,GAAIosE,GAAcx7E,IAAUy7E,GAAcz7E,IAAyC,oBAAxBA,EAAM07E,cAA8B,CAC3F,IAAMA,EAAgB17E,EAAM07E,gBACxBA,EAAcp5F,QACdo5F,EAAc70F,SAAQ,SAACi8F,GAAiB,OAAA7J,EAAKyJ,gBAAgBxjE,EAAO4jE,EAAcH,EAAW,G,MAGjGvhG,KAAKshG,gBAAgBxjE,EAAOlf,EAAO2iF,E,EAK/CjD,EAAA5kE,UAAAoL,UAAA,SAAUT,EAAYk9D,GAClB,GAAIpH,GAAW91D,GACX,OAAOV,SAASS,eAAeC,EAAK/sB,MAGxC,IAAK+sB,EAAK0d,cACN,OAAO1d,EAAKS,WAAU,GAG1B,IAAM6D,EAAStE,EAAK0d,cAAcC,YAElC,GAAIrZ,GAAUyxD,GAAc/1D,KAAU+qD,GAAkB/qD,IAASi3D,GAAiBj3D,IAAQ,CACtF,IAAMvG,EAAQ99B,KAAK+/F,mBAAmB17D,GACtCvG,EAAM3M,MAAMwwE,mBAAqB,OAEjC,IAAMxwE,EAAQwX,EAAOC,iBAAiBvE,GAChCu9D,EAAcj5D,EAAOC,iBAAiBvE,EAAM,WAC5Cw9D,EAAal5D,EAAOC,iBAAiBvE,EAAM,UAE7CrkC,KAAKw+F,mBAAqBn6D,GAAQ+qD,GAAkBtxD,KACpD99B,KAAKu/F,uBAAyBzhE,GAE9Bs9D,GAAct9D,IACdgkE,GAAuBhkE,GAG3B,IAAM89D,EAAW57F,KAAK47F,SAASrlD,MAAM,IAAIk4C,GAA4BzuF,KAAKumB,QAAS4K,IAC7EwT,EAAS3kC,KAAK+hG,qBAAqB19D,EAAMvG,EAAO8jE,EAAa5Q,GAAkBgR,QAEjFl/D,GAAgBuB,KAChBk9D,GAAa,GAGZ/F,GAAen3D,IAChBrkC,KAAKyhG,gBAAgBp9D,EAAMvG,EAAOyjE,GAGlC58D,GACA7G,EAAMgG,aAAaa,EAAQ7G,EAAMmH,YAGrC,IAAMg9D,EAAQjiG,KAAK+hG,qBAAqB19D,EAAMvG,EAAO+jE,EAAY7Q,GAAkBkR,OAyBnF,OAxBID,GACAnkE,EAAMoH,YAAY+8D,GAGtBjiG,KAAK47F,SAASx6F,IAAIw6F,IAGbzqE,IAAUnxB,KAAK4V,QAAQ2rF,YAAcjG,GAAiBj3D,MAAW82D,GAAgB92D,IAClFk9D,IAEAjB,GAAcnvE,EAAO2M,GAGF,IAAnBuG,EAAKsjB,WAAuC,IAApBtjB,EAAKojB,YAC7BznD,KAAKu+F,iBAAiBh+F,KAAK,CAACu9B,EAAOuG,EAAKojB,WAAYpjB,EAAKsjB,aAIxDgzC,GAAkBt2D,IAASw2D,GAAgBx2D,MAC3Cs2D,GAAkB78D,IAAU+8D,GAAgB/8D,MAE7CA,EAAM/6B,MAAQshC,EAAKthC,OAGhB+6B,C,CAGX,OAAOuG,EAAKS,WAAU,E,EAG1Bw5D,EAAA5kE,UAAAqoE,qBAAA,SACI19D,EACAvG,EACA3M,EACAgxE,GAJJ,IAAAtK,EAAA,KAMI,GAAK1mE,EAAL,CAIA,IAAMpuB,EAAQouB,EAAMuT,QACdf,EAAW7F,EAAMikB,cACvB,GAAKpe,GAAa5gC,GAAmB,SAAVA,GAA8B,qBAAVA,GAAkD,SAAlBouB,EAAMmZ,QAArF,CAIAtqC,KAAK47F,SAASrlD,MAAM,IAAIk4C,GAA4BzuF,KAAKumB,QAAS4K,IAClE,IAAM28D,EAAc,IAAIU,GAA2BxuF,KAAKumB,QAAS4K,GAE3DixE,EAA2Bz+D,EAASvW,cAAc,4BACxDkzE,GAAcnvE,EAAOixE,GAErBtU,EAAYppD,QAAQj/B,SAAQ,SAAC6sE,GACzB,GAAmB,IAAfA,EAAMvtE,KACNq9F,EAAyBl9D,YAAYvB,EAASS,eAAekuC,EAAMvvE,aAChE,GAAmB,KAAfuvE,EAAMvtE,KAA8B,CAC3C,IAAM+vD,EAAMnxB,EAASvW,cAAc,OACnC0nC,EAAIq/B,IAAM7hB,EAAMvvE,MAChB+xD,EAAI3jC,MAAM46D,QAAU,IACpBqW,EAAyBl9D,YAAY4vB,E,MAClC,GAAmB,KAAfwd,EAAMvtE,MACb,GAAmB,SAAfutE,EAAMr4D,KAAiB,CACvB,IAAMooF,EAAO/vB,EAAMjtE,OAAOe,OAAOyvE,IAC7BwsB,EAAKnhG,QACLkhG,EAAyBl9D,YACrBvB,EAASS,eAAeC,EAAK4H,aAAao2D,EAAK,GAAGt/F,QAAU,I,MAGjE,GAAmB,YAAfuvE,EAAMr4D,KAAoB,CAC3B,IAAA7L,EAA0BkkE,EAAMjtE,OAAOe,OAAO6vE,IAA7C2W,EAAOx+E,EAAA,GAAEk0F,EAAYl0F,EAAA,GAC5B,GAAIw+E,GAAW/W,GAAa+W,GAAU,CAClC,IAAM2V,EAAe1K,EAAK+D,SAASC,gBAAgBjP,EAAQ7pF,OACrDy/F,EACFF,GAAgBzsB,GAAaysB,GACvB3Y,GAAcpzC,MAAMshD,EAAKtxE,QAAS+7E,EAAav/F,OAAM,EAG/Dq/F,EAAyBl9D,YACrBvB,EAASS,eAAeo4D,GAAkB+F,EAAcC,GAAa,I,OAG1E,GAAmB,aAAflwB,EAAMr4D,KAAqB,CAC5B,IAAAs+D,EAAiCjG,EAAMjtE,OAAOe,OAAO6vE,IAA3CwsB,GAAT7V,EAAOrU,EAAA,GAAOA,EAAA,IAAE+pB,EAAY/pB,EAAA,GACnC,GAAIqU,GAAW/W,GAAa+W,GAAU,CAClC,IAAM8V,EAAgB7K,EAAK+D,SAASE,iBAAiBlP,EAAQ7pF,OACvD4/F,EACFL,GAAgBzsB,GAAaysB,GACvB3Y,GAAcpzC,MAAMshD,EAAKtxE,QAAS+7E,EAAav/F,OAAM,EAEzD6/F,EAAYH,GAAwB,IAAfA,EAAM19F,KAAkC09F,EAAM1/F,MAAQ,GAC3E09B,EAAOiiE,EACRr8F,KAAI,SAACtD,GAAU,OAAAy5F,GAAkBz5F,EAAO4/F,GAAa,EAAM,IAC3D34D,KAAK44D,GAEVR,EAAyBl9D,YAAYvB,EAASS,eAAe3D,G,QAKlE,GAAmB,KAAf6xC,EAAMvtE,KACb,OAAQutE,EAAMvvE,OACV,IAAK,aACDq/F,EAAyBl9D,YACrBvB,EAASS,eAAegpD,GAASU,EAAYd,OAAQ6K,EAAK4G,cAAc,KAE5E,MACJ,IAAK,cACD2D,EAAyBl9D,YACrBvB,EAASS,eAAegpD,GAASU,EAAYd,SAAU6K,EAAK4G,YAAY,KAE5E,MACJ,QAEI2D,EAAyBl9D,YAAYvB,EAASS,eAAekuC,EAAMvvE,Q,IAKnFq/F,EAAyBl4D,UAAe24D,GAAgC,IAAIC,GAC5E,IAAMC,EACFZ,IAAcnR,GAAkBgR,OAC1B,IAAIa,GACJ,IAAIC,GAQd,OANIxH,GAAiBx9D,GACjBA,EAAMoM,UAAU84D,WAAaD,EAE7BjlE,EAAMoM,WAAa64D,EAGhBX,C,IAGJ9D,EAAArzC,QAAP,SAAex8B,GACX,QAAIA,EAAUX,aACVW,EAAUX,WAAWiW,YAAYtV,IAC1B,E,EAInB6vE,CAAA,CAxbA,IA0bA,SAAKtN,GACDA,EAAAA,EAAA,sBACAA,EAAAA,EAAA,mBACH,EAHD,CAAKA,KAAAA,GAAiB,KAKtB,Ie9KKiS,Gf8KCrE,GAAwB,SAAC78C,EAAyBstC,GACpD,IAAM6T,EAAuBnhD,EAAc30B,cAAc,UAczD,OAZA81E,EAAqBh5D,UAAY,wBACjCg5D,EAAqB/xE,MAAMq6D,WAAa,SACxC0X,EAAqB/xE,MAAMuxB,SAAW,QACtCwgD,EAAqB/xE,MAAMge,KAAO,WAClC+zD,EAAqB/xE,MAAMke,IAAM,MACjC6zD,EAAqB/xE,MAAMgyE,OAAS,IACpCD,EAAqBr/C,MAAQwrC,EAAOxrC,MAAMta,WAC1C25D,EAAqBp/C,OAASurC,EAAOvrC,OAAOva,WAC5C25D,EAAqBE,UAAY,KACjCF,EAAqB/+D,aAAak6D,GAAkB,QACpDt8C,EAAcpY,KAAKzE,YAAYg+D,GAExBA,CACX,EAEMG,GAAa,SAACvuC,GAChB,OAAO,IAAI7jD,SAAQ,SAACC,GACZ4jD,EAAIwuC,SACJpyF,IAGC4jD,EAAIq/B,KAITr/B,EAAImgC,OAAS/jF,EACb4jD,EAAIogC,QAAUhkF,GAJVA,G,GAMZ,EAEMwuF,GAAc,SAAC/7D,GACjB,OAAO1yB,QAAQsyF,IAAI,GAAGxvF,MAAMrK,KAAKi6B,EAAS6/D,OAAQ,GAAGn9F,IAAIg9F,IAC7D,EAEMnE,GAAe,SAACzF,GAClB,OAAO,IAAIxoF,SAAQ,SAACC,EAASuwD,GACzB,IAAMs9B,EAActF,EAAOC,cAE3B,IAAKqF,EACD,OAAOt9B,EAAO,iCAGlB,IAAMu9B,EAAgBD,EAAYp7D,SAElCo7D,EAAY9J,OAASwE,EAAOxE,OAAS,WACjC8J,EAAY9J,OAASwE,EAAOxE,OAAS,KACrC,IAAMt4C,EAAWoB,aAAY,WACrBihD,EAAcr1D,KAAK85D,WAAWviG,OAAS,GAAkC,aAA7B89F,EAAc3qD,aAC1DwK,cAAclC,GACdzrC,EAAQuoF,G,GAEb,G,IAGf,EAEMiK,GAAyB,CAC3B,MACA,IACA,WAGSpD,GAAgB,SAAqCnvE,EAA4BrsB,GAE1F,IAAK,IAAI9D,EAAImwB,EAAMjwB,OAAS,EAAGF,GAAK,EAAGA,IAAK,CACxC,IAAM2iG,EAAWxyE,EAAMzT,KAAK1c,IACsB,IAA9C0iG,GAAuBlxF,QAAQmxF,IAC/B7+F,EAAOqsB,MAAM+Z,YAAYy4D,EAAUxyE,EAAMkiB,iBAAiBswD,G,CAGlE,OAAO7+F,CACX,EAEM66F,GAAmB,SAACC,GACtB,IAAI9vD,EAAM,GAsBV,OArBI8vD,IACA9vD,GAAO,aACH8vD,EAAQ3lF,OACR61B,GAAO8vD,EAAQ3lF,MAGf2lF,EAAQgE,iBACR9zD,GAAO8vD,EAAQgE,gBAGfhE,EAAQiE,WACR/zD,GAAO,IAAI8vD,EAAQiE,SAAQ,KAG3BjE,EAAQkE,WACRh0D,GAAO,IAAI8vD,EAAQkE,SAAQ,KAG/Bh0D,GAAO,KAGJA,CACX,EAEM+vD,GAAqB,SAAC99C,EAAgC9M,EAAWV,GAE/DwN,GACAA,EAAcC,cACb/M,IAAM8M,EAAcC,YAAY0F,aAAenT,IAAMwN,EAAcC,YAAY4F,cAEhF7F,EAAcC,YAAYia,SAAShnB,EAAGV,EAE9C,EAEM4qD,GAAoB,SAAC/wF,G,IAAC43C,EAAO53C,EAAA,GAAE6mC,EAAC7mC,EAAA,GAAEmmC,EAACnmC,EAAA,GACrC43C,EAAQyB,WAAaxS,EACrB+Q,EAAQ2B,UAAYpT,CACxB,EAEMwvD,GAAgB,UAChBC,GAAe,SACfnB,GAAmC,wCACnCC,GAAkC,uCAElCmB,GAA4B,mEAK5BnC,GAAyB,SAACn4D,GAC5Bu6D,GACIv6D,EACA,IAAIk5D,GAAmCkB,GAAgBE,GAAyB,eAC5EnB,GAAkCkB,GAAeC,GAE7D,EAEMC,GAAe,SAACv6D,EAAmBjB,GACrC,IAAM/E,EAAWgG,EAAKoY,cACtB,GAAIpe,EAAU,CACV,IAAMxS,EAAQwS,EAASvW,cAAc,SACrC+D,EAAMoT,YAAcmE,EACpBiB,EAAKzE,YAAY/T,E,CAEzB,EgBznBAgzE,GAAA,oBAAAA,IAAA,CAuBA,OAnBWA,EAAAC,UAAP,SAAiBxd,GACb,IAAMyd,EAAOF,EAAaG,MAC1B,OAAKD,GAILA,EAAKE,KAAO3d,EACZyd,EAAKE,KAAOF,EAAKE,KACVF,EAAKG,SAAWH,EAAKI,SAAWJ,EAAKK,MALjC,a,EAQRP,EAAAQ,aAAP,SAAoBxQ,GAChB,OAAOgQ,EAAaC,UAAUjQ,KAASgQ,EAAaS,O,EAGjDT,EAAAU,WAAP,SAAkBl8D,GACdw7D,EAAaG,MAAQ37D,EAAOhF,SAASvW,cAAc,KACnD+2E,EAAaS,QAAUT,EAAaC,UAAUz7D,EAAOm8D,SAASP,K,EAnBnDJ,EAAAS,QAAU,cAqB7BT,C,CAvBA,GAgCAY,GAAA,WAII,SAAAA,EAA6Bx+E,EAAmCy+E,GAAnC,KAAAz+E,QAAAA,EAAmC,KAAAy+E,SAAAA,EAF/C,KAAAC,OAAwC,CAAC,C,CAgI9D,OA5HIF,EAAArrE,UAAAmtD,SAAA,SAASsN,GACL,IAAMzrF,EAASuI,QAAQC,UACvB,OAAIlR,KAAK+H,IAAIosF,GACFzrF,EAGPw8F,GAAY/Q,IAAQgR,GAAahR,KAChCn0F,KAAKilG,OAAO9Q,GAAOn0F,KAAKolG,UAAUjR,IAAM1kF,OAAM,W,IAGxC/G,GAGJA,C,EAIXq8F,EAAArrE,UAAAmT,MAAA,SAAMsnD,GACF,OAAOn0F,KAAKilG,OAAO9Q,E,EAGT4Q,EAAArrE,UAAA0rE,UAAd,SAAwBpgG,G,6GAWpB,OAVM2/F,EAAeR,GAAaQ,aAAa3/F,GACzCqgG,GACDC,GAActgG,KAAkC,IAA1BhF,KAAKglG,SAASK,SAAoB/P,GAASM,sBAAwB+O,EACxFY,GACDD,GAActgG,KACd2/F,IACAO,GAAYlgG,IACkB,kBAAxBhF,KAAKglG,SAASt4F,OACrB4oF,GAASQ,mBACRuP,EAEAV,IAC4B,IAA7B3kG,KAAKglG,SAASlE,YACbwE,GAActgG,IACdkgG,GAAYlgG,IACZugG,GACAF,GAKDlR,EAAMnvF,EACNugG,EACM,GAAMvlG,KAAK0M,MAAMynF,IADvB,OAJA,I,OAKAA,EAAM/lF,EAAA2zD,O,iBAKH,OAFP/hE,KAAKumB,QAAQ64E,OAAOoG,MAAM,eAAexgG,EAAI0yE,UAAU,EAAG,MAEnD,GAAM,IAAIzmE,SAAQ,SAACC,EAASuwD,GAC/B,IAAM3M,EAAM,IAAI6+B,MAChB7+B,EAAImgC,OAAS,WAAM,OAAA/jF,EAAQ4jD,EAAI,EAC/BA,EAAIogC,QAAUzzB,GAEVgkC,GAAoBtR,IAAQkR,KAC5BvwC,EAAI8+B,YAAc,aAEtB9+B,EAAIq/B,IAAMA,GACW,IAAjBr/B,EAAIwuC,UAEJr7D,YAAW,WAAM,OAAA/2B,EAAQ4jD,EAAI,GAAE,KAE/B+iC,EAAKmN,SAASU,aAAe,GAC7Bz9D,YACI,WAAM,OAAAw5B,EAAO,cAAco2B,EAAKmN,SAASU,aAAY,oBAAoB,GACzE7N,EAAKmN,SAASU,a,YAhB1B,MAAO,CAAP,EAAOt3F,EAAA2zD,Q,QAsBHgjC,EAAArrE,UAAA3xB,IAAR,SAAY/C,GACR,MAAmC,qBAArBhF,KAAKilG,OAAOjgG,E,EAG9B+/F,EAAArrE,UAAAv1B,KAAA,WACI,OAAO8M,QAAQC,QAAQhL,OAAO/B,KAAKnE,KAAKilG,Q,EAGpCF,EAAArrE,UAAAhtB,MAAR,SAAcynF,GAAd,IAAA0D,EAAA,KACUnrF,EAAQ1M,KAAKglG,SAASt4F,MAE5B,IAAKA,EACD,MAAM,IAAIyqC,MAAM,oBAGpB,IAAMnyC,EAAMmvF,EAAIzc,UAAU,EAAG,KAE7B,OAAO,IAAIzmE,SAAQ,SAACC,EAASuwD,GACzB,IAAMsyB,EAAeuB,GAASO,sBAAwB,OAAS,OACzD8P,EAAM,IAAI7R,eAChB6R,EAAI1Q,OAAS,WACT,GAAmB,MAAf0Q,EAAIC,OACJ,GAAqB,SAAjB7R,EACA7iF,EAAQy0F,EAAIE,cACT,CACH,IAAMC,EAAS,IAAIC,WACnBD,EAAOr9D,iBAAiB,QAAQ,WAAM,OAAAv3B,EAAQ40F,EAAOp9F,OAAiB,IAAE,GACxEo9F,EAAOr9D,iBAAiB,SAAS,SAACjG,GAAM,OAAAi/B,EAAOj/B,EAAE,IAAE,GACnDsjE,EAAOE,cAAcL,EAAIE,S,MAG7BpkC,EAAO,4BAA4Bz8D,EAAG,qBAAqB2gG,EAAIC,O,EAIvED,EAAIzQ,QAAUzzB,EACd,IAAMwkC,EAAcv5F,EAAM8F,QAAQ,MAAQ,EAAI,IAAM,IAOpD,GANAmzF,EAAIxY,KAAK,MAAO,GAAGzgF,EAAQu5F,EAAW,OAAO9Q,mBAAmBhB,GAAI,iBAAiBJ,GAEhE,SAAjBA,GAA2B4R,aAAe7R,iBAC1C6R,EAAI5R,aAAeA,GAGnB8D,EAAKmN,SAASU,aAAc,CAC5B,IAAMQ,EAAUrO,EAAKmN,SAASU,aAC9BC,EAAIz9D,QAAUg+D,EACdP,EAAIQ,UAAY,WAAM,OAAA1kC,EAAO,cAAcykC,EAAO,gBAAgBlhG,EAAM,C,CAG5E2gG,EAAIS,M,KAGhBrB,CAAA,CAlIA,GAoIMsB,GAAa,yBACbC,GAAgB,2BAChBC,GAAa,mBAEbpB,GAAe,SAAChR,GAAyB,OAAAmB,GAASG,sBAAwB3rD,GAAMqqD,EAAI,EACpFmR,GAAgB,SAACnR,GAAyB,OAAAoS,GAAWtsE,KAAKk6D,EAAI,EAC9DsR,GAAsB,SAACtR,GAAyB,OAAAmS,GAAcrsE,KAAKk6D,EAAI,EACvE+Q,GAAc,SAAC/Q,GAAyB,MAAqB,SAArBA,EAAIqS,OAAO,EAAG,EAAa,EAEnE18D,GAAQ,SAACqqD,GAAyB,MAAiC,QAAjCA,EAAIqS,QAAQ,GAAGzwF,eAA2BswF,GAAWpsE,KAAKk6D,EAAI,EC9KtGsS,GAAA,WAKI,SAAAA,EAAYxxD,EAAWV,GACnBv0C,KAAK+E,KAAO,EACZ/E,KAAKi1C,EAAIA,EACTj1C,KAAKu0C,EAAIA,C,CAMjB,OAHIkyD,EAAA/sE,UAAA/vB,IAAA,SAAI+8F,EAAgBC,GAChB,OAAO,IAAIF,EAAOzmG,KAAKi1C,EAAIyxD,EAAQ1mG,KAAKu0C,EAAIoyD,E,EAEpDF,CAAA,CAdA,GCCMG,GAAO,SAAC3zF,EAAWC,EAAW0X,GAChC,OAAO,IAAI67E,GAAOxzF,EAAEgiC,GAAK/hC,EAAE+hC,EAAIhiC,EAAEgiC,GAAKrqB,EAAG3X,EAAEshC,GAAKrhC,EAAEqhC,EAAIthC,EAAEshC,GAAK3pB,EACjE,EAEAi8E,GAAA,WAOI,SAAAA,EAAYn1F,EAAeo1F,EAAsBC,EAAoBp1F,GACjE3R,KAAK+E,KAAO,EACZ/E,KAAK0R,MAAQA,EACb1R,KAAK8mG,aAAeA,EACpB9mG,KAAK+mG,WAAaA,EAClB/mG,KAAK2R,IAAMA,C,CAyBnB,OAtBIk1F,EAAAntE,UAAAstE,UAAA,SAAUp8E,EAAWq8E,GACjB,IAAMC,EAAKN,GAAK5mG,KAAK0R,MAAO1R,KAAK8mG,aAAcl8E,GACzC0W,EAAKslE,GAAK5mG,KAAK8mG,aAAc9mG,KAAK+mG,WAAYn8E,GAC9Cu8E,EAAKP,GAAK5mG,KAAK+mG,WAAY/mG,KAAK2R,IAAKiZ,GACrCw8E,EAAOR,GAAKM,EAAI5lE,EAAI1W,GACpBy8E,EAAOT,GAAKtlE,EAAI6lE,EAAIv8E,GACpB08E,EAAOV,GAAKQ,EAAMC,EAAMz8E,GAC9B,OAAOq8E,EAAY,IAAIJ,EAAY7mG,KAAK0R,MAAOw1F,EAAIE,EAAME,GAAQ,IAAIT,EAAYS,EAAMD,EAAMF,EAAInnG,KAAK2R,I,EAG1Gk1F,EAAAntE,UAAA/vB,IAAA,SAAI+8F,EAAgBC,GAChB,OAAO,IAAIE,EACP7mG,KAAK0R,MAAM/H,IAAI+8F,EAAQC,GACvB3mG,KAAK8mG,aAAan9F,IAAI+8F,EAAQC,GAC9B3mG,KAAK+mG,WAAWp9F,IAAI+8F,EAAQC,GAC5B3mG,KAAK2R,IAAIhI,IAAI+8F,EAAQC,G,EAI7BE,EAAAntE,UAAA6tE,QAAA,WACI,OAAO,IAAIV,EAAY7mG,KAAK2R,IAAK3R,KAAK+mG,WAAY/mG,KAAK8mG,aAAc9mG,KAAK0R,M,EAElFm1F,CAAA,CArCA,GAuCaW,GAAgB,SAACruE,GAAoC,OAAc,IAAdA,EAAKp0B,IAAI,EHxC3E0iG,GAAA,WA0BI,SAAAA,EAAYzhD,GACR,IAAMtd,EAASsd,EAAQtd,OACjB2mD,EAASrpC,EAAQqpC,OAEnBjhF,EAAaqoE,GAAyB/tC,EAAOu/C,oBAAqBoH,EAAOxrC,MAAOwrC,EAAOvrC,QAAtF4jD,EAAGt5F,EAAA,GAAEu5F,EAAGv5F,EAAA,GACTmqE,EAAa9B,GAAyB/tC,EAAOw/C,qBAAsBmH,EAAOxrC,MAAOwrC,EAAOvrC,QAAvF8jD,EAAGrvB,EAAA,GAAEsvB,EAAGtvB,EAAA,GACT1hE,EAAa4/D,GAAyB/tC,EAAOy/C,wBAAyBkH,EAAOxrC,MAAOwrC,EAAOvrC,QAA1FgkD,EAAGjxF,EAAA,GAAEkxF,EAAGlxF,EAAA,GACTH,EAAa+/D,GAAyB/tC,EAAO0/C,uBAAwBiH,EAAOxrC,MAAOwrC,EAAOvrC,QAAzFkkD,EAAGtxF,EAAA,GAAEuxF,EAAGvxF,EAAA,GAEPwxF,EAAU,GAChBA,EAAQ3nG,MAAMmnG,EAAME,GAAOvY,EAAOxrC,OAClCqkD,EAAQ3nG,MAAMynG,EAAMF,GAAOzY,EAAOxrC,OAClCqkD,EAAQ3nG,MAAMonG,EAAMM,GAAO5Y,EAAOvrC,QAClCokD,EAAQ3nG,MAAMsnG,EAAME,GAAO1Y,EAAOvrC,QAClC,IAAMqkD,EAAYl0E,KAAKoV,IAAGxiC,MAARotB,KAAYi0E,GAE1BC,EAAY,IACZT,GAAOS,EACPR,GAAOQ,EACPP,GAAOO,EACPN,GAAOM,EACPL,GAAOK,EACPJ,GAAOI,EACPH,GAAOG,EACPF,GAAOE,GAGX,IAAMC,EAAW/Y,EAAOxrC,MAAQ+jD,EAC1BS,EAAchZ,EAAOvrC,OAASikD,EAC9BO,EAAcjZ,EAAOxrC,MAAQikD,EAC7BS,EAAalZ,EAAOvrC,OAASmkD,EAE7Btf,EAAiBjgD,EAAOigD,eACxBC,EAAmBlgD,EAAOkgD,iBAC1BC,EAAoBngD,EAAOmgD,kBAC3BC,EAAkBpgD,EAAOogD,gBAEzBqB,EAAaxT,GAAiBjuC,EAAOyhD,WAAYnkC,EAAQqpC,OAAOxrC,OAChE8O,EAAegkB,GAAiBjuC,EAAOiqB,aAAc3M,EAAQqpC,OAAOxrC,OACpEumC,EAAgBzT,GAAiBjuC,EAAO0hD,cAAepkC,EAAQqpC,OAAOxrC,OACtE6O,EAAcikB,GAAiBjuC,EAAOgqB,YAAa1M,EAAQqpC,OAAOxrC,OAExE7jD,KAAKwoG,4BACDd,EAAM,GAAKC,EAAM,EACXc,GACIpZ,EAAOlgD,KAAO25C,EAAkB,EAChCuG,EAAOhgD,IAAMs5C,EAAiB,EAC9B+e,EAAM5e,EAAkB,EACxB6e,EAAMhf,EAAiB,EACvBsa,GAAOyF,UAEX,IAAIjC,GAAOpX,EAAOlgD,KAAO25C,EAAkB,EAAGuG,EAAOhgD,IAAMs5C,EAAiB,GACtF3oF,KAAK2oG,6BACDjB,EAAM,GAAKC,EAAM,EACXc,GACIpZ,EAAOlgD,KAAOi5D,EACd/Y,EAAOhgD,IAAMs5C,EAAiB,EAC9Bif,EAAMhf,EAAmB,EACzBif,EAAMlf,EAAiB,EACvBsa,GAAO2F,WAEX,IAAInC,GAAOpX,EAAOlgD,KAAOkgD,EAAOxrC,MAAQ+kC,EAAmB,EAAGyG,EAAOhgD,IAAMs5C,EAAiB,GACtG3oF,KAAK6oG,gCACDf,EAAM,GAAKC,EAAM,EACXU,GACIpZ,EAAOlgD,KAAOm5D,EACdjZ,EAAOhgD,IAAMg5D,EACbP,EAAMlf,EAAmB,EACzBmf,EAAMlf,EAAoB,EAC1Boa,GAAO6F,cAEX,IAAIrC,GACApX,EAAOlgD,KAAOkgD,EAAOxrC,MAAQ+kC,EAAmB,EAChDyG,EAAOhgD,IAAMggD,EAAOvrC,OAAS+kC,EAAoB,GAE/D7oF,KAAK+oG,+BACDf,EAAM,GAAKC,EAAM,EACXQ,GACIpZ,EAAOlgD,KAAO25C,EAAkB,EAChCuG,EAAOhgD,IAAMk5D,EACbP,EAAMlf,EAAkB,EACxBmf,EAAMpf,EAAoB,EAC1Boa,GAAO+F,aAEX,IAAIvC,GAAOpX,EAAOlgD,KAAO25C,EAAkB,EAAGuG,EAAOhgD,IAAMggD,EAAOvrC,OAAS+kC,EAAoB,GACzG7oF,KAAKipG,4BACDvB,EAAM,GAAKC,EAAM,EACXc,GACIpZ,EAAOlgD,KAA0B,EAAlB25C,EAAuB,EACtCuG,EAAOhgD,IAAwB,EAAjBs5C,EAAsB,EACpC+e,EAAyB,EAAlB5e,EAAuB,EAC9B6e,EAAwB,EAAjBhf,EAAsB,EAC7Bsa,GAAOyF,UAEX,IAAIjC,GAAOpX,EAAOlgD,KAA0B,EAAlB25C,EAAuB,EAAGuG,EAAOhgD,IAAwB,EAAjBs5C,EAAsB,GAClG3oF,KAAKkpG,6BACDxB,EAAM,GAAKC,EAAM,EACXc,GACIpZ,EAAOlgD,KAAOi5D,EACd/Y,EAAOhgD,IAAwB,EAAjBs5C,EAAsB,EACpCif,EAA0B,EAAnBhf,EAAwB,EAC/Bif,EAAwB,EAAjBlf,EAAsB,EAC7Bsa,GAAO2F,WAEX,IAAInC,GACApX,EAAOlgD,KAAOkgD,EAAOxrC,MAA4B,EAAnB+kC,EAAwB,EACtDyG,EAAOhgD,IAAwB,EAAjBs5C,EAAsB,GAElD3oF,KAAKmpG,gCACDrB,EAAM,GAAKC,EAAM,EACXU,GACIpZ,EAAOlgD,KAAOm5D,EACdjZ,EAAOhgD,IAAMg5D,EACbP,EAA0B,EAAnBlf,EAAwB,EAC/Bmf,EAA2B,EAApBlf,EAAyB,EAChCoa,GAAO6F,cAEX,IAAIrC,GACApX,EAAOlgD,KAAOkgD,EAAOxrC,MAA4B,EAAnB+kC,EAAwB,EACtDyG,EAAOhgD,IAAMggD,EAAOvrC,OAA8B,EAApB+kC,EAAyB,GAErE7oF,KAAKopG,+BACDpB,EAAM,GAAKC,EAAM,EACXQ,GACIpZ,EAAOlgD,KAA0B,EAAlB25C,EAAuB,EACtCuG,EAAOhgD,IAAMk5D,EACbP,EAAyB,EAAlBlf,EAAuB,EAC9Bmf,EAA2B,EAApBpf,EAAyB,EAChCoa,GAAO+F,aAEX,IAAIvC,GACApX,EAAOlgD,KAA0B,EAAlB25C,EAAuB,EACtCuG,EAAOhgD,IAAMggD,EAAOvrC,OAA8B,EAApB+kC,EAAyB,GAErE7oF,KAAKqpG,oBACD3B,EAAM,GAAKC,EAAM,EACXc,GACIpZ,EAAOlgD,KAAO25C,EAAkB,EAChCuG,EAAOhgD,IAAMs5C,EAAiB,EAC9B+e,EAAM5e,EAAkB,EACxB6e,EAAMhf,EAAiB,EACvBsa,GAAOyF,UAEX,IAAIjC,GAAOpX,EAAOlgD,KAAO25C,EAAkB,EAAGuG,EAAOhgD,IAAMs5C,EAAiB,GACtF3oF,KAAKspG,qBACD5B,EAAM,GAAKC,EAAM,EACXc,GACIpZ,EAAOlgD,KAAOi5D,EACd/Y,EAAOhgD,IAAMs5C,EAAiB,EAC9Bif,EAAMhf,EAAmB,EACzBif,EAAMlf,EAAiB,EACvBsa,GAAO2F,WAEX,IAAInC,GAAOpX,EAAOlgD,KAAOkgD,EAAOxrC,MAAQ+kC,EAAmB,EAAGyG,EAAOhgD,IAAMs5C,EAAiB,GACtG3oF,KAAKupG,wBACDzB,EAAM,GAAKC,EAAM,EACXU,GACIpZ,EAAOlgD,KAAOm5D,EACdjZ,EAAOhgD,IAAMg5D,EACbP,EAAMlf,EAAmB,EACzBmf,EAAMlf,EAAoB,EAC1Boa,GAAO6F,cAEX,IAAIrC,GACApX,EAAOlgD,KAAOkgD,EAAOxrC,MAAQ+kC,EAAmB,EAChDyG,EAAOhgD,IAAMggD,EAAOvrC,OAAS+kC,EAAoB,GAE/D7oF,KAAKwpG,uBACDxB,EAAM,GAAKC,EAAM,EACXQ,GACIpZ,EAAOlgD,KAAO25C,EAAkB,EAChCuG,EAAOhgD,IAAMk5D,EACbP,EAAMlf,EAAkB,EACxBmf,EAAMpf,EAAoB,EAC1Boa,GAAO+F,aAEX,IAAIvC,GAAOpX,EAAOlgD,KAAO25C,EAAkB,EAAGuG,EAAOhgD,IAAMggD,EAAOvrC,OAAS+kC,EAAoB,GACzG7oF,KAAKypG,iBACD/B,EAAM,GAAKC,EAAM,EACXc,GAAepZ,EAAOlgD,KAAMkgD,EAAOhgD,IAAKq4D,EAAKC,EAAK1E,GAAOyF,UACzD,IAAIjC,GAAOpX,EAAOlgD,KAAMkgD,EAAOhgD,KACzCrvC,KAAK0pG,kBACD9B,EAAM,GAAKC,EAAM,EACXY,GAAepZ,EAAOlgD,KAAOi5D,EAAU/Y,EAAOhgD,IAAKu4D,EAAKC,EAAK5E,GAAO2F,WACpE,IAAInC,GAAOpX,EAAOlgD,KAAOkgD,EAAOxrC,MAAOwrC,EAAOhgD,KACxDrvC,KAAK2pG,qBACD7B,EAAM,GAAKC,EAAM,EACXU,GAAepZ,EAAOlgD,KAAOm5D,EAAajZ,EAAOhgD,IAAMg5D,EAAaP,EAAKC,EAAK9E,GAAO6F,cACrF,IAAIrC,GAAOpX,EAAOlgD,KAAOkgD,EAAOxrC,MAAOwrC,EAAOhgD,IAAMggD,EAAOvrC,QACrE9jD,KAAK4pG,oBACD5B,EAAM,GAAKC,EAAM,EACXQ,GAAepZ,EAAOlgD,KAAMkgD,EAAOhgD,IAAMk5D,EAAYP,EAAKC,EAAKhF,GAAO+F,aACtE,IAAIvC,GAAOpX,EAAOlgD,KAAMkgD,EAAOhgD,IAAMggD,EAAOvrC,QACtD9jD,KAAK6pG,kBACDnC,EAAM,GAAKC,EAAM,EACXc,GACIpZ,EAAOlgD,KAAO25C,EACduG,EAAOhgD,IAAMs5C,EACb10D,KAAKoV,IAAI,EAAGq+D,EAAM5e,GAClB70D,KAAKoV,IAAI,EAAGs+D,EAAMhf,GAClBsa,GAAOyF,UAEX,IAAIjC,GAAOpX,EAAOlgD,KAAO25C,EAAiBuG,EAAOhgD,IAAMs5C,GACjE3oF,KAAK8pG,mBACDlC,EAAM,GAAKC,EAAM,EACXY,GACIpZ,EAAOlgD,KAAOlb,KAAKC,IAAIk0E,EAAU/Y,EAAOxrC,MAAQ+kC,GAChDyG,EAAOhgD,IAAMs5C,EACbyf,EAAW/Y,EAAOxrC,MAAQ+kC,EAAmB,EAAI30D,KAAKoV,IAAI,EAAGu+D,EAAMhf,GACnE30D,KAAKoV,IAAI,EAAGw+D,EAAMlf,GAClBsa,GAAO2F,WAEX,IAAInC,GAAOpX,EAAOlgD,KAAOkgD,EAAOxrC,MAAQ+kC,EAAkByG,EAAOhgD,IAAMs5C,GACjF3oF,KAAK+pG,sBACDjC,EAAM,GAAKC,EAAM,EACXU,GACIpZ,EAAOlgD,KAAOlb,KAAKC,IAAIo0E,EAAajZ,EAAOxrC,MAAQilC,GACnDuG,EAAOhgD,IAAMpb,KAAKC,IAAIm0E,EAAahZ,EAAOvrC,OAAS+kC,GACnD50D,KAAKoV,IAAI,EAAGy+D,EAAMlf,GAClB30D,KAAKoV,IAAI,EAAG0+D,EAAMlf,GAClBoa,GAAO6F,cAEX,IAAIrC,GACApX,EAAOlgD,KAAOkgD,EAAOxrC,MAAQ+kC,EAC7ByG,EAAOhgD,IAAMggD,EAAOvrC,OAAS+kC,GAE3C7oF,KAAKgqG,qBACDhC,EAAM,GAAKC,EAAM,EACXQ,GACIpZ,EAAOlgD,KAAO25C,EACduG,EAAOhgD,IAAMpb,KAAKC,IAAIq0E,EAAYlZ,EAAOvrC,OAAS+kC,GAClD50D,KAAKoV,IAAI,EAAG2+D,EAAMlf,GAClB70D,KAAKoV,IAAI,EAAG4+D,EAAMpf,GAClBoa,GAAO+F,aAEX,IAAIvC,GAAOpX,EAAOlgD,KAAO25C,EAAiBuG,EAAOhgD,IAAMggD,EAAOvrC,OAAS+kC,GACjF7oF,KAAKiqG,kBACDvC,EAAM,GAAKC,EAAM,EACXc,GACIpZ,EAAOlgD,KAAO25C,EAAkBp2B,EAChC28B,EAAOhgD,IAAMs5C,EAAiBwB,EAC9Bl2D,KAAKoV,IAAI,EAAGq+D,GAAO5e,EAAkBp2B,IACrCz+B,KAAKoV,IAAI,EAAGs+D,GAAOhf,EAAiBwB,IACpC8Y,GAAOyF,UAEX,IAAIjC,GAAOpX,EAAOlgD,KAAO25C,EAAkBp2B,EAAa28B,EAAOhgD,IAAMs5C,EAAiBwB,GAChGnqF,KAAKkqG,mBACDtC,EAAM,GAAKC,EAAM,EACXY,GACIpZ,EAAOlgD,KAAOlb,KAAKC,IAAIk0E,EAAU/Y,EAAOxrC,MAAQilC,EAAkBp2B,GAClE28B,EAAOhgD,IAAMs5C,EAAiBwB,EAC9Bie,EAAW/Y,EAAOxrC,MAAQilC,EAAkBp2B,EAAc,EAAIk1C,EAAM9e,EAAkBp2B,EACtFm1C,GAAOlf,EAAiBwB,GACxB8Y,GAAO2F,WAEX,IAAInC,GACApX,EAAOlgD,KAAOkgD,EAAOxrC,OAAS+kC,EAAmBj2B,GACjD08B,EAAOhgD,IAAMs5C,EAAiBwB,GAE5CnqF,KAAKmqG,sBACDrC,EAAM,GAAKC,EAAM,EACXU,GACIpZ,EAAOlgD,KAAOlb,KAAKC,IAAIo0E,EAAajZ,EAAOxrC,OAASilC,EAAkBp2B,IACtE28B,EAAOhgD,IAAMpb,KAAKC,IAAIm0E,EAAahZ,EAAOvrC,OAAS6kC,EAAiBwB,GACpEl2D,KAAKoV,IAAI,EAAGy+D,GAAOlf,EAAmBj2B,IACtCo1C,GAAOlf,EAAoBuB,GAC3B6Y,GAAO6F,cAEX,IAAIrC,GACApX,EAAOlgD,KAAOkgD,EAAOxrC,OAAS+kC,EAAmBj2B,GACjD08B,EAAOhgD,IAAMggD,EAAOvrC,QAAU+kC,EAAoBuB,IAEhEpqF,KAAKoqG,qBACDpC,EAAM,GAAKC,EAAM,EACXQ,GACIpZ,EAAOlgD,KAAO25C,EAAkBp2B,EAChC28B,EAAOhgD,IAAMk5D,EACbt0E,KAAKoV,IAAI,EAAG2+D,GAAOlf,EAAkBp2B,IACrCu1C,GAAOpf,EAAoBuB,GAC3B6Y,GAAO+F,aAEX,IAAIvC,GACApX,EAAOlgD,KAAO25C,EAAkBp2B,EAChC28B,EAAOhgD,IAAMggD,EAAOvrC,QAAU+kC,EAAoBuB,G,CAGxE,OAAAqd,CAAA,CAxTA,IA0TA,SAAKxE,GACDA,EAAAA,EAAA,0BACAA,EAAAA,EAAA,4BACAA,EAAAA,EAAA,kCACAA,EAAAA,EAAA,+BACH,EALD,CAAKA,KAAAA,GAAM,KAOX,IAAMwF,GAAiB,SAACxzD,EAAWV,EAAW81D,EAAYC,EAAY5nD,GAClE,IAAM6nD,GAAct2E,KAAKswD,KAAK,GAAK,GAAK,EAA1B,EACRimB,EAAKH,EAAKE,EACVE,EAAKH,EAAKC,EACVG,EAAKz1D,EAAIo1D,EACTM,EAAKp2D,EAAI+1D,EAEf,OAAQ5nD,GACJ,KAAKugD,GAAOyF,SACR,OAAO,IAAI7B,GACP,IAAIJ,GAAOxxD,EAAG01D,GACd,IAAIlE,GAAOxxD,EAAG01D,EAAKF,GACnB,IAAIhE,GAAOiE,EAAKF,EAAIj2D,GACpB,IAAIkyD,GAAOiE,EAAIn2D,IAEvB,KAAK0uD,GAAO2F,UACR,OAAO,IAAI/B,GACP,IAAIJ,GAAOxxD,EAAGV,GACd,IAAIkyD,GAAOxxD,EAAIu1D,EAAIj2D,GACnB,IAAIkyD,GAAOiE,EAAIC,EAAKF,GACpB,IAAIhE,GAAOiE,EAAIC,IAEvB,KAAK1H,GAAO6F,aACR,OAAO,IAAIjC,GACP,IAAIJ,GAAOiE,EAAIn2D,GACf,IAAIkyD,GAAOiE,EAAIn2D,EAAIk2D,GACnB,IAAIhE,GAAOxxD,EAAIu1D,EAAIG,GACnB,IAAIlE,GAAOxxD,EAAG01D,IAEtB,KAAK1H,GAAO+F,YACZ,QACI,OAAO,IAAInC,GACP,IAAIJ,GAAOiE,EAAIC,GACf,IAAIlE,GAAOiE,EAAKF,EAAIG,GACpB,IAAIlE,GAAOxxD,EAAGV,EAAIk2D,GAClB,IAAIhE,GAAOxxD,EAAGV,IAG9B,EAEaq2D,GAAyB,SAACC,GACnC,MAAO,CAACA,EAAOpB,iBAAkBoB,EAAOnB,kBAAmBmB,EAAOlB,qBAAsBkB,EAAOjB,oBACnG,EAEakB,GAA0B,SAACD,GACpC,MAAO,CACHA,EAAOZ,kBACPY,EAAOX,mBACPW,EAAOV,sBACPU,EAAOT,qBAEf,EAEaW,GAA0B,SAACF,GACpC,MAAO,CACHA,EAAOhB,kBACPgB,EAAOf,mBACPe,EAAOd,sBACPc,EAAOb,qBAEf,EIhXAgB,GAAA,WAII,SAAAA,EAAqBxgB,EAA0BC,EAA0BK,GAApD,KAAAN,QAAAA,EAA0B,KAAAC,QAAAA,EAA0B,KAAAK,OAAAA,EAHhE,KAAA/lF,KAAI,EACJ,KAAAD,OAAiB,C,CAG9B,OAAAkmG,CAAA,CALA,GAOAC,GAAA,WAGI,SAAAA,EAAqB9xE,EAAuBr0B,GAAvB,KAAAq0B,KAAAA,EAAuB,KAAAr0B,OAAAA,EAFnC,KAAAC,KAAI,C,CAGjB,OAAAkmG,CAAA,CAJA,GAMAC,GAAA,WAII,SAAAA,EAAqBnf,GAAA,KAAAA,QAAAA,EAHZ,KAAAhnF,KAAI,EACJ,KAAAD,OAAiB,C,CAG9B,OAAAomG,CAAA,CALA,GAOaC,GAAoB,SAAC7pG,GAC9B,OAAgB,IAAhBA,EAAOyD,IAAP,EACSqmG,GAAe,SAAC9pG,GAAiD,OAAgB,IAAhBA,EAAOyD,IAAI,EAC5EsmG,GAAkB,SAAC/pG,GAAoD,OAAgB,IAAhBA,EAAOyD,IAAI,EC9BlFumG,GAAY,SAACr4F,EAAWC,GACjC,OAAID,EAAE/R,SAAWgS,EAAEhS,QACR+R,EAAEmF,MAAK,SAAC5V,EAAGxB,GAAM,OAAAwB,IAAM0Q,EAAElS,EAAE,GAI1C,EAEauqG,GAAgB,SAACpyE,EAAcutE,EAAgBC,EAAgB6E,EAAgBC,GACxF,OAAOtyE,EAAK9yB,KAAI,SAACqlG,EAAOrrG,GACpB,OAAQA,GACJ,KAAK,EACD,OAAOqrG,EAAM/hG,IAAI+8F,EAAQC,GAC7B,KAAK,EACD,OAAO+E,EAAM/hG,IAAI+8F,EAAS8E,EAAQ7E,GACtC,KAAK,EACD,OAAO+E,EAAM/hG,IAAI+8F,EAAS8E,EAAQ7E,EAAS8E,GAC/C,KAAK,EACD,OAAOC,EAAM/hG,IAAI+8F,EAAQC,EAAS8E,GAE1C,OAAOC,C,GAEf,ECtBAC,GAAA,WAUI,SAAAA,EAAYl9E,GACRzuB,KAAKgmD,QAAUv3B,EACfzuB,KAAK4rG,YAAc,GACnB5rG,KAAK6rG,eAAiB,GACtB7rG,KAAK8rG,eAAiB,GACtB9rG,KAAK+rG,uCAAyC,GAC9C/rG,KAAKgsG,eAAiB,GACtBhsG,KAAKisG,oBAAsB,GAC3BjsG,KAAKksG,yBAA2B,E,CAExC,OAAAP,CAAA,CApBA,GAsBAQ,GAAA,WAKI,SAAAA,EAAqB19E,EAAsCruB,GAMvD,GANiB,KAAAquB,UAAAA,EAAsC,KAAAruB,OAAAA,EAJlD,KAAAF,QAA4B,GAKjCF,KAAK6qG,OAAS,IAAIpD,GAAYznG,KAAKyuB,WAC/BzuB,KAAKyuB,UAAUia,OAAOqjD,QAAU,GAChC/rF,KAAKE,QAAQK,KAAK,IAAI2qG,GAAclrG,KAAKyuB,UAAUia,OAAOqjD,UAGtB,OAApC/rF,KAAKyuB,UAAUia,OAAO+F,UAAoB,CAC1C,IAAM+7C,EAAUxqF,KAAKyuB,UAAU4gE,OAAOlgD,KAAOnvC,KAAKyuB,UAAUia,OAAO4iD,gBAAgB,GAAGr3E,OAChFw2E,EAAUzqF,KAAKyuB,UAAU4gE,OAAOhgD,IAAMrvC,KAAKyuB,UAAUia,OAAO4iD,gBAAgB,GAAGr3E,OAC/E62E,EAAS9qF,KAAKyuB,UAAUia,OAAO+F,UACrCzuC,KAAKE,QAAQK,KAAK,IAAIyqG,GAAgBxgB,EAASC,EAASK,G,CAG5D,GAAwC,IAApC9qF,KAAKyuB,UAAUia,OAAOsf,UAAgC,CACtD,IAAMokD,EAAYxB,GAAuB5qG,KAAK6qG,QACxCwB,EAAatB,GAAwB/qG,KAAK6qG,QAE5CS,GAAUc,EAAWC,GACrBrsG,KAAKE,QAAQK,KAAK,IAAI0qG,GAAWmB,EAAW,KAE5CpsG,KAAKE,QAAQK,KAAK,IAAI0qG,GAAWmB,EAAW,IAC5CpsG,KAAKE,QAAQK,KAAK,IAAI0qG,GAAWoB,EAAY,I,EAgC7D,OA3BIF,EAAAzyE,UAAA4yE,WAAA,SAAWxnG,GACP,IAAIynG,GAA0F,IAAjF,CAAC,EAAD,GAAoC/5F,QAAQxS,KAAKyuB,UAAUia,OAAOga,UAC3EtiD,EAASJ,KAAKI,OACZF,EAAUF,KAAKE,QAAQ6T,MAAM,GACnC,MAAO3T,EAAQ,CACX,IAAMosG,EAAkBpsG,EAAOF,QAAQkG,QAAO,SAAC9E,GAAW,OAAC8pG,GAAa9pG,EAAO,IAC/E,GAAIirG,GAA+C,IAArCnsG,EAAOquB,UAAUia,OAAOga,WAAiCtiD,EAAOA,QAG1E,GAFAF,EAAQsb,QAAO3U,MAAf3G,EAAmBssG,GACnBD,GAA4F,IAAnF,CAAC,EAAD,GAAoC/5F,QAAQpS,EAAOquB,UAAUia,OAAOga,UACnC,IAAtCtiD,EAAOquB,UAAUia,OAAOsf,UAAgC,CACxD,IAAMokD,EAAYxB,GAAuBxqG,EAAOyqG,QAC1CwB,EAAatB,GAAwB3qG,EAAOyqG,QAC7CS,GAAUc,EAAWC,IACtBnsG,EAAQsb,QACJ,IAAIyvF,GAAWoB,EAAY,G,OAKvCnsG,EAAQsb,QAAO3U,MAAf3G,EAAmBssG,GAGvBpsG,EAASA,EAAOA,M,CAGpB,OAAOF,EAAQkG,QAAO,SAAC9E,GAAW,OAAAmyC,GAASnyC,EAAOwD,OAAQA,EAAO,G,EAEzEqnG,CAAA,CA1DA,GA4DMM,GAAiB,SACnBrsG,EACAssG,EACAC,EACAC,GAEAxsG,EAAOquB,UAAU8zB,SAAS98C,SAAQ,SAACmZ,GAC/B,IAAMiuF,EAA6Bp5D,GAAS70B,EAAM+zD,MAAO,GACnD8nB,EAAyBhnD,GAAS70B,EAAM+zD,MAAO,GAC/Cm6B,EAAiB,IAAIX,GAAavtF,EAAOxe,GAC3CqzC,GAAS70B,EAAM8pB,OAAO4B,QAAS,OAC/BsiE,EAAUrsG,KAAKusG,GAGnB,IAAMC,EAAiBt5D,GAAS70B,EAAM+zD,MAAO,GAAuB,GAAKi6B,EAEzE,GAAIC,GAA8BpS,EAAwB,CACtD,IAAMuS,EACFH,GAA8BjuF,EAAM8pB,OAAO0lD,eAAiBue,EAAsBD,EAEhFO,EAAQ,IAAItB,GAAgBmB,GAElC,GAAIluF,EAAM8pB,OAAO0lD,gBAAkBxvE,EAAM8pB,OAAOqjD,QAAU,GAAKntE,EAAM8pB,OAAOylD,gBAAiB,CACzF,IAAM+e,EAAQtuF,EAAM8pB,OAAOijD,OAAOE,MAClC,GAAIqhB,EAAQ,EAAG,CACX,IAAIC,EAAQ,EAEZH,EAAYlB,eAAe1zF,MAAK,SAACgiB,EAASp5B,GACtC,OAAIksG,EAAQ9yE,EAAQ4rB,QAAQv3B,UAAUia,OAAOijD,OAAOE,OAChDshB,EAAQnsG,GACD,GACAmsG,EAAQ,C,IAMvBH,EAAYlB,eAAe15F,OAAO+6F,EAAO,EAAGF,E,MACzC,GAAIC,EAAQ,EAAG,CAClB,IAAIE,EAAQ,EACZJ,EAAYhB,eAAe5zF,MAAK,SAACgiB,EAASp5B,GACtC,OAAIksG,GAAS9yE,EAAQ4rB,QAAQv3B,UAAUia,OAAOijD,OAAOE,OACjDuhB,EAAQpsG,EAAI,GACL,GACAosG,EAAQ,C,IAMvBJ,EAAYhB,eAAe55F,OAAOg7F,EAAO,EAAGH,E,MAE5CD,EAAYjB,uCAAuCxrG,KAAK0sG,E,MAGxDruF,EAAM8pB,OAAO4lD,aACb0e,EAAYf,oBAAoB1rG,KAAK0sG,GAErCD,EAAYd,yBAAyB3rG,KAAK0sG,GAIlDR,GACIK,EACAG,EACAJ,EAA6BI,EAAQN,EACrCI,E,MAGAnuF,EAAM8pB,OAAO6lD,gBACbme,EAAgBd,YAAYrrG,KAAKusG,GAEjCJ,EAAgBb,eAAetrG,KAAKusG,GAGxCL,GAAeK,EAAgBJ,EAAiBC,EAAqBI,GAGrEt5D,GAAS70B,EAAM+zD,MAAO,IACtB06B,GAAiBzuF,EAAOmuF,E,GAGpC,EAEMM,GAAmB,SAACthF,EAAyBw2B,GAG/C,IAFA,IAAI+qD,EAAYvhF,aAAiBwsE,GAAqBxsE,EAAMra,MAAQ,EAC9D8mF,EAAWzsE,aAAiBwsE,IAAqBxsE,EAAMysE,SACpDx3F,EAAI,EAAGA,EAAIuhD,EAASrhD,OAAQF,IAAK,CACtC,IAAM0c,EAAO6kC,EAASvhD,GAElB0c,EAAK+Q,qBAAqB6pE,IACM,kBAAzB56E,EAAK+Q,UAAU1rB,OACG,IAAzB2a,EAAK+Q,UAAU1rB,QAEfuqG,EAAY5vF,EAAK+Q,UAAU1rB,OAG/B2a,EAAK6vF,UAAY/Q,GAAkB8Q,EAAW5vF,EAAK+Q,UAAUia,OAAOihD,eAAe,GAEnF2jB,GAAa9U,GAAY,EAAI,C,CAErC,EAEagV,GAAwB,SAAC/+E,GAClC,IAAMq+E,EAAiB,IAAIX,GAAa19E,EAAW,MAC7CtW,EAAO,IAAIwzF,GAAgBmB,GAC3BF,EAA4B,GAGlC,OAFAH,GAAeK,EAAgB30F,EAAMA,EAAMy0F,GAC3CS,GAAiBP,EAAer+E,UAAWm+E,GACpCz0F,CACX,ECxMas1F,GAAqB,SAAC5C,EAAqB6C,GACpD,OAAQA,GACJ,KAAK,EACD,OAAOC,GACH9C,EAAOpB,iBACPoB,EAAOhB,kBACPgB,EAAOnB,kBACPmB,EAAOf,oBAEf,KAAK,EACD,OAAO6D,GACH9C,EAAOnB,kBACPmB,EAAOf,mBACPe,EAAOlB,qBACPkB,EAAOd,uBAEf,KAAK,EACD,OAAO4D,GACH9C,EAAOlB,qBACPkB,EAAOd,sBACPc,EAAOjB,oBACPiB,EAAOb,sBAEf,KAAK,EACL,QACI,OAAO2D,GACH9C,EAAOjB,oBACPiB,EAAOb,qBACPa,EAAOpB,iBACPoB,EAAOhB,mBAGvB,EAEa+D,GAAgC,SAAC/C,EAAqB6C,GAC/D,OAAQA,GACJ,KAAK,EACD,OAAOC,GACH9C,EAAOpB,iBACPoB,EAAOrC,4BACPqC,EAAOnB,kBACPmB,EAAOlC,8BAEf,KAAK,EACD,OAAOgF,GACH9C,EAAOnB,kBACPmB,EAAOlC,6BACPkC,EAAOlB,qBACPkB,EAAOhC,iCAEf,KAAK,EACD,OAAO8E,GACH9C,EAAOlB,qBACPkB,EAAOhC,gCACPgC,EAAOjB,oBACPiB,EAAO9B,gCAEf,KAAK,EACL,QACI,OAAO4E,GACH9C,EAAOjB,oBACPiB,EAAO9B,+BACP8B,EAAOpB,iBACPoB,EAAOrC,6BAGvB,EAEaqF,GAAgC,SAAChD,EAAqB6C,GAC/D,OAAQA,GACJ,KAAK,EACD,OAAOC,GACH9C,EAAO5B,4BACP4B,EAAOhB,kBACPgB,EAAO3B,6BACP2B,EAAOf,oBAEf,KAAK,EACD,OAAO6D,GACH9C,EAAO3B,6BACP2B,EAAOf,mBACPe,EAAO1B,gCACP0B,EAAOd,uBAEf,KAAK,EACD,OAAO4D,GACH9C,EAAO1B,gCACP0B,EAAOd,sBACPc,EAAOzB,+BACPyB,EAAOb,sBAEf,KAAK,EACL,QACI,OAAO2D,GACH9C,EAAOzB,+BACPyB,EAAOb,qBACPa,EAAO5B,4BACP4B,EAAOhB,mBAGvB,EAEaiE,GAA2B,SAACjD,EAAqB6C,GAC1D,OAAQA,GACJ,KAAK,EACD,OAAOK,GAA2BlD,EAAOxB,oBAAqBwB,EAAOvB,sBACzE,KAAK,EACD,OAAOyE,GAA2BlD,EAAOvB,qBAAsBuB,EAAOtB,yBAC1E,KAAK,EACD,OAAOwE,GAA2BlD,EAAOtB,wBAAyBsB,EAAOrB,wBAC7E,KAAK,EACL,QACI,OAAOuE,GAA2BlD,EAAOrB,uBAAwBqB,EAAOxB,qBAEpF,EAEM0E,GAA6B,SAACC,EAAcC,GAC9C,IAAM90E,EAAO,GAab,OAZIquE,GAAcwG,GACd70E,EAAK54B,KAAKytG,EAAOhH,UAAU,IAAK,IAEhC7tE,EAAK54B,KAAKytG,GAGVxG,GAAcyG,GACd90E,EAAK54B,KAAK0tG,EAAOjH,UAAU,IAAK,IAEhC7tE,EAAK54B,KAAK0tG,GAGP90E,CACX,EAEMw0E,GAAuB,SAACK,EAAcE,EAAcD,EAAcE,GACpE,IAAMh1E,EAAO,GAyBb,OAxBIquE,GAAcwG,GACd70E,EAAK54B,KAAKytG,EAAOhH,UAAU,IAAK,IAEhC7tE,EAAK54B,KAAKytG,GAGVxG,GAAcyG,GACd90E,EAAK54B,KAAK0tG,EAAOjH,UAAU,IAAK,IAEhC7tE,EAAK54B,KAAK0tG,GAGVzG,GAAc2G,GACdh1E,EAAK54B,KAAK4tG,EAAOnH,UAAU,IAAK,GAAMO,WAEtCpuE,EAAK54B,KAAK4tG,GAGV3G,GAAc0G,GACd/0E,EAAK54B,KAAK2tG,EAAOlH,UAAU,IAAK,GAAOO,WAEvCpuE,EAAK54B,KAAK2tG,GAGP/0E,CACX,EChKakzE,GAAa,SAACrmD,GACvB,IAAMqpC,EAASrpC,EAAQqpC,OACjB3mD,EAASsd,EAAQtd,OACvB,OAAO2mD,EAAO1lF,IACV++B,EAAOogD,gBACPpgD,EAAOigD,iBACLjgD,EAAOkgD,iBAAmBlgD,EAAOogD,mBACjCpgD,EAAOigD,eAAiBjgD,EAAOmgD,mBAEzC,EAEaulB,GAAa,SAACpoD,GACvB,IAAMtd,EAASsd,EAAQtd,OACjB2mD,EAASrpC,EAAQqpC,OAEjB38B,EAAcikB,GAAiBjuC,EAAOgqB,YAAa28B,EAAOxrC,OAC1D8O,EAAegkB,GAAiBjuC,EAAOiqB,aAAc08B,EAAOxrC,OAC5DsmC,EAAaxT,GAAiBjuC,EAAOyhD,WAAYkF,EAAOxrC,OACxDumC,EAAgBzT,GAAiBjuC,EAAO0hD,cAAeiF,EAAOxrC,OAEpE,OAAOwrC,EAAO1lF,IACV+oD,EAAchqB,EAAOogD,gBACrBqB,EAAazhD,EAAOigD,iBAClBjgD,EAAOkgD,iBAAmBlgD,EAAOogD,gBAAkBp2B,EAAcC,KACjEjqB,EAAOigD,eAAiBjgD,EAAOmgD,kBAAoBsB,EAAaC,GAE1E,EClBaikB,GAAqC,SAC9ClnB,EACAnhC,GAEA,OAAyB,IAArBmhC,EACOnhC,EAAQqpC,OAGM,IAArBlI,EACOinB,GAAWpoD,GAGfqmD,GAAWrmD,EACtB,EAEasoD,GAAkC,SAAChsB,EAAiCt8B,GAC7E,OAAuB,IAAnBs8B,EACOt8B,EAAQqpC,OAGI,IAAnB/M,EACO8rB,GAAWpoD,GAGfqmD,GAAWrmD,EACtB,EAEauoD,GAA+B,SACxC9/E,EACApuB,EACAmuG,GAEA,IAAMC,EAA4BJ,GAC9BK,GAA2BjgF,EAAUia,OAAOy+C,iBAAkB9mF,GAC9DouB,GAGEkgF,EAAyBL,GAC3BI,GAA2BjgF,EAAUia,OAAO45C,eAAgBjiF,GAC5DouB,GAGEmgF,EAAsBC,GACxBH,GAA2BjgF,EAAUia,OAAO8+C,eAAgBnnF,GAC5DmuG,EACAC,GAGGK,EAAyBF,EAAmB,GAAjCG,EAAcH,EAAmB,GAE7ClsD,EAAW+zB,GACbi4B,GAA2BjgF,EAAUia,OAAO0+C,mBAAoB/mF,GAChEouG,EAA0B5qD,MAAQirD,EAClCL,EAA0B3qD,OAASirD,GAGjC51E,EAAO61E,GACTN,GAA2BjgF,EAAUia,OAAO2+C,iBAAkBhnF,GAC9DqiD,EACAksD,EACAH,EACAE,GAGEnkB,EAAUv2D,KAAKmvB,MAAMqrD,EAA0Bt/D,KAAOuT,EAAS,IAC/D+nC,EAAUx2D,KAAKmvB,MAAMqrD,EAA0Bp/D,IAAMqT,EAAS,IAEpE,MAAO,CAACvpB,EAAMqxD,EAASC,EAASqkB,EAAWC,EAC/C,EAEaE,GAAS,SAAC38B,GAA6B,OAAAuD,GAAavD,IAAUA,EAAMvvE,QAAUkkF,GAAgB5vB,IAAI,EAEzG63C,GAAoB,SAACnsG,GAA0C,MAAiB,kBAAVA,CAAkB,EAEjF8rG,GAA0B,SACnCxrG,EACA+K,EACAihF,G,IADC0I,EAAc3pF,EAAA,GAAE6pF,EAAe7pF,EAAA,GAAE+gG,EAAmB/gG,EAAA,GAG9C00E,EAAiBz/E,EAAI,GAAd+rG,EAAU/rG,EAAI,GAE5B,IAAKy/E,EACD,MAAO,CAAC,EAAG,GAGf,GAAI1M,GAAmB0M,IAAUssB,GAAUh5B,GAAmBg5B,GAC1D,MAAO,CAACz4B,GAAiBmM,EAAOuM,EAAOxrC,OAAQ8yB,GAAiBy4B,EAAQ/f,EAAOvrC,SAGnF,IAAMurD,EAAyBH,GAAkBC,GAEjD,GAAIt5B,GAAaiN,KAAWA,EAAM//E,QAAUkkF,GAAgBhB,SAAWnD,EAAM//E,QAAUkkF,GAAgBjB,OAAQ,CAC3G,GAAIkpB,GAAkBC,GAAsB,CACxC,IAAMG,EAAcjgB,EAAOxrC,MAAQwrC,EAAOvrC,OAE1C,OAAOwrD,EAAcH,KAAyBrsB,EAAM//E,QAAUkkF,GAAgBjB,OACxE,CAACqJ,EAAOxrC,MAAOwrC,EAAOxrC,MAAQsrD,GAC9B,CAAC9f,EAAOvrC,OAASqrD,EAAqB9f,EAAOvrC,O,CAGvD,MAAO,CAACurC,EAAOxrC,MAAOwrC,EAAOvrC,O,CAGjC,IAAMyrD,EAAoBL,GAAkBnX,GACtCyX,EAAqBN,GAAkBjX,GACvCwX,EAAyBF,GAAqBC,EAGpD,GAAIP,GAAOnsB,MAAYssB,GAAUH,GAAOG,IAAU,CAE9C,GAAIG,GAAqBC,EACrB,MAAO,CAACzX,EAA0BE,GAMtC,IAAKoX,IAA2BI,EAC5B,MAAO,CAACpgB,EAAOxrC,MAAOwrC,EAAOvrC,QAOjC,GAAI2rD,GAA0BJ,EAAwB,CAClD,IAAMK,EAAQH,EACPxX,EACAE,EAA8BkX,EAC/BQ,EAASH,EACRvX,EACAF,EAA6BoX,EACpC,MAAO,CAACO,EAAOC,E,CAKnB,IAAMC,EAAQL,EAAqBxX,EAA4B1I,EAAOxrC,MAChEgsD,EAASL,EAAsBvX,EAA6B5I,EAAOvrC,OACzE,MAAO,CAAC8rD,EAAOC,E,CAKnB,GAAIR,EAAwB,CACxB,IAAIS,EAAQ,EACRC,EAAS,EAab,OAZI35B,GAAmB0M,GACnBgtB,EAAQn5B,GAAiBmM,EAAOuM,EAAOxrC,OAChCuyB,GAAmBg5B,KAC1BW,EAASp5B,GAAiBy4B,EAAQ/f,EAAOvrC,SAGzCmrD,GAAOnsB,GACPgtB,EAAQC,EAAUZ,EACVC,IAAUH,GAAOG,KACzBW,EAASD,EAASX,GAGf,CAACW,EAAOC,E,CAQnB,IAAIlsD,EAAQ,KACRC,EAAS,KAsBb,GApBIsyB,GAAmB0M,GACnBj/B,EAAQ8yB,GAAiBmM,EAAOuM,EAAOxrC,OAChCurD,GAAUh5B,GAAmBg5B,KACpCtrD,EAAS6yB,GAAiBy4B,EAAQ/f,EAAOvrC,SAG/B,OAAVD,GAAoBurD,IAAUH,GAAOG,KACrCtrD,EACIyrD,GAAqBC,EACd3rD,EAASk0C,EAA8BE,EACxC5I,EAAOvrC,QAGN,OAAXA,GAAmBmrD,GAAOnsB,KAC1Bj/B,EACI0rD,GAAqBC,EACd1rD,EAAUm0C,EAA+BF,EAC1C1I,EAAOxrC,OAGP,OAAVA,GAA6B,OAAXC,EAClB,MAAO,CAACD,EAAOC,GAGnB,MAAM,IAAI3M,MAAM,kDACpB,EAEau3D,GAA6B,SAAIrpG,EAAahF,GACvD,IAAM0C,EAAQsC,EAAOhF,GACrB,MAAqB,qBAAV0C,EACAsC,EAAO,GAGXtC,CACX,EAEaisG,GAAgC,SACzC5b,EACAhlF,EACAmqE,EACAk2B,EACAE,G,IAHC15D,EAAC7mC,EAAA,GAAEmmC,EAACnmC,EAAA,GACJy1C,EAAK00B,EAAA,GAAEz0B,EAAMy0B,EAAA,GAId,OAAQ6a,GACJ,KAAK,EACD,MAAO,CACH,IAAIqT,GAAOxyE,KAAKmvB,MAAMqrD,EAA0Bt/D,MAAOlb,KAAKmvB,MAAMqrD,EAA0Bp/D,IAAMkF,IAClG,IAAIkyD,GACAxyE,KAAKmvB,MAAMqrD,EAA0Bt/D,KAAOs/D,EAA0B5qD,OACtE5vB,KAAKmvB,MAAMqrD,EAA0Bp/D,IAAMkF,IAE/C,IAAIkyD,GACAxyE,KAAKmvB,MAAMqrD,EAA0Bt/D,KAAOs/D,EAA0B5qD,OACtE5vB,KAAKmvB,MAAMU,EAAS2qD,EAA0Bp/D,IAAMkF,IAExD,IAAIkyD,GACAxyE,KAAKmvB,MAAMqrD,EAA0Bt/D,MACrClb,KAAKmvB,MAAMU,EAAS2qD,EAA0Bp/D,IAAMkF,KAGhE,KAAK,EACD,MAAO,CACH,IAAIkyD,GAAOxyE,KAAKmvB,MAAMqrD,EAA0Bt/D,KAAO8F,GAAIhhB,KAAKmvB,MAAMqrD,EAA0Bp/D,MAChG,IAAIo3D,GACAxyE,KAAKmvB,MAAMqrD,EAA0Bt/D,KAAO8F,EAAI4O,GAChD5vB,KAAKmvB,MAAMqrD,EAA0Bp/D,MAEzC,IAAIo3D,GACAxyE,KAAKmvB,MAAMqrD,EAA0Bt/D,KAAO8F,EAAI4O,GAChD5vB,KAAKmvB,MAAMqrD,EAA0B3qD,OAAS2qD,EAA0Bp/D,MAE5E,IAAIo3D,GACAxyE,KAAKmvB,MAAMqrD,EAA0Bt/D,KAAO8F,GAC5ChhB,KAAKmvB,MAAMqrD,EAA0B3qD,OAAS2qD,EAA0Bp/D,OAGpF,KAAK,EACD,MAAO,CACH,IAAIo3D,GACAxyE,KAAKmvB,MAAMqrD,EAA0Bt/D,KAAO8F,GAC5ChhB,KAAKmvB,MAAMqrD,EAA0Bp/D,IAAMkF,IAE/C,IAAIkyD,GACAxyE,KAAKmvB,MAAMqrD,EAA0Bt/D,KAAO8F,EAAI4O,GAChD5vB,KAAKmvB,MAAMqrD,EAA0Bp/D,IAAMkF,IAE/C,IAAIkyD,GACAxyE,KAAKmvB,MAAMqrD,EAA0Bt/D,KAAO8F,EAAI4O,GAChD5vB,KAAKmvB,MAAMqrD,EAA0Bp/D,IAAMkF,EAAIuP,IAEnD,IAAI2iD,GACAxyE,KAAKmvB,MAAMqrD,EAA0Bt/D,KAAO8F,GAC5ChhB,KAAKmvB,MAAMqrD,EAA0Bp/D,IAAMkF,EAAIuP,KAG3D,QACI,MAAO,CACH,IAAI2iD,GAAOxyE,KAAKmvB,MAAMurD,EAAuBx/D,MAAOlb,KAAKmvB,MAAMurD,EAAuBt/D,MACtF,IAAIo3D,GACAxyE,KAAKmvB,MAAMurD,EAAuBx/D,KAAOw/D,EAAuB9qD,OAChE5vB,KAAKmvB,MAAMurD,EAAuBt/D,MAEtC,IAAIo3D,GACAxyE,KAAKmvB,MAAMurD,EAAuBx/D,KAAOw/D,EAAuB9qD,OAChE5vB,KAAKmvB,MAAMurD,EAAuB7qD,OAAS6qD,EAAuBt/D,MAEtE,IAAIo3D,GACAxyE,KAAKmvB,MAAMurD,EAAuBx/D,MAClClb,KAAKmvB,MAAMurD,EAAuB7qD,OAAS6qD,EAAuBt/D,OAItF,ECtSa2gE,GAAc,iFCMrBC,GAAc,cAEpBC,GAAA,WAII,SAAAA,EAAYvsE,GACR3jC,KAAKmwG,MAAQ,CAAC,EACdnwG,KAAKowG,UAAYzsE,C,CAyDzB,OAtDYusE,EAAAx2E,UAAA22E,aAAR,SAAqBlkB,EAAoB3C,GACrC,IAAM/6D,EAAYzuB,KAAKowG,UAAUhjF,cAAc,OACzC0nC,EAAM90D,KAAKowG,UAAUhjF,cAAc,OACnC6nC,EAAOj1D,KAAKowG,UAAUhjF,cAAc,QAEpCuc,EAAO3pC,KAAKowG,UAAUzmE,KAE5Blb,EAAU0C,MAAMq6D,WAAa,SAC7B/8D,EAAU0C,MAAMg7D,WAAaA,EAC7B19D,EAAU0C,MAAMq4D,SAAWA,EAC3B/6D,EAAU0C,MAAMyxB,OAAS,IACzBn0B,EAAU0C,MAAMy0B,QAAU,IAC1Bn3B,EAAU0C,MAAMm/E,WAAa,SAE7B3mE,EAAKzE,YAAYzW,GAEjBqmC,EAAIq/B,IAAM6b,GACVl7C,EAAIjR,MAAQ,EACZiR,EAAIhR,OAAS,EAEbgR,EAAI3jC,MAAMyxB,OAAS,IACnBkS,EAAI3jC,MAAMy0B,QAAU,IACpBkP,EAAI3jC,MAAMo/E,cAAgB,WAE1Bt7C,EAAK9jC,MAAMg7D,WAAaA,EACxBl3B,EAAK9jC,MAAMq4D,SAAWA,EACtBv0B,EAAK9jC,MAAMyxB,OAAS,IACpBqS,EAAK9jC,MAAMy0B,QAAU,IAErBqP,EAAK/vB,YAAYllC,KAAKowG,UAAUhsE,eAAe6rE,KAC/CxhF,EAAUyW,YAAY+vB,GACtBxmC,EAAUyW,YAAY4vB,GACtB,IAAM07C,EAAW17C,EAAI7Q,UAAYgR,EAAKhR,UAAY,EAElDx1B,EAAUsV,YAAYkxB,GACtBxmC,EAAUyW,YAAYllC,KAAKowG,UAAUhsE,eAAe6rE,KAEpDxhF,EAAU0C,MAAMm4D,WAAa,SAC7Bx0B,EAAI3jC,MAAMo/E,cAAgB,QAE1B,IAAM3+F,EAASkjD,EAAI7Q,UAAYx1B,EAAUw1B,UAAY,EAIrD,OAFAta,EAAK5F,YAAYtV,GAEV,CAAC+hF,SAAQA,EAAE5+F,OAAMA,E,EAE5Bs+F,EAAAx2E,UAAA+2E,WAAA,SAAWtkB,EAAoB3C,GAC3B,IAAMxkF,EAASmnF,EAAU,IAAI3C,EAK7B,MAJ+B,qBAApBxpF,KAAKmwG,MAAMnrG,KAClBhF,KAAKmwG,MAAMnrG,GAAOhF,KAAKqwG,aAAalkB,EAAY3C,IAG7CxpF,KAAKmwG,MAAMnrG,E,EAE1BkrG,CAAA,CA/DA,GCLAQ,GAAA,WACI,SAAAA,EAA+BnqF,EAAqC3Q,GAArC,KAAA2Q,QAAAA,EAAqC,KAAA3Q,QAAAA,C,CACxE,OAAA86F,CAAA,CAFA,GCyDMC,GAAc,IAEpBC,GAAA,SAAAhZ,GAMI,SAAAgZ,EAAYrqF,EAAkB3Q,GAA9B,IAAAiiF,EACID,EAAAluF,KAAA,KAAM6c,EAAS3Q,IAAQ,K,OAJViiF,EAAAgZ,eAAmC,GAKhDhZ,EAAK5D,OAASr+E,EAAQq+E,OAASr+E,EAAQq+E,OAAStwD,SAASvW,cAAc,UACvEyqE,EAAKvhF,IAAMuhF,EAAK5D,OAAOC,WAAW,MAC7Bt+E,EAAQq+E,SACT4D,EAAK5D,OAAOpwC,MAAQ5vB,KAAKwlC,MAAM7jD,EAAQiuC,MAAQjuC,EAAQk7F,OACvDjZ,EAAK5D,OAAOnwC,OAAS7vB,KAAKwlC,MAAM7jD,EAAQkuC,OAASluC,EAAQk7F,OACzDjZ,EAAK5D,OAAO9iE,MAAM0yB,MAAWjuC,EAAQiuC,MAAK,KAC1Cg0C,EAAK5D,OAAO9iE,MAAM2yB,OAAYluC,EAAQkuC,OAAM,MAEhD+zC,EAAKkZ,YAAc,IAAIb,GAAYvsE,UACnCk0D,EAAKvhF,IAAIw6F,MAAMjZ,EAAKjiF,QAAQk7F,MAAOjZ,EAAKjiF,QAAQk7F,OAChDjZ,EAAKvhF,IAAI06F,WAAWp7F,EAAQq/B,GAAIr/B,EAAQ2+B,GACxCsjD,EAAKvhF,IAAI26F,aAAe,SACxBpZ,EAAKgZ,eAAiB,GACtBhZ,EAAKtxE,QAAQ64E,OAAOoG,MAChB,gCAAgC5vF,EAAQiuC,MAAK,IAAIjuC,EAAQkuC,OAAM,gBAAgBluC,EAAQk7F,O,EA0zBnG,OAh1BoC5vC,EAAA0vC,EAAAhZ,GA0BhCgZ,EAAAl3E,UAAAw3E,aAAA,SAAahxG,GAAb,IAAA23F,EAAA,KACI,MAAO73F,KAAK6wG,eAAe3vG,OACvBlB,KAAKmxG,YAGTjxG,EAAQuF,SAAQ,SAACnE,GAAW,OAAAu2F,EAAKuZ,YAAY9vG,EAAO,G,EAGxDsvG,EAAAl3E,UAAA03E,YAAA,SAAY9vG,GACRtB,KAAKsW,IAAI+6F,OACLhG,GAAgB/pG,KAChBtB,KAAKsW,IAAIg7F,YAAchwG,EAAOyqF,SAG9Bof,GAAkB7pG,KAClBtB,KAAKsW,IAAI06F,UAAU1vG,EAAOkpF,QAASlpF,EAAOmpF,SAC1CzqF,KAAKsW,IAAIm4B,UACLntC,EAAOwpF,OAAO,GACdxpF,EAAOwpF,OAAO,GACdxpF,EAAOwpF,OAAO,GACdxpF,EAAOwpF,OAAO,GACdxpF,EAAOwpF,OAAO,GACdxpF,EAAOwpF,OAAO,IAElB9qF,KAAKsW,IAAI06F,WAAW1vG,EAAOkpF,SAAUlpF,EAAOmpF,UAG5C2gB,GAAa9pG,KACbtB,KAAKm5B,KAAK73B,EAAO63B,MACjBn5B,KAAKsW,IAAIi7F,QAGbvxG,KAAK6wG,eAAetwG,KAAKe,E,EAG7BsvG,EAAAl3E,UAAAy3E,UAAA,WACInxG,KAAK6wG,eAAezvG,MACpBpB,KAAKsW,IAAIk7F,S,EAGPZ,EAAAl3E,UAAA+3E,YAAN,SAAkBxE,G,uGACRvkE,EAASukE,EAAMjnD,QAAQv3B,UAAUia,OACnCA,EAAOgmB,YACP,GAAM1uD,KAAK0xG,mBAAmBzE,IAD9B,M,OACA7+F,EAAA2zD,O,mCAIF6uC,EAAAl3E,UAAAi4E,WAAN,SAAiBC,G,iGACTn+D,GAASm+D,EAAMnjF,UAAUkkD,MAAO,IAIhCi/B,EAAMnjF,UAAUia,OAAOgmB,YACvB,GAAM1uD,KAAK6xG,+BAA+BD,IAD1C,M,OAEA,OADAxjG,EAAA2zD,OACA,GAAM/hE,KAAK8xG,kBAAkBF,I,OAA7BxjG,EAAA2zD,O,mCAIR6uC,EAAAl3E,UAAAq4E,4BAAA,SAA4BtxE,EAAkByoD,EAAuBsnB,GAArE,IAAA3Y,EAAA,KACI,GAAsB,IAAlB3O,EACAlpF,KAAKsW,IAAI07F,SAASvxE,EAAKA,KAAMA,EAAK4uD,OAAOlgD,KAAM1O,EAAK4uD,OAAOhgD,IAAMmhE,OAC9D,CACH,IAAMyB,EAAUzb,GAAiB/1D,EAAKA,MACtCwxE,EAAQ7wF,QAAO,SAAC+tB,EAAM+iE,GAGlB,OAFAra,EAAKvhF,IAAI07F,SAASE,EAAQ/iE,EAAM1O,EAAK4uD,OAAOhgD,IAAMmhE,GAE3CrhE,EAAO0oD,EAAKvhF,IAAI67F,YAAYD,GAAQruD,K,GAC5CpjB,EAAK4uD,OAAOlgD,K,GAIfyhE,EAAAl3E,UAAA04E,gBAAR,SAAwB1pE,GACpB,IAAM6jD,EAAc7jD,EAAO6jD,YACtBnmF,QAAO,SAACisG,GAAY,MAAY,WAAZA,GAAoC,eAAZA,CAAwB,IACpEroE,KAAK,IACJmiD,EAAammB,GAAkB5pE,EAAOyjD,YAAYniD,KAAK,MACvDw/C,EAAW7T,GAAiBjtC,EAAO8gD,UACnC,GAAG9gD,EAAO8gD,SAASv1E,OAASy0B,EAAO8gD,SAAShV,KACzC9rC,EAAO8gD,SAASv1E,OAAM,KAE/B,MAAO,CACH,CAACy0B,EAAO8jD,UAAWD,EAAa7jD,EAAO4jD,WAAY9C,EAAU2C,GAAYniD,KAAK,KAC9EmiD,EACA3C,E,EAIFonB,EAAAl3E,UAAA64E,eAAN,SAAqB9xE,EAAqBiI,G,qGAChCt6B,EAA+BpO,KAAKoyG,gBAAgB1pE,GAAnD8pE,EAAIpkG,EAAA,GAAE+9E,EAAU/9E,EAAA,GAAEo7E,EAAQp7E,EAAA,GAEjCpO,KAAKsW,IAAIk8F,KAAOA,EAEhBxyG,KAAKsW,IAAIooC,UAAiC,IAArBhW,EAAOgW,UAA8B,MAAQ,MAClE1+C,KAAKsW,IAAI+zE,UAAY,OACrBrqF,KAAKsW,IAAI26F,aAAe,aAClB14B,EAAqBv4E,KAAK+wG,YAAYN,WAAWtkB,EAAY3C,GAA5DgnB,EAAQj4B,EAAAi4B,SAAE5+F,EAAM2mE,EAAA3mE,OACjB67E,EAAa/kD,EAAO+kD,WAE1BhtD,EAAK41D,WAAW5wF,SAAQ,SAACg7B,GACrBgtD,EAAWhoF,SAAQ,SAACgtG,GAChB,OAAQA,GACJ,KAAK,EACD5a,EAAKvhF,IAAIk+E,UAAYxc,GAAStvC,EAAOqvC,OACrC8f,EAAKka,4BAA4BtxE,EAAMiI,EAAOwgD,cAAesnB,GAC7D,IAAMkC,EAA0BhqE,EAAO4hD,WAEnCooB,EAAYxxG,QAAUu/B,EAAKA,KAAKvsB,OAAOhT,SACvCwxG,EACK3+F,MAAM,GACNwzF,UACA9hG,SAAQ,SAAC6kF,GACNuN,EAAKvhF,IAAIq8F,YAAc36B,GAASsS,EAAWvS,OAC3C8f,EAAKvhF,IAAIs8F,cAAgBtoB,EAAWE,QAAQv2E,OAAS4jF,EAAKjiF,QAAQk7F,MAClEjZ,EAAKvhF,IAAIu8F,cAAgBvoB,EAAWG,QAAQx2E,OAAS4jF,EAAKjiF,QAAQk7F,MAClEjZ,EAAKvhF,IAAIw8F,WAAaxoB,EAAWx2B,KAAK7/C,OAEtC4jF,EAAKka,4BAA4BtxE,EAAMiI,EAAOwgD,cAAesnB,E,IAGrE3Y,EAAKvhF,IAAIq8F,YAAc,GACvB9a,EAAKvhF,IAAIs8F,cAAgB,EACzB/a,EAAKvhF,IAAIu8F,cAAgB,EACzBhb,EAAKvhF,IAAIw8F,WAAa,GAGtBpqE,EAAOujD,mBAAmB/qF,SAC1B22F,EAAKvhF,IAAIk+E,UAAYxc,GAAStvC,EAAOsjD,qBAAuBtjD,EAAOqvC,OACnErvC,EAAOujD,mBAAmBxmF,SAAQ,SAACwmF,GAC/B,OAAQA,GACJ,KAAK,EAID4L,EAAKvhF,IAAIm+E,SACLh0D,EAAK4uD,OAAOlgD,KACZlb,KAAKmvB,MAAM3iB,EAAK4uD,OAAOhgD,IAAMmhE,GAC7B/vE,EAAK4uD,OAAOxrC,MACZ,GAGJ,MACJ,KAAK,EACDg0C,EAAKvhF,IAAIm+E,SACLh0D,EAAK4uD,OAAOlgD,KACZlb,KAAKmvB,MAAM3iB,EAAK4uD,OAAOhgD,KACvB5O,EAAK4uD,OAAOxrC,MACZ,GAEJ,MACJ,KAAK,EAEDg0C,EAAKvhF,IAAIm+E,SACLh0D,EAAK4uD,OAAOlgD,KACZlb,KAAKqyC,KAAK7lC,EAAK4uD,OAAOhgD,IAAMz9B,GAC5B6uB,EAAK4uD,OAAOxrC,MACZ,GAEJ,M,KAIhB,MACJ,KAAK,EACGnb,EAAOklD,uBAAyBntD,EAAKA,KAAKvsB,OAAOhT,SACjD22F,EAAKvhF,IAAIy8F,YAAc/6B,GAAStvC,EAAOilD,uBACvCkK,EAAKvhF,IAAI08F,UAAYtqE,EAAOklD,sBAE5BiK,EAAKvhF,IAAI28F,SAActqE,OAAeuqE,OAAS,QAAU,QACzDrb,EAAKvhF,IAAI68F,WAAW1yE,EAAKA,KAAMA,EAAK4uD,OAAOlgD,KAAM1O,EAAK4uD,OAAOhgD,IAAMmhE,IAEvE3Y,EAAKvhF,IAAIy8F,YAAc,GACvBlb,EAAKvhF,IAAI08F,UAAY,EACrBnb,EAAKvhF,IAAI28F,SAAW,QACpB,M,kBAMpBrC,EAAAl3E,UAAA05E,sBAAA,SACI3kF,EACAo8E,EACAnkB,GAEA,GAAIA,GAASj4D,EAAUspE,eAAiB,GAAKtpE,EAAUwpE,gBAAkB,EAAG,CACxE,IAAMob,EAAMjF,GAAW3/E,GACjB0K,EAAO4xE,GAAwBF,GACrC7qG,KAAKm5B,KAAKA,GACVn5B,KAAKsW,IAAI+6F,OACTrxG,KAAKsW,IAAIi7F,OACTvxG,KAAKsW,IAAI89E,UACL1N,EACA,EACA,EACAj4D,EAAUspE,eACVtpE,EAAUwpE,gBACVob,EAAIlkE,KACJkkE,EAAIhkE,IACJgkE,EAAIxvD,MACJwvD,EAAIvvD,QAER9jD,KAAKsW,IAAIk7F,S,GAIXZ,EAAAl3E,UAAAo4E,kBAAN,SAAwBF,G,oIACpB5xG,KAAKkxG,aAAaU,EAAMtF,WAAW,IAC7B79E,EAAYmjF,EAAMnjF,UAClBo8E,EAAS+G,EAAM/G,OACfniE,EAASja,EAAUia,O,IACLt6B,EAAAqgB,EAAU0gE,U,wBAAV/jC,EAAAh9C,EAAAlN,QAAT0d,EAAKxQ,EAAAg9C,GACZ,GAAMprD,KAAKuyG,eAAe3zF,EAAO8pB,KADE,M,OACnC7xB,EAAAkrD,O,wBADgB3W,I,kBAIhB38B,aAAqBkpE,IAArB,Y,iBAEkB,O,sBAAA,GAAM33F,KAAKumB,QAAQxR,MAAM83B,MAAMpe,EAAU0lE,M,cAAjDzN,EAAQ7vE,EAAAkrD,OACd/hE,KAAKozG,sBAAsB3kF,EAAWo8E,EAAQnkB,G,6BAE9C1mF,KAAKumB,QAAQ64E,OAAO5uF,MAAM,uBAAuBie,EAAU0lE,K,gBAI/D1lE,aAAqB0pE,IACrBn4F,KAAKozG,sBAAsB3kF,EAAWo8E,EAAQp8E,EAAUwlE,UAGxDxlE,aAAqB2pE,IAArB,a,iBAEkB,O,wBAAA,GAAMp4F,KAAKumB,QAAQxR,MAAM83B,MAAMpe,EAAUkmE,M,eAAjDjO,EAAQ7vE,EAAAkrD,OACd/hE,KAAKozG,sBAAsB3kF,EAAWo8E,EAAQnkB,G,+BAE9C1mF,KAAKumB,QAAQ64E,OAAO5uF,MAAM,qBAAqBie,EAAUkmE,IAAIjd,UAAU,EAAG,M,sBAI9EjpD,aAAqB+qE,IAA0B/qE,EAAUkrE,MACnD2Z,EAAiB,IAAI1C,EAAe5wG,KAAKumB,QAAS,CACpDuqF,MAAO9wG,KAAK4V,QAAQk7F,MACpBtuB,gBAAiB/zD,EAAU+zD,gBAC3BvtC,EAAG,EACHV,EAAG,EACHsP,MAAOp1B,EAAUo1B,MACjBC,OAAQr1B,EAAUq1B,SAGP,GAAMwvD,EAAel8F,OAAOqX,EAAUkrE,QAVrD,O,QAUM1F,EAASp9E,EAAAkrD,OACXtzC,EAAUo1B,OAASp1B,EAAUq1B,QAC7B9jD,KAAKsW,IAAI89E,UACLH,EACA,EACA,EACAxlE,EAAUo1B,MACVp1B,EAAUq1B,OACVr1B,EAAU4gE,OAAOlgD,KACjB1gB,EAAU4gE,OAAOhgD,IACjB5gB,EAAU4gE,OAAOxrC,MACjBp1B,EAAU4gE,OAAOvrC,Q,mBA4C7B,GAvCIr1B,aAAqBwqE,KACf51F,EAAO4wB,KAAKC,IAAIzF,EAAU4gE,OAAOxrC,MAAOp1B,EAAU4gE,OAAOvrC,QAE3Dr1B,EAAU1pB,OAAS+zF,GACfrqE,EAAU0qE,UACVn5F,KAAKsW,IAAI+6F,OACTrxG,KAAKm5B,KAAK,CACN,IAAIstE,GAAOh4E,EAAU4gE,OAAOlgD,KAAc,OAAP9rC,EAAgBorB,EAAU4gE,OAAOhgD,IAAa,IAAPhsC,GAC1E,IAAIojG,GAAOh4E,EAAU4gE,OAAOlgD,KAAc,IAAP9rC,EAAaorB,EAAU4gE,OAAOhgD,IAAa,MAAPhsC,GACvE,IAAIojG,GAAOh4E,EAAU4gE,OAAOlgD,KAAc,OAAP9rC,EAAgBorB,EAAU4gE,OAAOhgD,IAAa,OAAPhsC,GAC1E,IAAIojG,GAAOh4E,EAAU4gE,OAAOlgD,KAAc,OAAP9rC,EAAgBorB,EAAU4gE,OAAOhgD,IAAa,MAAPhsC,GAC1E,IAAIojG,GAAOh4E,EAAU4gE,OAAOlgD,KAAc,OAAP9rC,EAAgBorB,EAAU4gE,OAAOhgD,IAAa,IAAPhsC,GAC1E,IAAIojG,GAAOh4E,EAAU4gE,OAAOlgD,KAAc,IAAP9rC,EAAaorB,EAAU4gE,OAAOhgD,IAAa,OAAPhsC,GACvE,IAAIojG,GAAOh4E,EAAU4gE,OAAOlgD,KAAc,OAAP9rC,EAAgBorB,EAAU4gE,OAAOhgD,IAAa,IAAPhsC,KAG9ErD,KAAKsW,IAAIk+E,UAAYxc,GAASghB,IAC9Bh5F,KAAKsW,IAAI4iB,OACTl5B,KAAKsW,IAAIk7F,WAEN/iF,EAAU1pB,OAASg0F,IACtBtqE,EAAU0qE,UACVn5F,KAAKsW,IAAI+6F,OACTrxG,KAAKsW,IAAIi9F,YACTvzG,KAAKsW,IAAIk9F,IACL/kF,EAAU4gE,OAAOlgD,KAAO9rC,EAAO,EAC/BorB,EAAU4gE,OAAOhgD,IAAMhsC,EAAO,EAC9BA,EAAO,EACP,EACU,EAAV4wB,KAAKgjD,IACL,GAEJj3E,KAAKsW,IAAIk+E,UAAYxc,GAASghB,IAC9Bh5F,KAAKsW,IAAI4iB,OACTl5B,KAAKsW,IAAIk7F,YAKjBiC,GAAmBhlF,IAAcA,EAAU1rB,MAAM7B,OAAQ,CAczD,OAbMq3E,EAAyBv4E,KAAKoyG,gBAAgB1pE,GAA7CyjD,EAAU5T,EAAA,GAAEiR,EAAQjR,EAAA,GACpBi4B,EAAYxwG,KAAK+wG,YAAYN,WAAWtkB,EAAY3C,GAASgnB,SAEpExwG,KAAKsW,IAAIk8F,KAAOrmB,EAChBnsF,KAAKsW,IAAIk+E,UAAYxc,GAAStvC,EAAOqvC,OAErC/3E,KAAKsW,IAAI26F,aAAe,aACxBjxG,KAAKsW,IAAI+zE,UAAYqpB,GAAgBjlF,EAAUia,OAAO2hD,WAEhDgF,EAAS+e,GAAW3/E,GAEtBwmB,EAAI,EAEAxmB,EAAUia,OAAO2hD,WACrB,KAAK,EACDp1C,GAAKo6C,EAAOxrC,MAAQ,EACpB,MACJ,KAAK,EACD5O,GAAKo6C,EAAOxrC,MACZ,MAGFwyC,EAAahH,EAAO1lF,IAAIsrC,EAAG,EAAG,GAAIo6C,EAAOvrC,OAAS,EAAI,GAE5D9jD,KAAKsW,IAAI+6F,OACTrxG,KAAKm5B,KAAK,CACN,IAAIstE,GAAOpX,EAAOlgD,KAAMkgD,EAAOhgD,KAC/B,IAAIo3D,GAAOpX,EAAOlgD,KAAOkgD,EAAOxrC,MAAOwrC,EAAOhgD,KAC9C,IAAIo3D,GAAOpX,EAAOlgD,KAAOkgD,EAAOxrC,MAAOwrC,EAAOhgD,IAAMggD,EAAOvrC,QAC3D,IAAI2iD,GAAOpX,EAAOlgD,KAAMkgD,EAAOhgD,IAAMggD,EAAOvrC,UAGhD9jD,KAAKsW,IAAIi7F,OACTvxG,KAAK+xG,4BACD,IAAI7b,GAAWznE,EAAU1rB,MAAOszF,GAChC3tD,EAAOwgD,cACPsnB,GAEJxwG,KAAKsW,IAAIk7F,UACTxxG,KAAKsW,IAAI26F,aAAe,aACxBjxG,KAAKsW,IAAI+zE,UAAY,M,KAGrB52C,GAAShlB,EAAUia,OAAO4B,QAAS,MAAnC,a,GACwC,OAApC7b,EAAUia,OAAO+gD,eAAjB,a,GACM30B,EAAMrmC,EAAUia,OAAO+gD,eACZ,IAAb30B,EAAI/vD,KAAJ,aACI2hF,OAAK,EACHE,EAAO9xB,EAAoB8xB,I,mBAErB,O,yBAAA,GAAM5mF,KAAKumB,QAAQxR,MAAM83B,MAAM+5C,I,eAAvCF,EAAQ7vE,EAAAkrD,OACR/hE,KAAKsW,IAAI89E,UAAU1N,EAAOj4D,EAAU4gE,OAAOlgD,MAAQu3C,EAAM7iC,MAAQ,IAAKp1B,EAAU4gE,OAAOhgD,K,+BAEvFrvC,KAAKumB,QAAQ64E,OAAO5uF,MAAM,kCAAkCo2E,G,oCAG7DgrB,EAAMrE,YAA2C,IAA9B9+E,EAAUia,OAAOihD,gBACpCwC,EAAcnsF,KAAKoyG,gBAAgB1pE,GAAO,GAEjD1oC,KAAKsW,IAAIk8F,KAAOrmB,EAChBnsF,KAAKsW,IAAIk+E,UAAYxc,GAAStvC,EAAOqvC,OAErC/3E,KAAKsW,IAAI26F,aAAe,SACxBjxG,KAAKsW,IAAI+zE,UAAY,QACfgF,EAAS,IAAI9sB,EACf9zC,EAAU4gE,OAAOlgD,KACjB1gB,EAAU4gE,OAAOhgD,IAAMsnC,GAAiBloD,EAAUia,OAAOyhD,WAAY17D,EAAU4gE,OAAOxrC,OACtFp1B,EAAU4gE,OAAOxrC,MACjB0lC,GAAkB7gD,EAAO4gD,WAAY5gD,EAAO8gD,SAASv1E,QAAU,EAAI,GAGvEjU,KAAK+xG,4BACD,IAAI7b,GAAW0b,EAAMrE,UAAWle,GAChC3mD,EAAOwgD,cACPK,GAAkB7gD,EAAO4gD,WAAY5gD,EAAO8gD,SAASv1E,QAAU,EAAI,GAEvEjU,KAAKsW,IAAI26F,aAAe,SACxBjxG,KAAKsW,IAAI+zE,UAAY,Q,qCAK3BumB,EAAAl3E,UAAAg4E,mBAAN,SAAyBzE,G,4HAMrB,OALIx5D,GAASw5D,EAAMjnD,QAAQv3B,UAAUkkD,MAAO,IAK5C,GAAM3yE,KAAK6xG,+BAA+B5E,EAAMjnD,U,OAAhD2tD,EAAA5xC,O,IAEoB3zD,EAAA6+F,EAAMnB,e,wBAAN1gD,EAAAh9C,EAAAlN,QAAT0d,EAAKxQ,EAAAg9C,GACZ,GAAMprD,KAAKyxG,YAAY7yF,KADa,M,OACpC+0F,EAAA5xC,O,wBADgB3W,I,aAIpB,SAAMprD,KAAK8xG,kBAAkB7E,EAAMjnD,U,OAAnC2tD,EAAA5xC,O,IAEoBlrD,EAAAo2F,EAAMpB,e,wBAANtzB,EAAA1hE,EAAA3V,QAAT0d,EAAK/H,EAAA0hE,GACZ,GAAMv4E,KAAK2xG,WAAW/yF,KADc,O,OACpC+0F,EAAA5xC,O,wBADgBwW,I,kBAOAn2B,EAAA6qD,EAAMhB,oB,0BAANv1F,EAAA0rC,EAAAlhD,QAAT0d,EAAKwjC,EAAA1rC,GACZ,GAAM1W,KAAKyxG,YAAY7yF,KADkB,O,QACzC+0F,EAAA5xC,O,0BADgBrrD,I,mBAIAk9F,EAAA3G,EAAMf,yB,0BAAN2H,EAAAD,EAAA1yG,QAAT0d,EAAKg1F,EAAAC,GACZ,GAAM7zG,KAAKyxG,YAAY7yF,KADuB,O,QAC9C+0F,EAAA5xC,O,0BADgB8xC,I,mBAGAC,EAAA7G,EAAMrB,Y,0BAANmI,EAAAD,EAAA5yG,QAAT0d,EAAKk1F,EAAAC,GACZ,GAAM/zG,KAAK2xG,WAAW/yF,KADW,O,QACjC+0F,EAAA5xC,O,0BADgBgyC,I,mBAaAC,EAAA/G,EAAMlB,uC,0BAANkI,EAAAD,EAAA9yG,QAAT0d,EAAKo1F,EAAAC,GACZ,GAAMj0G,KAAKyxG,YAAY7yF,KADqC,O,QAC5D+0F,EAAA5xC,O,0BADgBkyC,I,mBAKAC,EAAAjH,EAAMjB,e,0BAANmI,EAAAD,EAAAhzG,QAAT0d,EAAKs1F,EAAAC,GACZ,GAAMn0G,KAAKyxG,YAAY7yF,KADa,O,QACpC+0F,EAAA5xC,O,0BADgBoyC,I,iCAKxBvD,EAAAl3E,UAAA06E,KAAA,SAAKC,GACDr0G,KAAKsW,IAAIi9F,YACTvzG,KAAKsW,IAAIg+F,OAAO,EAAG,GACnBt0G,KAAKsW,IAAIi+F,OAAOv0G,KAAKi0F,OAAOpwC,MAAO,GACnC7jD,KAAKsW,IAAIi+F,OAAOv0G,KAAKi0F,OAAOpwC,MAAO7jD,KAAKi0F,OAAOnwC,QAC/C9jD,KAAKsW,IAAIi+F,OAAO,EAAGv0G,KAAKi0F,OAAOnwC,QAC/B9jD,KAAKsW,IAAIi+F,OAAO,EAAG,GACnBv0G,KAAKw0G,WAAWH,EAAMtgG,MAAM,GAAGwzF,WAC/BvnG,KAAKsW,IAAIm+F,W,EAGb7D,EAAAl3E,UAAAP,KAAA,SAAKk7E,GACDr0G,KAAKsW,IAAIi9F,YACTvzG,KAAKw0G,WAAWH,GAChBr0G,KAAKsW,IAAIm+F,W,EAGb7D,EAAAl3E,UAAA86E,WAAA,SAAWH,GAAX,IAAAxc,EAAA,KACIwc,EAAM5uG,SAAQ,SAACimG,EAAOrrG,GAClB,IAAMqR,EAAgB81F,GAAckE,GAASA,EAAMh6F,MAAQg6F,EAC7C,IAAVrrG,EACAw3F,EAAKvhF,IAAIg+F,OAAO5iG,EAAMujC,EAAGvjC,EAAM6iC,GAE/BsjD,EAAKvhF,IAAIi+F,OAAO7iG,EAAMujC,EAAGvjC,EAAM6iC,GAG/BizD,GAAckE,IACd7T,EAAKvhF,IAAIo+F,cACLhJ,EAAM5E,aAAa7xD,EACnBy2D,EAAM5E,aAAavyD,EACnBm3D,EAAM3E,WAAW9xD,EACjBy2D,EAAM3E,WAAWxyD,EACjBm3D,EAAM/5F,IAAIsjC,EACVy2D,EAAM/5F,IAAI4iC,E,KAM1Bq8D,EAAAl3E,UAAAi7E,aAAA,SAAax7E,EAAcY,EAAyCywD,EAAiBC,GACjFzqF,KAAKm5B,KAAKA,GACVn5B,KAAKsW,IAAIk+E,UAAYz6D,EACrB/5B,KAAKsW,IAAI06F,UAAUxmB,EAASC,GAC5BzqF,KAAKsW,IAAI4iB,OACTl5B,KAAKsW,IAAI06F,WAAWxmB,GAAUC,E,EAGlCmmB,EAAAl3E,UAAAk7E,YAAA,SAAYluB,EAAyB7iC,EAAeC,G,MAChD,GAAI4iC,EAAM7iC,QAAUA,GAAS6iC,EAAM5iC,SAAWA,EAC1C,OAAO4iC,EAGX,IAAM3kC,EAAyC,QAAzB3zC,EAAApO,KAAKi0F,OAAOlyC,qBAAa,IAAA3zC,EAAAA,EAAIu1B,SAC7CswD,EAASlyC,EAAc30B,cAAc,UAC3C6mE,EAAOpwC,MAAQ5vB,KAAKoV,IAAI,EAAGwa,GAC3BowC,EAAOnwC,OAAS7vB,KAAKoV,IAAI,EAAGya,GAC5B,IAAMxtC,EAAM29E,EAAOC,WAAW,MAE9B,OADA59E,EAAI89E,UAAU1N,EAAO,EAAG,EAAGA,EAAM7iC,MAAO6iC,EAAM5iC,OAAQ,EAAG,EAAGD,EAAOC,GAC5DmwC,C,EAGL2c,EAAAl3E,UAAAm7E,sBAAN,SAA4BpmF,G,0GACpBpuB,EAAQouB,EAAUia,OAAOw+C,gBAAgBhmF,OAAS,E,WAC3CgmF,G,uHACsB,IAAzBA,EAAgBniF,KAAhB,YACI2hF,OAAK,EACHE,EAAOM,EAAgCN,I,iBAEjC,O,sBAAA,GAAMkuB,EAAKvuF,QAAQxR,MAAM83B,MAAM+5C,I,cAAvCF,EAAQqtB,EAAAhyC,O,6BAER+yC,EAAKvuF,QAAQ64E,OAAO5uF,MAAM,kCAAkCo2E,G,oBAG5DF,IACM7vE,EAA8B03F,GAA6B9/E,EAAWpuB,EAAO,CAC/EqmF,EAAM7iC,MACN6iC,EAAM5iC,OACN4iC,EAAM7iC,MAAQ6iC,EAAM5iC,SAHjB3qB,EAAItiB,EAAA,GAAEo+B,EAACp+B,EAAA,GAAE09B,EAAC19B,EAAA,GAAEgtC,EAAKhtC,EAAA,GAAEitC,EAAMjtC,EAAA,GAK1BkjB,EAAU+6E,EAAKx+F,IAAIy+F,cACrBD,EAAKF,YAAYluB,EAAO7iC,EAAOC,GAC/B,UAEJgxD,EAAKH,aAAax7E,EAAMY,EAASkb,EAAGV,I,aAEjCgyC,GAAiBW,IAClBxwE,EAA8B63F,GAA6B9/E,EAAWpuB,EAAO,CAAC,KAAM,KAAM,OAAzF84B,EAAIziB,EAAA,GAAEu+B,EAACv+B,EAAA,GAAE69B,EAAC79B,EAAA,GAAEmtC,EAAKntC,EAAA,GAAEotC,EAAMptC,EAAA,GAC1B0rC,EAA+ByhC,GAA2BqD,EAAgBlQ,MAAOnzB,EAAOC,GAAvF++B,EAAUzgC,EAAA,GAAE4yD,EAAE5yD,EAAA,GAAE6yD,EAAE7yD,EAAA,GAAE8yD,EAAE9yD,EAAA,GAAE+yD,EAAE/yD,EAAA,GAE3B6xC,EAAStwD,SAASvW,cAAc,UACtC6mE,EAAOpwC,MAAQA,EACfowC,EAAOnwC,OAASA,EACVxtC,EAAM29E,EAAOC,WAAW,MACxBkhB,EAAW9+F,EAAI++F,qBAAqBL,EAAIE,EAAID,EAAIE,GAEtDxyB,GAAkBuE,EAAgBtE,MAAOC,GAAYp9E,SAAQ,SAAC8/E,GAC1D,OAAA6vB,EAASE,aAAa/vB,EAAUzkF,KAAMk3E,GAASuN,EAAUxN,O,IAG7DzhE,EAAIk+E,UAAY4gB,EAChB9+F,EAAIm+E,SAAS,EAAG,EAAG5wC,EAAOC,GACtBD,EAAQ,GAAKC,EAAS,IAChB/pB,EAAU+6E,EAAKx+F,IAAIy+F,cAAc9gB,EAAQ,UAC/C6gB,EAAKH,aAAax7E,EAAMY,EAASkb,EAAGV,KAEjCkyC,GAAiBS,KAClB2sB,EAAmCtF,GAA6B9/E,EAAWpuB,EAAO,CACpF,KACA,KACA,OAHG84B,EAAI06E,EAAA,GAAE1kE,EAAI0kE,EAAA,GAAE0B,EAAA1B,EAAA,GAAKhwD,EAAKgwD,EAAA,GAAE/vD,EAAM+vD,EAAA,GAK/BnxD,EAA+C,IAApCwkC,EAAgBxkC,SAASxhD,OAAe,CAACq1E,IAAiB2Q,EAAgBxkC,SACrFzN,EAAI0hC,GAAiBj0B,EAAS,GAAImB,GAClCtP,EAAIoiC,GAAiBj0B,EAASA,EAASxhD,OAAS,GAAI4iD,GAEpD8vD,EAAW7uB,GAAgBmC,EAAiBjyC,EAAGV,EAAGsP,EAAOC,GAAxDmhC,EAAE2uB,EAAA,GAAE1uB,EAAE0uB,EAAA,GACT3uB,EAAK,GAAKC,EAAK,IACTswB,EAAiBV,EAAKx+F,IAAIm/F,qBAAqBtmE,EAAO8F,EAAGsgE,EAAMhhE,EAAG,EAAGpF,EAAO8F,EAAGsgE,EAAMhhE,EAAG0wC,GAE9FtC,GAAkBuE,EAAgBtE,MAAY,EAALqC,GAAQx/E,SAAQ,SAAC8/E,GACtD,OAAAiwB,EAAeF,aAAa/vB,EAAUzkF,KAAMk3E,GAASuN,EAAUxN,O,IAGnE+8B,EAAK37E,KAAKA,GACV27E,EAAKx+F,IAAIk+E,UAAYghB,EACjBvwB,IAAOC,GAEDwwB,EAAOjnF,EAAU4gE,OAAOlgD,KAAO,GAAM1gB,EAAU4gE,OAAOxrC,MACtD8xD,EAAOlnF,EAAU4gE,OAAOhgD,IAAM,GAAM5gB,EAAU4gE,OAAOvrC,OACrD9jC,EAAIklE,EAAKD,EACT2wB,EAAO,EAAI51F,EAEjB80F,EAAKx+F,IAAI+6F,OACTyD,EAAKx+F,IAAI06F,UAAU0E,EAAMC,GACzBb,EAAKx+F,IAAIm4B,UAAU,EAAG,EAAG,EAAGzuB,EAAG,EAAG,GAClC80F,EAAKx+F,IAAI06F,WAAW0E,GAAOC,GAE3Bb,EAAKx+F,IAAIm+E,SAAStlD,EAAMymE,GAAQL,EAAMI,GAAQA,EAAM9xD,EAAOC,EAAS8xD,GACpEd,EAAKx+F,IAAIk7F,WAETsD,EAAKx+F,IAAI4iB,S,wBAIrB74B,I,oBAjF0B+N,EAAAqgB,EAAUia,OAAOw+C,gBAAgBnzE,MAAM,GAAGwzF,U,wBAA1Cn8C,EAAAh9C,EAAAlN,QAAnBgmF,EAAe94E,EAAAg9C,G,KAAf87B,KAAsE,M,wCAAnD97B,I,+BAqF5BwlD,EAAAl3E,UAAAm8E,kBAAN,SAAwB99B,EAAc4P,EAAcmuB,G,0EAChD91G,KAAKm5B,KAAKs0E,GAAmBqI,EAAanuB,IAC1C3nF,KAAKsW,IAAIk+E,UAAYxc,GAASD,GAC9B/3E,KAAKsW,IAAI4iB,O,WAGP03E,EAAAl3E,UAAAq8E,mBAAN,SAAyBh+B,EAAcl0B,EAAe8jC,EAAcmuB,G,yGAC5DjyD,EAAQ,EACR,GAAM7jD,KAAK61G,kBAAkB99B,EAAO4P,EAAMmuB,IAD1C,M,OAEA,OADA1nG,EAAA2zD,OACA,I,cAGEi0C,EAAapI,GAA8BkI,EAAanuB,GAC9D3nF,KAAKm5B,KAAK68E,GACVh2G,KAAKsW,IAAIk+E,UAAYxc,GAASD,GAC9B/3E,KAAKsW,IAAI4iB,OACH+8E,EAAapI,GAA8BiI,EAAanuB,GAC9D3nF,KAAKm5B,KAAK88E,GACVj2G,KAAKsW,IAAI4iB,O,YAGP03E,EAAAl3E,UAAAm4E,+BAAN,SAAqCD,G,4HACjC5xG,KAAKkxG,aAAaU,EAAMtF,WAAW,IAC7B5jE,EAASkpE,EAAMnjF,UAAUia,OACzBwtE,GAAiBp+B,GAAcpvC,EAAO85C,kBAAoB95C,EAAOw+C,gBAAgBhmF,OAEjFi1G,EAAU,CACZ,CAAChlF,MAAOuX,EAAO4/C,eAAgBvQ,MAAOrvC,EAAOk/C,eAAgB/jC,MAAOnb,EAAOigD,gBAC3E,CAACx3D,MAAOuX,EAAO6/C,iBAAkBxQ,MAAOrvC,EAAOm/C,iBAAkBhkC,MAAOnb,EAAOkgD,kBAC/E,CAACz3D,MAAOuX,EAAO8/C,kBAAmBzQ,MAAOrvC,EAAOo/C,kBAAmBjkC,MAAOnb,EAAOmgD,mBACjF,CAAC13D,MAAOuX,EAAO+/C,gBAAiB1Q,MAAOrvC,EAAOq/C,gBAAiBlkC,MAAOnb,EAAOogD,kBAG3E6lB,EAAyByH,GAC3B1H,GAA2BhmE,EAAO45C,eAAgB,GAClDsvB,EAAM/G,QAGNqL,GAAiBxtE,EAAO4kD,UAAUpsF,QAClClB,KAAKsW,IAAI+6F,OACTrxG,KAAKm5B,KAAKw1E,GACV3uG,KAAKsW,IAAIi7F,OAEJz5B,GAAcpvC,EAAO85C,mBACtBxiF,KAAKsW,IAAIk+E,UAAYxc,GAAStvC,EAAO85C,iBACrCxiF,KAAKsW,IAAI4iB,QAGb,GAAMl5B,KAAK60G,sBAAsBjD,EAAMnjF,aAVvC,M,OAUArgB,EAAA2zD,OAEA/hE,KAAKsW,IAAIk7F,UAET9oE,EAAO4kD,UACFv5E,MAAM,GACNwzF,UACA9hG,SAAQ,SAAC8kF,GACNsN,EAAKvhF,IAAI+6F,OACT,IAAMgF,EAAgBzL,GAAuBgH,EAAM/G,QAC7CyL,EAAa/rB,EAAOiD,MAAQ,EAAImjB,GAChC4F,EAAqBhL,GACvB8K,GACCC,GAAc/rB,EAAOiD,MAAQ,GAAK,GAAKjD,EAAOgD,OAAOt5E,QACrDs2E,EAAOiD,MAAQ,GAAK,GAAKjD,EAAOgD,OAAOt5E,OACxCs2E,EAAOgD,OAAOt5E,QAAUs2E,EAAOiD,OAAS,EAAI,GAC5CjD,EAAOgD,OAAOt5E,QAAUs2E,EAAOiD,OAAS,EAAI,IAG5CjD,EAAOiD,OACPqK,EAAK1+D,KAAKk9E,GACVxe,EAAKvhF,IAAIi7F,OACT1Z,EAAKuc,KAAKmC,KAEV1e,EAAKuc,KAAKiC,GACVxe,EAAKvhF,IAAIi7F,OACT1Z,EAAK1+D,KAAKo9E,IAGd1e,EAAKvhF,IAAIs8F,cAAgBroB,EAAOC,QAAQv2E,OAASqiG,EACjDze,EAAKvhF,IAAIu8F,cAAgBtoB,EAAOE,QAAQx2E,OACxC4jF,EAAKvhF,IAAIq8F,YAAc36B,GAASuS,EAAOxS,OACvC8f,EAAKvhF,IAAIw8F,WAAavoB,EAAOz2B,KAAK7/C,OAClC4jF,EAAKvhF,IAAIk+E,UAAYjK,EAAOiD,MAAQxV,GAASuS,EAAOxS,OAAS,gBAE7D8f,EAAKvhF,IAAI4iB,OACT2+D,EAAKvhF,IAAIk7F,S,qBAIjB7pB,EAAO,E,IACU6uB,EAAAL,E,wBAAA/qD,EAAAorD,EAAAt1G,QAAViiG,EAAMqT,EAAAprD,GACQ,IAAjB+3C,EAAOhyE,QAAgC2mD,GAAcqrB,EAAOprB,QAAUorB,EAAOt/C,MAAQ,EAChE,IAAjBs/C,EAAOhyE,MAAP,MACA,GAAMnxB,KAAKy2G,yBACPtT,EAAOprB,MACPorB,EAAOt/C,MACP8jC,EACAiqB,EAAM/G,OAAM,IANpB,QADoB,O,cAGhBz8F,EAAA2zD,O,qBAOwB,IAAjBohC,EAAOhyE,MAAP,MACP,GAAMnxB,KAAKy2G,yBACPtT,EAAOprB,MACPorB,EAAOt/C,MACP8jC,EACAiqB,EAAM/G,OAAM,I,cAJhBz8F,EAAA2zD,O,qBAOwB,IAAjBohC,EAAOhyE,MAAP,MACP,GAAMnxB,KAAK+1G,mBAAmB5S,EAAOprB,MAAOorB,EAAOt/C,MAAO8jC,EAAMiqB,EAAM/G,S,cAAtEz8F,EAAA2zD,O,cAEA,SAAM/hE,KAAK61G,kBAAkB1S,EAAOprB,MAAO4P,EAAMiqB,EAAM/G,S,QAAvDz8F,EAAA2zD,O,mBAGR4lB,I,0BAxBiBv8B,I,gCA4BnBwlD,EAAAl3E,UAAA+8E,yBAAN,SACI1+B,EACAl0B,EACA8jC,EACAmuB,EACA3kF,G,8GAEAnxB,KAAKsW,IAAI+6F,OAEHqF,EAAc5I,GAAyBgI,EAAanuB,GACpDgvB,EAAWlJ,GAAmBqI,EAAanuB,GAEnC,IAAVx2D,IACAnxB,KAAKm5B,KAAKw9E,GACV32G,KAAKsW,IAAIi7F,QAIT/J,GAAcmP,EAAS,KACvBC,EAAUD,EAAS,GAAmBjlG,MAAMujC,EAC5C4hE,EAAUF,EAAS,GAAmBjlG,MAAM6iC,IAE5CqiE,EAAUD,EAAS,GAAc1hE,EACjC4hE,EAAUF,EAAS,GAAcpiE,GAEjCizD,GAAcmP,EAAS,KACvBG,EAAQH,EAAS,GAAmBhlG,IAAIsjC,EACxC8hE,EAAQJ,EAAS,GAAmBhlG,IAAI4iC,IAExCuiE,EAAQH,EAAS,GAAc1hE,EAC/B8hE,EAAQJ,EAAS,GAAcpiE,GAK/BrzC,EADS,IAATymF,GAAuB,IAATA,EACL1zD,KAAKgnB,IAAI27D,EAASE,GAElB7iF,KAAKgnB,IAAI47D,EAASE,GAG/B/2G,KAAKsW,IAAIi9F,YACK,IAAVpiF,EACAnxB,KAAKw0G,WAAWkC,GAEhB12G,KAAKw0G,WAAWmC,EAAS5iG,MAAM,EAAG,IAGlCijG,EAAanzD,EAAQ,EAAY,EAARA,EAAoB,EAARA,EACrCozD,EAAcpzD,EAAQ,EAAY,EAARA,EAAYA,EAC5B,IAAV1yB,IACA6lF,EAAanzD,EACbozD,EAAcpzD,GAGdqzD,GAAc,EACdh2G,GAAuB,EAAb81G,EACVE,GAAc,EACPh2G,GAAuB,EAAb81G,EAAiBC,GAC5BE,EAAaj2G,GAAU,EAAI81G,EAAaC,GAC9CD,GAAcG,EACdF,GAAeE,IAETC,EAAiBnjF,KAAKwlC,OAAOv4D,EAAS+1G,IAAgBD,EAAaC,IACnEI,GAAYn2G,EAASk2G,EAAiBJ,IAAeI,EAAiB,GACtEE,GAAYp2G,GAAUk2G,EAAiB,GAAKJ,GAAcI,EAChEH,EACIK,GAAY,GAAKrjF,KAAKgnB,IAAIg8D,EAAcI,GAAYpjF,KAAKgnB,IAAIg8D,EAAcK,GACrED,EACAC,GAGVJ,IACc,IAAV/lF,EACAnxB,KAAKsW,IAAIihG,YAAY,CAAC,EAAGP,EAAaC,IAEtCj3G,KAAKsW,IAAIihG,YAAY,CAACP,EAAYC,KAI5B,IAAV9lF,GACAnxB,KAAKsW,IAAIkhG,QAAU,QACnBx3G,KAAKsW,IAAI08F,UAAYnvD,GAErB7jD,KAAKsW,IAAI08F,UAAoB,EAARnvD,EAAY,IAErC7jD,KAAKsW,IAAIy8F,YAAc/6B,GAASD,GAChC/3E,KAAKsW,IAAImhG,SACTz3G,KAAKsW,IAAIihG,YAAY,IAGP,IAAVpmF,IACIq2E,GAAcmP,EAAS,MACjBe,EAAQf,EAAS,GACjBgB,EAAQhB,EAAS,GACvB32G,KAAKsW,IAAIi9F,YACTvzG,KAAKw0G,WAAW,CAAC,IAAI/N,GAAOiR,EAAM/lG,IAAIsjC,EAAGyiE,EAAM/lG,IAAI4iC,GAAI,IAAIkyD,GAAOkR,EAAMjmG,MAAMujC,EAAG0iE,EAAMjmG,MAAM6iC,KAC7Fv0C,KAAKsW,IAAImhG,UAETjQ,GAAcmP,EAAS,MACjBe,EAAQf,EAAS,GACjBgB,EAAQhB,EAAS,GACvB32G,KAAKsW,IAAIi9F,YACTvzG,KAAKw0G,WAAW,CAAC,IAAI/N,GAAOiR,EAAM/lG,IAAIsjC,EAAGyiE,EAAM/lG,IAAI4iC,GAAI,IAAIkyD,GAAOkR,EAAMjmG,MAAMujC,EAAG0iE,EAAMjmG,MAAM6iC,KAC7Fv0C,KAAKsW,IAAImhG,WAIjBz3G,KAAKsW,IAAIk7F,U,WAGPZ,EAAAl3E,UAAAtiB,OAAN,SAAa4uC,G,gGAQT,OAPIhmD,KAAK4V,QAAQ4sE,kBACbxiF,KAAKsW,IAAIk+E,UAAYxc,GAASh4E,KAAK4V,QAAQ4sE,iBAC3CxiF,KAAKsW,IAAIm+E,SAASz0F,KAAK4V,QAAQq/B,EAAGj1C,KAAK4V,QAAQ2+B,EAAGv0C,KAAK4V,QAAQiuC,MAAO7jD,KAAK4V,QAAQkuC,SAGjFmpD,EAAQO,GAAsBxnD,GAEpC,GAAMhmD,KAAKyxG,YAAYxE,I,OAEvB,OAFA7+F,EAAA2zD,OACA/hE,KAAKkxG,aAAa,IACX,CAAP,EAAOlxG,KAAKi0F,Q,QAEpB2c,CAAA,CAh1BA,CAAoCF,IAk1B9B+C,GAAqB,SACvBhlF,GAEA,OAAIA,aAAqB8qE,KAEd9qE,aAAqB2qE,IAErB3qE,aAAqBwqE,IAAyBxqE,EAAU1pB,OAASg0F,IAAStqE,EAAU1pB,OAAS+zF,GAI5G,EAEMsd,GAAwC,SAAC7E,EAAuB1G,GAClE,OAAQ0G,GACJ,KAAK,EACD,OAAO3G,GAAuBC,GAClC,KAAK,EACD,OAAOC,GAAwBD,GACnC,KAAK,EACL,QACI,OAAOE,GAAwBF,GAE3C,EAEM6I,GAAkB,SAACrpB,GACrB,OAAQA,GACJ,KAAK,EACD,MAAO,SACX,KAAK,EACD,MAAO,QACX,KAAK,EACL,QACI,MAAO,OAEnB,EAGMutB,GAAiB,CAAC,gBAAiB,aAEnCtF,GAAoB,SAACuF,GACvB,MAAO,qBAAqB59E,KAAK0O,OAAOwS,UAAUsI,WAC5Co0D,EAAazxG,QAAO,SAAC+lF,GAAe,OAAwC,IAAxCyrB,GAAeplG,QAAQ25E,EAAkB,IAC7E0rB,CACV,ECt7BAC,GAAA,SAAAlgB,GAKI,SAAAkgB,EAAYvxF,EAAkB3Q,GAA9B,IAAAiiF,EACID,EAAAluF,KAAA,KAAM6c,EAAS3Q,IAAQ,K,OACvBiiF,EAAK5D,OAASr+E,EAAQq+E,OAASr+E,EAAQq+E,OAAStwD,SAASvW,cAAc,UACvEyqE,EAAKvhF,IAAMuhF,EAAK5D,OAAOC,WAAW,MAClC2D,EAAKjiF,QAAUA,EACfiiF,EAAK5D,OAAOpwC,MAAQ5vB,KAAKwlC,MAAM7jD,EAAQiuC,MAAQjuC,EAAQk7F,OACvDjZ,EAAK5D,OAAOnwC,OAAS7vB,KAAKwlC,MAAM7jD,EAAQkuC,OAASluC,EAAQk7F,OACzDjZ,EAAK5D,OAAO9iE,MAAM0yB,MAAWjuC,EAAQiuC,MAAK,KAC1Cg0C,EAAK5D,OAAO9iE,MAAM2yB,OAAYluC,EAAQkuC,OAAM,KAE5C+zC,EAAKvhF,IAAIw6F,MAAMjZ,EAAKjiF,QAAQk7F,MAAOjZ,EAAKjiF,QAAQk7F,OAChDjZ,EAAKvhF,IAAI06F,WAAWp7F,EAAQq/B,GAAIr/B,EAAQ2+B,GACxCsjD,EAAKtxE,QAAQ64E,OAAOoG,MAChB,oDAAoD5vF,EAAQiuC,MAAK,IAAIjuC,EAAQkuC,OAAM,OAAOluC,EAAQq/B,EAAC,IAAIr/B,EAAQ2+B,EAAC,gBAAgB3+B,EAAQk7F,O,EAwBpJ,OA1C2C5vC,EAAA42C,EAAAlgB,GAsBjCkgB,EAAAp+E,UAAAtiB,OAAN,SAAa4uC,G,kGASG,OARN2uC,EAAMC,GACR50F,KAAK4V,QAAQiuC,MAAQ7jD,KAAK4V,QAAQk7F,MAClC9wG,KAAK4V,QAAQkuC,OAAS9jD,KAAK4V,QAAQk7F,MACnC9wG,KAAK4V,QAAQk7F,MACb9wG,KAAK4V,QAAQk7F,MACb9qD,GAGQ,GAAM+xD,GAAkBpjB,I,OASpC,OATM7/B,EAAM1mD,EAAA2zD,OAER/hE,KAAK4V,QAAQ4sE,kBACbxiF,KAAKsW,IAAIk+E,UAAYxc,GAASh4E,KAAK4V,QAAQ4sE,iBAC3CxiF,KAAKsW,IAAIm+E,SAAS,EAAG,EAAGz0F,KAAK4V,QAAQiuC,MAAQ7jD,KAAK4V,QAAQk7F,MAAO9wG,KAAK4V,QAAQkuC,OAAS9jD,KAAK4V,QAAQk7F,QAGxG9wG,KAAKsW,IAAI89E,UAAUt/B,GAAM90D,KAAK4V,QAAQq/B,EAAIj1C,KAAK4V,QAAQk7F,OAAQ9wG,KAAK4V,QAAQ2+B,EAAIv0C,KAAK4V,QAAQk7F,OAEtF,CAAP,EAAO9wG,KAAKi0F,Q,QAEpB6jB,CAAA,CA1CA,CAA2CpH,IA4C9BqH,GAAoB,SAACpjB,GAC9B,WAAI1jF,SAAQ,SAACC,EAASuwD,GAClB,IAAM3M,EAAM,IAAI6+B,MAChB7+B,EAAImgC,OAAS,WACT/jF,EAAQ4jD,E,EAEZA,EAAIogC,QAAUzzB,EAEd3M,EAAIq/B,IAAM,oCAAoCgB,oBAAmB,IAAIC,eAAgBC,kBAAkBV,G,GAP3G,EC9CJqjB,GAAA,WAOI,SAAAA,EAAY5pG,G,IAACqD,EAAErD,EAAAqD,GAAE4wC,EAAOj0C,EAAAi0C,QACpBriD,KAAKyR,GAAKA,EACVzR,KAAKqiD,QAAUA,EACfriD,KAAK0R,MAAQs7B,KAAKC,K,CAwD1B,OApDI+qE,EAAAt+E,UAAA8rE,MAAA,W,IAAM,IAAA/+F,EAAA,GAAA2kD,EAAA,EAAAA,EAAAjjC,UAAAjnB,OAAAkqD,IAAA3kD,EAAA2kD,GAAAjjC,UAAAijC,GACEprD,KAAKqiD,UAEiB,qBAAX1Z,QAA0BA,OAAOp4B,SAAoC,oBAAlBA,QAAQi1F,MAElEj1F,QAAQi1F,MAAK3+F,MAAb0J,QAAO6xD,EAAA,CAAOpiE,KAAKyR,GAAOzR,KAAKgyC,UAAS,MAASvrC,IAEjDzG,KAAK2gG,KAAI95F,MAAT7G,KAAayG,G,EAKzBuxG,EAAAt+E,UAAAsY,QAAA,WACI,OAAOhF,KAAKC,MAAQjtC,KAAK0R,K,EAI7BsmG,EAAAt+E,UAAAinE,KAAA,W,IAAK,IAAAl6F,EAAA,GAAA2kD,EAAA,EAAAA,EAAAjjC,UAAAjnB,OAAAkqD,IAAA3kD,EAAA2kD,GAAAjjC,UAAAijC,GACGprD,KAAKqiD,SAEiB,qBAAX1Z,QAA0BA,OAAOp4B,SAAmC,oBAAjBA,QAAQowF,MAElEpwF,QAAQowF,KAAI95F,MAAZ0J,QAAO6xD,EAAA,CAAMpiE,KAAKyR,GAAOzR,KAAKgyC,UAAS,MAASvrC,G,EAM5DuxG,EAAAt+E,UAAA2lE,KAAA,W,IAAK,IAAA54F,EAAA,GAAA2kD,EAAA,EAAAA,EAAAjjC,UAAAjnB,OAAAkqD,IAAA3kD,EAAA2kD,GAAAjjC,UAAAijC,GACGprD,KAAKqiD,UAEiB,qBAAX1Z,QAA0BA,OAAOp4B,SAAmC,oBAAjBA,QAAQ8uF,KAElE9uF,QAAQ8uF,KAAIx4F,MAAZ0J,QAAO6xD,EAAA,CAAMpiE,KAAKyR,GAAOzR,KAAKgyC,UAAS,MAASvrC,IAEhDzG,KAAK2gG,KAAI95F,MAAT7G,KAAayG,G,EAMzBuxG,EAAAt+E,UAAAlpB,MAAA,W,IAAM,IAAA/J,EAAA,GAAA2kD,EAAA,EAAAA,EAAAjjC,UAAAjnB,OAAAkqD,IAAA3kD,EAAA2kD,GAAAjjC,UAAAijC,GACEprD,KAAKqiD,UAEiB,qBAAX1Z,QAA0BA,OAAOp4B,SAAoC,oBAAlBA,QAAQC,MAElED,QAAQC,MAAK3J,MAAb0J,QAAO6xD,EAAA,CAAOpiE,KAAKyR,GAAOzR,KAAKgyC,UAAS,MAASvrC,IAEjDzG,KAAK2gG,KAAI95F,MAAT7G,KAAayG,G,EA7DlBuxG,EAAAC,UAAqC,CAAC,EAiEjDD,C,CAlEA,GCIAE,GAAA,WAOI,SAAAA,EAAYtiG,EAAgC8sD,G,MAAA,KAAAA,aAAAA,EAN3B,KAAAy1C,aAAe,IAAID,EAAQE,gBAOxCp4G,KAAKo/F,OAAS,IAAI4Y,GAAO,CAACvmG,GAAIzR,KAAKm4G,aAAc91D,QAASzsC,EAAQyiG,UAClEr4G,KAAK+U,MAAqB,QAAb3G,EAAAwH,EAAQb,aAAK,IAAA3G,EAAAA,EAAI,IAAI22F,GAAM/kG,KAAM4V,E,CAEtD,OANmBsiG,EAAAE,cAAgB,EAMnCF,C,CAXA,GCSMI,GAAc,SAACtyD,EAAsBpwC,GACvC,YADuC,IAAAA,IAAAA,EAAA,IAChC2iG,GAAcvyD,EAASpwC,EAClC,EAIsB,qBAAX+yB,QACPw7D,GAAaU,WAAWl8D,QAG5B,IAAM4vE,GAAgB,SAAOvyD,EAAsBwyD,GAAsB,OAAAn3C,OAAA,4B,oIACrE,IAAKrb,GAA8B,kBAAZA,EACnB,MAAO,CAAP,EAAO/0C,QAAQwwD,OAAO,+CAI1B,GAFM1f,EAAgBiE,EAAQjE,eAEzBA,EACD,MAAM,IAAI5K,MAAM,yCAKpB,GAFM6K,EAAcD,EAAcC,aAE7BA,EACD,MAAM,IAAI7K,MAAM,wCAkDpB,OA/CMshE,EAAkB,CACpB3X,WAA2B,QAAfvoB,EAAAigC,EAAK1X,kBAAU,IAAAvoB,GAAAA,EAC3BmtB,aAA+B,QAAjB7uF,EAAA2hG,EAAK9S,oBAAY,IAAA7uF,EAAAA,EAAI,KACnCnK,MAAO8rG,EAAK9rG,MACZ24F,QAAqB,QAAZ3uF,EAAA8hG,EAAKnT,eAAO,IAAA3uF,GAAAA,GAGnBgiG,EAAct3C,EAAA,CAChBi3C,QAAqB,QAAZj2D,EAAAo2D,EAAKH,eAAO,IAAAj2D,GAAAA,EACrBrtC,MAAOyjG,EAAKzjG,OACT0jG,GAGDE,EAAgB,CAClBC,YAA6B,QAAhB/E,EAAA2E,EAAKI,mBAAW,IAAA/E,EAAAA,EAAI7xD,EAAYsO,WAC7CuoD,aAA+B,QAAjBjF,EAAA4E,EAAKK,oBAAY,IAAAjF,EAAAA,EAAI5xD,EAAY82D,YAC/Cja,QAAqB,QAAZkV,EAAAyE,EAAK3Z,eAAO,IAAAkV,EAAAA,EAAI/xD,EAAY0F,YACrCo3C,QAAqB,QAAZgV,EAAA0E,EAAK1Z,eAAO,IAAAgV,EAAAA,EAAI9xD,EAAY4F,aAGnC8a,EAAe,IAAIH,EACrBo2C,EAAc9Z,QACd8Z,EAAc7Z,QACd6Z,EAAcC,YACdD,EAAcE,cAGZtyF,EAAU,IAAI2xF,GAAQQ,EAAgBh2C,GAEtCq2C,EAAoD,QAA3B9E,EAAAuE,EAAKO,8BAAsB,IAAA9E,GAAAA,EAEpD+E,EAAoC,CACtClY,WAA2B,QAAfkT,EAAAwE,EAAK1X,kBAAU,IAAAkT,GAAAA,EAC3B1U,QAASkZ,EAAKlZ,QACdkC,eAAgBgX,EAAKhX,eACrBd,aAAcqY,EACdxX,WAAYwX,GAGhBxyF,EAAQ64E,OAAOoG,MACX,qCAAqC9iC,EAAa7e,MAAK,IACnD6e,EAAa5e,OAAM,iBACN4e,EAAavzB,KAAI,KAAKuzB,EAAarzB,KAGlD4pE,EAAiB,IAAI3a,GAAe/3E,EAASy/B,EAASgzD,GACtDE,EAAgBD,EAAe1Z,uBAChC2Z,EAIa,GAAMD,EAAeva,SAAS38C,EAAe2gB,IAHpD,CAAP,EAAOzxD,QAAQwwD,OAAO,4C,cAGpBhzC,EAAY0qF,EAAAp3C,OAEZ3zD,EACFgtF,GAAc8d,IAAkB3d,GAAc2d,GACxCj2C,EAAkBi2C,EAAcn3D,eAChCihB,EAAYz8C,EAAS2yF,GAHxBr1D,EAAKz1C,EAAAy1C,MAAEC,EAAM11C,EAAA01C,OAAE3U,EAAI/gC,EAAA+gC,KAAEE,EAAGjhC,EAAAihC,IAKzBmzC,EAAkB42B,GAAqB7yF,EAAS2yF,EAAeV,EAAKh2B,iBAEpE62B,EAAsC,CACxCplB,OAAQukB,EAAKvkB,OACbzR,gBAAeA,EACfsuB,MAAiD,QAA1CoD,EAAU,QAAVC,EAAAqE,EAAK1H,aAAK,IAAAqD,EAAAA,EAAInyD,EAAY4E,wBAAgB,IAAAstD,EAAAA,EAAI,EACrDj/D,GAAU,QAAN0+D,EAAA6E,EAAKvjE,SAAC,IAAA0+D,EAAAA,EAAI,GAAKxkE,EACnBoF,GAAU,QAAN+kE,EAAAd,EAAKjkE,SAAC,IAAA+kE,EAAAA,EAAI,GAAKjqE,EACnBwU,MAAiB,QAAV01D,EAAAf,EAAK30D,aAAK,IAAA01D,EAAAA,EAAItlF,KAAKqyC,KAAKziB,GAC/BC,OAAmB,QAAX0W,EAAAg+C,EAAK10D,cAAM,IAAA0W,EAAAA,EAAIvmC,KAAKqyC,KAAKxiB,IAKjCi1D,GACAxyF,EAAQ64E,OAAOoG,MAAM,mDACfpzE,EAAW,IAAI0lF,GAAsBvxF,EAAS8yF,GAC3C,GAAMjnF,EAAShb,OAAO8hG,KAH/B,M,cAGAjlB,EAASklB,EAAAp3C,O,aAkBA,OAhBTx7C,EAAQ64E,OAAOoG,MACX,uCAAuCr2D,EAAI,IAAIE,EAAG,cAAcwU,EAAK,IAAIC,EAAM,6BAGnFv9B,EAAQ64E,OAAOoG,MAAM,wBACfrtF,EAAOyhF,GAAUrzE,EAAS2yF,GAE5B12B,IAAoBrqE,EAAKuwB,OAAO85C,kBAChCrqE,EAAKuwB,OAAO85C,gBAAkB5K,GAAOC,aAGzCtxD,EAAQ64E,OAAOoG,MACX,oCAAoC6T,EAAcpkE,EAAC,IAAIokE,EAAc9kE,EAAC,cAAc8kE,EAAcx1D,MAAK,IAAIw1D,EAAcv1D,QAGvH1xB,EAAW,IAAIw+E,GAAerqF,EAAS8yF,GACpC,GAAMjnF,EAAShb,OAAOe,I,OAA/B87E,EAASklB,EAAAp3C,O,iBAUb,OAPwB,QAApB/lB,EAAAw8D,EAAKgB,uBAAe,IAAAx9D,GAAAA,KACfsiD,GAAerzC,QAAQx8B,IACxBlI,EAAQ64E,OAAO5uF,MAAM,gEAI7B+V,EAAQ64E,OAAOoG,MAAM,sBACd,CAAP,EAAOvR,G,QAGLmlB,GAAuB,SAAC7yF,EAAkBy/B,EAAsByzD,GAClE,IAAM13D,EAAgBiE,EAAQjE,cAExB83C,EAA0B93C,EAAcnO,gBACxCqlC,GAAW1yD,EAASqiB,iBAAiBmZ,EAAcnO,iBAAiB4uC,iBACpE5K,GAAOC,YACPiiB,EAAsB/3C,EAAcpY,KACpCsvC,GAAW1yD,EAASqiB,iBAAiBmZ,EAAcpY,MAAM64C,iBACzD5K,GAAOC,YAEP6hC,EACiC,kBAA5BD,EACDxgC,GAAW1yD,EAASkzF,GACQ,OAA5BA,EACA7hC,GAAOC,YACP,WAEV,OAAO7xB,IAAYjE,EAAcnO,gBAC3BkkC,GAAc+hB,GACV/hB,GAAcgiB,GACV4f,EACA5f,EACJD,EACJ6f,CACV,E;;;;;;ACzKA,SAA2CvhG,EAAMwhG,GAE/CC,EAAOC,QAAUF,EAAQG,EAAQ,MAAUA,EAAQ,MAOpD,CATD,CASGrsG,MAAM,SAASssG,EAAmCC,GACrD,OAAiB,WACP,IAAIC,EAAuB,CAE/B;;;4CAA4B,SAIlBC,EAAyBC,EAAqBC,GAE9D,aACAA,EAAoB7rG,EAAE4rG,GACkFC,wDAA2E,kEAEzFA,0CAA6D,oDAFlI,IAIIC,EAA0CD,qBAAwC,mBAClFE,EAAyCF,oBAAuC,kBAOrGG,EAAW,GACXC,EAAO,CACTC,YAAaJ,EAAwCj2F,QAAQsV,UAAU+gF,YACvEC,MAAOL,EAAwCj2F,QAAQsV,UAAUghF,OAGnEL,EAAwCj2F,QAAQsV,UAAU+gF,YAAc,WACtE,OAAOD,EAAKC,YAAY/wG,KAAK1J,MAAMsR,MAAK,WAEtC,GAAItR,KAAKqjB,IAAIs3F,YAAa,CAExB,IAAIlsF,EAAYzuB,KAAKkqB,KAAKuE,UACtBmsF,EAAQnsF,EAAUknB,iBAAiB,KACnCklE,GAAgB,EAAGP,EAAuCQ,aAAarsF,EAAUsgB,wBAAyB/uC,KAAKkqB,KAAK6wF,SAASzuF,GACjIiuF,EAAW,GAEX/8F,MAAMkc,UAAUj0B,QAAQiE,KAAKkxG,GAAO,SAAUvW,GAI5C,IAFA,IAAI/N,EAAc+N,EAAKjxD,iBAEdpyC,EAAI,EAAGA,EAAIs1F,EAAYp1F,OAAQF,IAAK,CAC3C,IAAIyhE,GAAa,EAAG63C,EAAuCQ,aAAaxkB,EAAYt1F,GAAIhB,KAAKkqB,KAAK6wF,SAASzuF,GAC3Gm2C,EAAWtzB,MAAQ0rE,EAAc1rE,KACjCszB,EAAWpzB,KAAOwrE,EAAcxrE,IAChC,IAAI2rE,EAAO/mF,KAAKwlC,MAAMgJ,EAAWpzB,IAAMrvC,KAAKkqB,KAAK6wF,SAASE,MAAMn3D,QAAU,EACtEzU,EAAMrvC,KAAKqjB,IAAIu/B,OAAO,GAAK6f,EAAWpzB,IAAMrvC,KAAKkqB,KAAK6wF,SAASE,MAAMn3D,OACrE3U,EAAOnvC,KAAKqjB,IAAIu/B,OAAO,GAAK6f,EAAWtzB,KAC3CorE,EAASh6G,KAAK,CACZy6G,KAAMA,EACN3rE,IAAKA,EACLF,KAAMA,EACNszB,WAAYA,EACZ4hC,KAAMA,GAEV,CACF,GAAGrkG,KACL,CACF,GACF,EAEAq6G,EAAwCj2F,QAAQsV,UAAUghF,MAAQ,WAChE,OAAOF,EAAKE,MAAMhxG,KAAK1J,MAAMsR,MAAK,WAEhC,GAAItR,KAAKqjB,IAAIs3F,YAAa,CAExBJ,EAAS90G,SAAQ,SAAUxE,GACzBjB,KAAKkqB,KAAKgxF,IAAIC,QAAQl6G,EAAE+5G,MACxBh7G,KAAKkqB,KAAKgxF,IAAI7W,KAAKpjG,EAAEkuC,KAAMluC,EAAEouC,IAAKpuC,EAAEwhE,WAAW5e,MAAO5iD,EAAEwhE,WAAW3e,OAAQ,CACzE8iC,IAAK3lF,EAAEojG,KAAKE,MAEhB,GAAGvkG,MAEH,IAAIo7G,EAASp7G,KAAKkqB,KAAKgxF,IAAIG,SAASC,mBACpCt7G,KAAKkqB,KAAKgxF,IAAIC,QAAQC,EACxB,CACF,GACF,CAEO,EAED;;;8CAA8B,SAIpBlB,EAAyBC,EAAqBC,GAE9D,aACAA,EAAoB7rG,EAAE4rG,GAC+DC,qCAAwD,+CAE5CA,iDAAoE,2DAEtEA,+CAAkE,yDAEnEA,8CAAiE,wDAElEA,6CAAgE,uDAE/DA,8CAAiE,wDAEvDA,wDAA2E,kEAZ9J,IAcImB,EAAqCnB,cAAiC,SAU/F,SAASoB,EAAQx0G,GAAmV,OAAtOw0G,EAArD,oBAAX72G,QAAoD,kBAApBA,OAAO8F,SAAmC,SAAiBzD,GAAO,cAAcA,CAAK,EAAsB,SAAiBA,GAAO,OAAOA,GAAyB,oBAAXrC,QAAyBqC,EAAIlH,cAAgB6E,QAAUqC,IAAQrC,OAAO+0B,UAAY,gBAAkB1yB,CAAK,EAAYw0G,EAAQx0G,EAAM,CAKzXu0G,EAAmCE,MAAMC,YAAc,SAAUC,EAAannC,EAAMiO,GAElF,GAA6B,WAAzB+4B,EAAQG,GAA2B,CACrC,IAAI/lG,EAAU+lG,EACdA,EAAc/lG,EAAQ+lG,YACtBnnC,EAAO5+D,EAAQ4+D,MAAQA,EACvBiO,EAAS7sE,EAAQ6sE,QAAUA,CAC7B,CAGAjO,EAAOA,GAAQ,KACfiO,EAASA,GAAU,KACnBk5B,GAAe,IAAMA,GAAe,MAAM5lG,cAC1C,IAAI6lG,GAAoB,GAAKn5B,GAAQ1sE,cAEjC8lG,EAAc,CAChB,GAAM,CAAC,QAAS,SAChB,GAAM,CAAC,QAAS,SAChB,GAAM,CAAC,QAAS,SAChB,GAAM,CAAC,OAAQ,SACf,GAAM,CAAC,OAAQ,QACf,GAAM,CAAC,OAAQ,QACf,GAAM,CAAC,OAAQ,QACf,GAAM,CAAC,OAAQ,QACf,GAAM,CAAC,MAAQ,QACf,GAAM,CAAC,OAAQ,OACf,IAAO,CAAC,KAAO,QACf,GAAM,CAAC,QAAS,SAChB,GAAM,CAAC,QAAS,SAChB,GAAM,CAAC,QAAS,SAChB,GAAM,CAAC,QAAS,SAChB,GAAM,CAAC,OAAQ,SACf,GAAM,CAAC,MAAQ,QACf,GAAM,CAAC,OAAQ,OACf,GAAM,CAAC,OAAQ,QACf,GAAM,CAAC,OAAQ,QACf,GAAM,CAAC,OAAQ,QACf,IAAO,CAAC,MAAO,QACf,GAAM,CAAC,QAAS,SAChB,GAAM,CAAC,QAAS,SAChB,GAAM,CAAC,QAAS,SAChB,GAAM,CAAC,OAAQ,SACf,GAAM,CAAC,OAAQ,QACf,GAAM,CAAC,OAAQ,QACf,GAAM,CAAC,OAAQ,QACf,GAAM,CAAC,OAAQ,QACf,GAAM,CAAC,OAAQ,QACf,GAAM,CAAC,OAAQ,QACf,IAAO,CAAC,MAAO,QACf,GAAM,CAAC,OAAQ,QACf,OAAU,CAAC,IAAK,KAChB,oBAAqB,CAAC,IAAK,KAC3B,MAAS,CAAC,IAAK,MACf,eAAgB,CAAC,IAAK,KACtB,OAAU,CAAC,KAAM,KACjB,QAAW,CAAC,IAAK,MACjB,cAAe,CAAC,IAAK,MAGvB,OAAQrnC,GACN,IAAK,KACH,IAAIloD,EAAI,EACR,MAEF,IAAK,KACCA,EAAI,GAAK,KACb,MAEF,IAAK,KACCA,EAAI,GAAK,KACb,MAEF,IAAK,KACCA,EAAI,GACR,MAEF,IAAK,KACCA,EAAI,IACR,MAEF,IAAK,KACCA,EAAI,GACR,MAEF,IAAK,KACCA,EAAI,GACR,MAEF,IAAK,KACCA,EAAI,EACR,MAEF,QACE,KAAM,iBAAmBkoD,EAI7B,GAAIqnC,EAAY/0G,eAAe80G,GAC7B,IAAIE,EAAaD,EAAYD,GAAkB,GAAKtvF,EAChDyvF,EAAYF,EAAYD,GAAkB,GAAKtvF,OAEnD,IACMwvF,EAAar5B,EAAO,GACpBs5B,EAAYt5B,EAAO,EACzB,CAAE,MAAOpzE,GACP,MAAM,IAAI8nC,MAAM,mBAAqBsrC,EACvC,CAIF,GAAoB,MAAhBk5B,GAAuC,aAAhBA,GAGzB,GAFAA,EAAc,IAEVI,EAAYD,EAAY,CAC1B,IAAIrqE,EAAMsqE,EACVA,EAAYD,EACZA,EAAarqE,CACf,MACK,IAAoB,MAAhBkqE,GAAuC,cAAhBA,EAShC,KAAM,wBAA0BA,EANhC,GAFAA,EAAc,IAEVG,EAAaC,EAAW,CACtBtqE,EAAMsqE,EACVA,EAAYD,EACZA,EAAarqE,CACf,CAGF,CAGA,IAAIkvD,EAAO,CACT,MAASob,EACT,OAAUD,EACV,KAAQtnC,EACR,EAAKloD,GAEP,OAAOq0E,CACT,EAE6BwZ,EAAoB,WAAcoB,EAAmCE,KAE3F,EAED;;;4CAA4B,SAIlBvB,EAAyBC,EAAqBC,GAE9D,aACAA,EAAoB7rG,EAAE4rG,GACqEC,2CAA8D,qDAE/DA,0CAA6D,oDAE9DA,yCAA4D,mDAE7CA,wDAA2E,kEAEzFA,0CAA6D,oDARlI,IAUI4B,EAA0C5B,qBAAwC,mBAClF6B,EAAyC7B,oBAAuC,kBA+BrGI,EAAO,CACTC,YAAauB,EAAwC53F,QAAQsV,UAAU+gF,aAGzEuB,EAAwC53F,QAAQye,SAASxf,IAAI64F,UAAY,CACvE/gF,KAAM,CAAC,MAAO,UACdwJ,OAAQ,GACRs9D,MAAO,GACPka,MAAO,IAGTH,EAAwC53F,QAAQsV,UAAU+gF,YAAc,WACtE,OAAOD,EAAKC,YAAY/wG,KAAK1J,MAAMsR,MAAK,WAEtC,IAAI6G,EAAOnY,KAAKkqB,KAAKuE,UACjB2tF,EAAep8G,KAAKkqB,KAAK6wF,SAASE,MAAMoB,GAAGv4D,OAE3Cw4D,EAAU,GAAG9jG,OAAOxY,KAAKqjB,IAAI64F,UAAU/gF,MACvCA,EAAO,CACTohF,UAA4C,IAAlCD,EAAQ9pG,QAAQ,aAC1BizB,KAAiC,IAA5B62E,EAAQ9pG,QAAQ,OACrBgqG,QAAuC,IAA/BF,EAAQ9pG,QAAQ,WAGtBiqG,EAAS,CAAC,EACVhvG,EAAOzN,KACX,CAAC,SAAU,QAAS,SAASyF,SAAQ,SAAUT,GAC7C,IAAIu+F,EAAMpoE,EAAKohF,UAAoB,UAARv3G,EAC3By3G,EAAOz3G,GAAOu+F,EAAM,GAAK,GAAG/qF,OAAO/K,EAAK4V,IAAI64F,UAAUl3G,IAAQ,IAE1Dy3G,EAAOz3G,GAAK9D,OAAS,IACvBu7G,EAAOz3G,GAAOwY,MAAMkc,UAAU3lB,MAAMrK,KAAKyO,EAAKw9B,iBAAiB8mE,EAAOz3G,GAAKglC,KAAK,QAEpF,IAEA,IAAI0yE,EAAYvkG,EAAKw9B,iBAAiB,yBACtC+mE,EAAYl/F,MAAMkc,UAAU3lB,MAAMrK,KAAKgzG,GAEvC,IAAIC,EAAMxkG,EAAKw9B,iBAAiB,KAChCn4B,MAAMkc,UAAUj0B,QAAQiE,KAAKizG,GAAK,SAAwBhjG,GAExD,IAAIijG,EAAQ,CACVj4E,QAAQ,EACRs9D,MAAO9mE,EAAKqhF,SAAqC,IAA3BE,EAAUlqG,QAAQmH,GACxCwiG,MAAOhhF,EAAKohF,UAGd,GAAIphF,EAAKsK,IAAK,CAEZ,IAAItU,EAAQwX,OAAOC,iBAAiBjvB,GAGhCkjG,EAAW,CAAC,SAAU,OAAQ,OAAQ,SACtCC,EAAW,CAAC,QAAS,cACzBF,EAAQ,CACNj4E,OAAQi4E,EAAMj4E,SAA4E,IAAlEk4E,EAASrqG,QAAQ2e,EAAM4rF,aAAe5rF,EAAM6rF,iBACpE/a,MAAO2a,EAAM3a,QAAyE,IAAhE4a,EAASrqG,QAAQ2e,EAAM8rF,YAAc9rF,EAAM+rF,gBACjEf,MAAOS,EAAMT,QAA2E,IAAlEW,EAAStqG,QAAQ2e,EAAMgsF,aAAehsF,EAAMisF,iBAEtE,CAGAl3G,OAAO/B,KAAKy4G,GAAOn3G,SAAQ,SAAUT,GACnC43G,EAAM53G,GAAO43G,EAAM53G,KAAqC,IAA7By3G,EAAOz3G,GAAKwN,QAAQmH,EACjD,IAGA,IAAI8oD,EAAa9oD,EAAGo1B,wBAEpB,GAAI6tE,EAAMT,QAAUS,EAAMj4E,OAAQ,CAChC,IAAI04E,EAAYppF,KAAKwlC,MAAMgJ,EAAWpzB,IAAM+sE,GACxCkB,EAAUrpF,KAAKwlC,MAAMgJ,EAAWte,OAASi4D,GACzChB,EAASnnF,KAAKgnB,IAAIwnB,EAAWte,OAASse,EAAWpzB,KAAO+sE,EAExDkB,IAAYD,GAAajC,GAAU,IACrCwB,EAAMj4E,QAAS,EAEnB,CAGA,GAAIi4E,EAAMj4E,OAAQ,CAChB,IAAI44E,GAAM,EAAGtB,EAAuC7uF,eAAe,MAAO,CACxE+D,MAAO,CACLmZ,QAAS,QACTwZ,OAAQs4D,EAAe35C,EAAWpzB,IAAM+sE,EAAe,QAG3DziG,EAAGmU,WAAWgW,aAAay5E,EAAK5jG,EAClC,CAGA,GAAIijG,EAAM3a,MAAO,CACXsb,GAAM,EAAGtB,EAAuC7uF,eAAe,MAAO,CACxE+D,MAAO,CACLmZ,QAAS,QACTwZ,OAAQs4D,EAAe35C,EAAWte,OAASi4D,EAAe,QAG9DziG,EAAGmU,WAAWgW,aAAay5E,EAAK5jG,EAAGqU,YACrC,CACF,GACF,GACF,CAEO,EAED;;;gCAAgB,SAINksF,EAAyBC,EAAqBC,GAE9D,aACAA,EAAoB7rG,EAAE4rG,GACDC,EAAoB3wE,EAAE0wE,EAAqB,CACzC,QAAW,WAAa,OAAqBqD,CAAS,EACtD,cAAiB,WAAa,OAAqBpwF,CAAe,EAClE,UAAa,WAAa,OAAqB0X,CAAW,EAC1D,YAAe,WAAa,OAAqBg2E,CAAa,EAC9D,KAAQ,WAAa,OAAqB2C,CAAM,IAE0BrD,iDAAoE,2DAEhFA,qCAAwD,+CAE5CA,iDAAoE,2DAEtEA,+CAAkE,yDAEnEA,8CAAiE,wDAElEA,6CAAgE,uDAE/DA,8CAAiE,wDAEvDA,wDAA2E,kEAWnL,SAASoB,EAAQx0G,GAAmV,OAAtOw0G,EAArD,oBAAX72G,QAAoD,kBAApBA,OAAO8F,SAAmC,SAAiBzD,GAAO,cAAcA,CAAK,EAAsB,SAAiBA,GAAO,OAAOA,GAAyB,oBAAXrC,QAAyBqC,EAAIlH,cAAgB6E,QAAUqC,IAAQrC,OAAO+0B,UAAY,gBAAkB1yB,CAAK,EAAYw0G,EAAQx0G,EAAM,CAGzX,IAAIw2G,EAAU,SAAiBx2G,GAC7B,IAAIjC,EAAOy2G,EAAQx0G,GAEnB,MAAa,cAATjC,EAA6B,YAA8B,WAATA,GAAqBiC,aAAeD,OAAe,SAA2B,WAAThC,GAAqBiC,aAAexB,OAAe,SAA2B,aAATT,GAAuBiC,aAAe2iB,SAAiB,WAAsB3iB,GAAOA,EAAIlH,cAAgB0d,MAAc,QAAiBxW,GAAwB,IAAjBA,EAAIsoC,SAAuB,UAA4B,WAATvqC,EAA0B,SAAqB,SAC7a,EAEIqoB,EAAgB,SAAuB4e,EAAS3oB,GAClD,IAAI1J,EAAKgqB,SAASvW,cAAc4e,GAGhC,GAFI3oB,EAAI6mB,YAAWvwB,EAAGuwB,UAAY7mB,EAAI6mB,WAElC7mB,EAAI0hB,UAAW,CACjBprB,EAAGorB,UAAY1hB,EAAI0hB,UAGnB,IAFA,IAAI24E,EAAU/jG,EAAGgkG,qBAAqB,UAE7B38G,EAAI08G,EAAQx8G,OAAQF,KAAM,EAAG,KACpC08G,EAAQ18G,GAAG8sB,WAAWiW,YAAY25E,EAAQ18G,GAE9C,CAEA,IAAK,IAAIgE,KAAOqe,EAAI8N,MAClBxX,EAAGwX,MAAMnsB,GAAOqe,EAAI8N,MAAMnsB,GAG5B,OAAO2U,CACT,EAEImrB,EAAY,SAASA,EAAUT,EAAMu5E,GAIvC,IAFA,IAAI9/E,EAA0B,IAAlBuG,EAAKiL,SAAiB3L,SAASS,eAAeC,EAAKC,WAAaD,EAAKS,WAAU,GAElFlmB,EAAQylB,EAAKY,WAAYrmB,EAAOA,EAAQA,EAAMoP,aAC3B,IAAtB4vF,GAAiD,IAAnBh/F,EAAM0wB,UAAqC,WAAnB1wB,EAAMijC,UAC9D/jB,EAAMoH,YAAYJ,EAAUlmB,EAAOg/F,IAsBvC,OAlBsB,IAAlBv5E,EAAKiL,WAEe,WAAlBjL,EAAKwd,UACP/jB,EAAM+lB,MAAQxf,EAAKwf,MACnB/lB,EAAMgmB,OAASzf,EAAKyf,OACpBhmB,EAAMo2D,WAAW,MAAME,UAAU/vD,EAAM,EAAG,IACf,aAAlBA,EAAKwd,UAA6C,WAAlBxd,EAAKwd,WAC9C/jB,EAAM/6B,MAAQshC,EAAKthC,OAIrB+6B,EAAM2K,iBAAiB,QAAQ,WAC7B3K,EAAM6pB,UAAYtjB,EAAKsjB,UACvB7pB,EAAM2pB,WAAapjB,EAAKojB,UAC1B,IAAG,IAIE3pB,CACT,EAEIg9E,EAAc,SAAqB9zG,EAAKslB,GAC1C,GAAqB,WAAjBkxF,EAAQx2G,GACV,OAAa,GAANA,EAAW,GAAKslB,EAEvB,IAAIuxF,EAAS,CAAC,EAEd,IAAK,IAAI74G,KAAOgC,EACd62G,EAAO74G,GAAkB,GAAXgC,EAAIhC,GAAY,GAAKsnB,EAGrC,OAAOuxF,CAEX,EAEIJ,EAAO,SAAcx5F,EAAKqI,GAC5B,OAAO2H,KAAKwlC,MAAMx1C,EAAMqI,EAAI,GAAK,GACnC,CAEO,EAED;;;iCAAiB,SAIP4tF,EAAyBC,EAAqBC,GAE9D,aACAA,EAAoB7rG,EAAE4rG,GACsEC,4CAA+D,sDAEnEA,wCAA2D,kDAEzDA,0CAA6D,oDAE5DA,2CAA8D,qDAE1DA,+CAAkE,yDAElEA,+CAAkE,yDAErEA,4CAA+D,sDAEnDA,wDAA2E,kEAd9J,IAgBI0D,EAAqC1D,cAAiC,SAEtE2D,EAA2C3D,oBAAuC,eAElF4D,EAA0C5D,mBAAsC,kBAChF6D,EAA4C7D,oBAAuC,kDACnF8D,EAAiE9D,EAAoBj6F,EAAE89F,GAa5GhtG,EAAWitG,IAAoDjtG,QAG/DktG,EAAS,SAASA,EAAO96F,GAE3B,IAAIlL,EAAOjS,OAAO8pC,OAAOmuE,EAAOC,QAAQntG,EAAQC,WAAYqhC,KAAKgE,MAAMhE,KAAKC,UAAU2rE,EAAOt7E,YACzFp1B,EAAO0wG,EAAOC,QAAQntG,EAAQC,UAAWiH,GAI7C,OAFA1K,EAAOA,EAAK4wG,YAAY,EAAGF,EAAQ,EAAG,CAACA,IACvC1wG,EAAOA,EAAK1J,IAAIsf,GACT5V,CACT,EAGA0wG,EAAOzkF,UAAYxzB,OAAO+Y,OAAOhO,EAAQyoB,WACzCykF,EAAOzkF,UAAU55B,YAAcq+G,EAE/BA,EAAOC,QAAU,SAAiBE,EAASC,GAGzC,OADAD,EAAQr9C,UAAYs9C,GAAWJ,EAAOzkF,UAC/B4kF,CACT,EAEAH,EAAOt7E,SAAW,CAChB3Y,KAAM,CACJiqE,IAAK,KACL1lE,UAAW,KACX+vF,QAAS,KACTvqB,OAAQ,KACRn/B,IAAK,KACLomD,IAAK,KACLH,SAAU,MAEZ0D,SAAU,CACRx6F,IAAK,EACL1D,MAAO,KACPJ,EAAG,EACH8sF,MAAO,IAET5pF,IAAK,CACHq7F,SAAU,WACV97D,OAAQ,CAAC,EAAG,EAAG,EAAG,GAClB8jC,MAAO,CACL3hF,KAAM,OACN45G,QAAS,KAEXhE,aAAa,EACbrC,YAAa,CAAC,EACdmD,MAAO,CAAC,IAKZ0C,EAAOzkF,UAAUjc,KAAO,SAAc02E,EAAKpvF,GACzC,SAASwlB,EAAQ4pE,GACf,QAAQ,EAAG6pB,EAAwCR,SAASrpB,IAC1D,IAAK,SACH,MAAO,SAET,IAAK,UACH,OAAOA,EAAItyC,SAAS9rC,aAA8C,WAA/Bo+E,EAAItyC,SAAS9rC,cAA6B,SAAW,UAE1F,QACE,MAAO,UAEb,CAEA,OAAO/V,KAAKsR,MAAK,WAGf,OAFAvM,EAAOA,GAAQwlB,EAAQ4pE,GAEfpvF,GACN,IAAK,SACH,OAAO/E,KAAK+D,IAAI,CACdowF,KAAK,EAAG6pB,EAAwC5wF,eAAe,MAAO,CACpE2X,UAAWovD,MAIjB,IAAK,UACH,OAAOn0F,KAAK+D,IAAI,CACdowF,IAAKA,IAGT,IAAK,SACH,OAAOn0F,KAAK+D,IAAI,CACdkwF,OAAQE,IAGZ,IAAK,MACH,OAAOn0F,KAAK+D,IAAI,CACd+wD,IAAKq/B,IAGT,QACE,OAAOn0F,KAAKwQ,MAAM,wBAExB,GACF,EAEA2tG,EAAOzkF,UAAU3U,GAAK,SAAYjgB,GAEhC,OAAQA,GACN,IAAK,YACH,OAAO9E,KAAKy6G,cAEd,IAAK,SACH,OAAOz6G,KAAK4+G,WAEd,IAAK,MACH,OAAO5+G,KAAK6+G,QAEd,IAAK,MACH,OAAO7+G,KAAK06G,QAEd,QACE,OAAO16G,KAAKwQ,MAAM,mBAExB,EAEA2tG,EAAOzkF,UAAU+gF,YAAc,WAE7B,IAAIqE,EAAU,CAAC,WACb,OAAO9+G,KAAKkqB,KAAKiqE,KAAOn0F,KAAKwQ,MAAM,qCACrC,EAAG,WACD,OAAOxQ,KAAKkqB,KAAK6wF,UAAY/6G,KAAK++G,aACpC,GACA,OAAO/+G,KAAKg/G,SAASF,GAASxtG,MAAK,WAEjC,IAAI2tG,EAAa,CACfv8D,SAAU,QACVqF,SAAU,SACV4jC,OAAQ,IACRx8C,KAAM,EACN+U,MAAO,EACPC,OAAQ,EACR9U,IAAK,EACLmzC,gBAAiB,mBAEf08B,EAAe,CACjBx8D,SAAU,WACVmB,MAAO7jD,KAAKkqB,KAAK6wF,SAASE,MAAMp3D,MAAQ7jD,KAAKkqB,KAAK6wF,SAASvmC,KAC3DrlC,KAAM,EACN+U,MAAO,EACP7U,IAAK,EACLyU,OAAQ,OACRlB,OAAQ,OACR4/B,gBAAiB,SAGnBy8B,EAAWlzB,QAAU,EAErB,IAAI1uE,GAAS,EAAG2gG,EAAwCl5E,WAAW9kC,KAAKkqB,KAAKiqE,IAAKn0F,KAAKqjB,IAAIi1F,YAAYsF,mBACvG59G,KAAKkqB,KAAKs0F,SAAU,EAAGR,EAAwC5wF,eAAe,MAAO,CACnF8c,UAAW,oBACX/Y,MAAO8tF,IAETj/G,KAAKkqB,KAAKuE,WAAY,EAAGuvF,EAAwC5wF,eAAe,MAAO,CACrF8c,UAAW,sBACX/Y,MAAO+tF,IAETl/G,KAAKkqB,KAAKuE,UAAUyW,YAAY7nB,GAChCrd,KAAKkqB,KAAKs0F,QAAQt5E,YAAYllC,KAAKkqB,KAAKuE,WACxCkV,SAASgG,KAAKzE,YAAYllC,KAAKkqB,KAAKs0F,QACtC,GACF,EAEAL,EAAOzkF,UAAUklF,SAAW,WAE1B,IAAIE,EAAU,CAAC,WACb,OAAOn7E,SAASgG,KAAK8J,SAASzzC,KAAKkqB,KAAKuE,YAAczuB,KAAKy6G,aAC7D,GAEA,OAAOz6G,KAAKg/G,SAASF,GAASxtG,MAAK,WAEjC,IAAIsE,EAAU1P,OAAO8pC,OAAO,CAAC,EAAGhwC,KAAKqjB,IAAIi1F,aAEzC,cADO1iG,EAAQupG,WACRpB,EAAyC/9G,KAAKkqB,KAAKuE,UAAW7Y,EACvE,IAAGtE,MAAK,SAAuB2iF,GAE7B,IAAImrB,EAAap/G,KAAKqjB,IAAIi1F,YAAY6G,YAAc,WAAa,EAEjEC,EAAWnrB,GACXj0F,KAAKkqB,KAAK+pE,OAASA,EACnBtwD,SAASgG,KAAK5F,YAAY/jC,KAAKkqB,KAAKs0F,QACtC,GACF,EAEAL,EAAOzkF,UAAUmlF,MAAQ,WAEvB,IAAIC,EAAU,CAAC,WACb,OAAO9+G,KAAKkqB,KAAK+pE,QAAUj0F,KAAK4+G,UAClC,GAEA,OAAO5+G,KAAKg/G,SAASF,GAASxtG,MAAK,WACjC,IAAI+tG,EAAUr/G,KAAKkqB,KAAK+pE,OAAOI,UAAU,SAAWr0F,KAAKqjB,IAAIqjE,MAAM3hF,KAAM/E,KAAKqjB,IAAIqjE,MAAMi4B,SACxF3+G,KAAKkqB,KAAK4qC,IAAMnxB,SAASvW,cAAc,OACvCptB,KAAKkqB,KAAK4qC,IAAIq/B,IAAMkrB,CACtB,GACF,EAEAlB,EAAOzkF,UAAUghF,MAAQ,WAEvB,IAAIoE,EAAU,CAAC,WACb,OAAO9+G,KAAKkqB,KAAK+pE,QAAUj0F,KAAK4+G,UAClC,EAAG,WACD,OAAO5+G,KAAKkqB,KAAK6wF,UAAY/6G,KAAK++G,aACpC,GAEA,OAAO/+G,KAAKg/G,SAASF,GAASxtG,MAAK,WAEjC,IAAI2iF,EAASj0F,KAAKkqB,KAAK+pE,OACnB5wE,EAAMrjB,KAAKqjB,IAEXi8F,EAAerrB,EAAOnwC,OACtBs4D,EAAenoF,KAAKwlC,MAAMw6B,EAAOpwC,MAAQ7jD,KAAKkqB,KAAK6wF,SAASE,MAAMsE,OAClEnE,EAASnnF,KAAKqyC,KAAKg5C,EAAelD,GAElCN,EAAa97G,KAAKkqB,KAAK6wF,SAASE,MAAMn3D,OAEtC07D,EAAa77E,SAASvW,cAAc,UACpCqyF,EAAUD,EAAWtrB,WAAW,MACpCsrB,EAAW37D,MAAQowC,EAAOpwC,MAC1B27D,EAAW17D,OAASs4D,EAEpBp8G,KAAKkqB,KAAKgxF,IAAMl7G,KAAKkqB,KAAKgxF,KAAO,IAAI4C,EAAmCrC,MAAMp4F,EAAIo4F,OAElF,IAAK,IAAIT,EAAO,EAAGA,EAAOI,EAAQJ,IAAQ,CAEpCA,IAASI,EAAS,GAAKkE,EAAelD,IAAiB,IACzDoD,EAAW17D,OAASw7D,EAAelD,EACnCN,EAAa0D,EAAW17D,OAAS9jD,KAAKkqB,KAAK6wF,SAASE,MAAMp3D,MAAQ27D,EAAW37D,OAI/E,IAAIrP,EAAIgrE,EAAW37D,MACfx/B,EAAIm7F,EAAW17D,OACnB27D,EAAQjrB,UAAY,QACpBirB,EAAQhrB,SAAS,EAAG,EAAGjgD,EAAGnwB,GAC1Bo7F,EAAQrrB,UAAUH,EAAQ,EAAG+mB,EAAOoB,EAAc5nE,EAAGnwB,EAAG,EAAG,EAAGmwB,EAAGnwB,GAE7D22F,GAAMh7G,KAAKkqB,KAAKgxF,IAAIwE,UACxB,IAAIL,EAAUG,EAAWnrB,UAAU,SAAWhxE,EAAIqjE,MAAM3hF,KAAMse,EAAIqjE,MAAMi4B,SACxE3+G,KAAKkqB,KAAKgxF,IAAIr0B,SAASw4B,EAASh8F,EAAIqjE,MAAM3hF,KAAMse,EAAIu/B,OAAO,GAAIv/B,EAAIu/B,OAAO,GAAI5iD,KAAKkqB,KAAK6wF,SAASE,MAAMp3D,MAAOi4D,EAChH,CACF,GACF,EAIAqC,EAAOzkF,UAAUimF,OAAS,SAAgB56G,EAAM6Q,EAASu+E,GAIvD,OAFAA,EAAMA,GAAO,MAEa,QAAtBA,EAAIp+E,eAAiD,UAAtBo+E,EAAIp+E,cAC9B/V,KAAK4/G,UAAU76G,EAAM6Q,GAErB5V,KAAK6/G,UAAU96G,EAAM6Q,EAEhC,EAEAuoG,EAAOzkF,UAAUmmF,UAAY,SAAmB96G,EAAM6Q,GAEpD,IAAIkpG,EAAU,CAAC,WACb,OAAO9+G,KAAKkqB,KAAKgxF,KAAOl7G,KAAK06G,OAC/B,GAEA,OAAO16G,KAAKg/G,SAASF,GAASxtG,MAAK,WAMjC,OAAOtR,KAAKkqB,KAAKgxF,IAAIyE,OAAO56G,EAAM6Q,EACpC,GACF,EAEAuoG,EAAOzkF,UAAUkmF,UAAY,SAAmB76G,EAAM6Q,GAEpD,IAAIkpG,EAAU,CAAC,WACb,OAAO9+G,KAAKkqB,KAAK4qC,KAAO90D,KAAK6+G,OAC/B,GAEA,OAAO7+G,KAAKg/G,SAASF,GAASxtG,MAAK,WACjC,OAAQvM,GACN,UAAK+mE,EACL,IAAK,MACH,OAAO9rE,KAAKkqB,KAAK4qC,IAEnB,IAAK,gBACL,IAAK,gBACH,OAAO90D,KAAKkqB,KAAK4qC,IAAIq/B,IAEvB,IAAK,UACL,IAAK,UACH,OAAOxwD,SAASmhE,SAASP,KAAOvkG,KAAKkqB,KAAK4qC,IAAIq/B,IAEhD,QACE,KAAM,sBAAwBpvF,EAAO,sBAE3C,GACF,EAEAo5G,EAAOzkF,UAAU23E,KAAO,SAAcqN,GAEpC,IAAII,EAAU,CAAC,WACb,OAAO9+G,KAAKkqB,KAAKgxF,KAAOl7G,KAAK06G,OAC/B,GAEA,OAAO16G,KAAKg/G,SAASF,GAAS/6G,IAAI26G,EAAW,CAC3CA,SAAUA,GACR,MAAMptG,MAAK,WACbtR,KAAKkqB,KAAKgxF,IAAI7J,KAAKrxG,KAAKqjB,IAAIq7F,SAC9B,GACF,EAIAP,EAAOzkF,UAAU31B,IAAM,SAAasf,GAGlC,GAAiE,YAA7D,EAAG26F,EAAwCR,SAASn6F,GACtD,OAAOrjB,KAIT,IAAI2wC,EAAMzqC,OAAO/B,KAAKkf,GAAO,CAAC,GAAGhd,KAAI,SAAUrB,GAC7C,OAAQA,GACN,IAAK,SACH,OAAOhF,KAAK8/G,UAAUvuG,KAAKvR,KAAMqjB,EAAIu/B,QAEvC,IAAK,QACH,OAAO,WAEL,OADA5iD,KAAKqjB,IAAIo4F,MAAQp4F,EAAIo4F,MACdz7G,KAAK++G,aACd,EAEF,IAAK,WACH,OAAO/+G,KAAK++G,YAAYxtG,KAAKvR,KAAMqjB,EAAI03F,UAEzC,QACE,OAAI/1G,KAAOm5G,EAAOt7E,SAAS3Y,KAElB,WACLlqB,KAAKkqB,KAAKllB,GAAOqe,EAAIre,EACvB,EAGO,WACLhF,KAAKqjB,IAAIre,GAAOqe,EAAIre,EACtB,EAIR,GAAGhF,MAEH,OAAOA,KAAKsR,MAAK,WACf,OAAOtR,KAAKg/G,SAASruE,EACvB,GACF,EAEAwtE,EAAOzkF,UAAUv2B,IAAM,SAAa6B,EAAK+6G,GACvC,OAAO//G,KAAKsR,MAAK,WAEf,IAAI2S,EAAMjf,KAAOm5G,EAAOt7E,SAAS3Y,KAAOlqB,KAAKkqB,KAAKllB,GAAOhF,KAAKqjB,IAAIre,GAClE,OAAO+6G,EAAMA,EAAI97F,GAAOA,CAC1B,GACF,EAEAk6F,EAAOzkF,UAAUomF,UAAY,SAAmBl9D,GAC9C,OAAO5iD,KAAKsR,MAAK,WAEf,QAAQ,EAAG0sG,EAAwCR,SAAS56D,IAC1D,IAAK,SACHA,EAAS,CAACA,EAAQA,EAAQA,EAAQA,GAEpC,IAAK,QAKH,GAJsB,IAAlBA,EAAO1hD,SACT0hD,EAAS,CAACA,EAAO,GAAIA,EAAO,GAAIA,EAAO,GAAIA,EAAO,KAG9B,IAAlBA,EAAO1hD,OACT,MAGJ,QACE,OAAOlB,KAAKwQ,MAAM,yBAItBxQ,KAAKqjB,IAAIu/B,OAASA,CACpB,IAAGtxC,KAAKtR,KAAK++G,YACf,EAEAZ,EAAOzkF,UAAUqlF,YAAc,SAAqBhE,GAClD,OAAO/6G,KAAKsR,MAAK,WAEfypG,EAAWA,GAAY+C,EAAmCrC,MAAMC,YAAY17G,KAAKqjB,IAAIo4F,OAEhFV,EAASj0G,eAAe,WAC3Bi0G,EAASE,MAAQ,CACfp3D,MAAOk3D,EAASl3D,MAAQ7jD,KAAKqjB,IAAIu/B,OAAO,GAAK5iD,KAAKqjB,IAAIu/B,OAAO,GAC7DkB,OAAQi3D,EAASj3D,OAAS9jD,KAAKqjB,IAAIu/B,OAAO,GAAK5iD,KAAKqjB,IAAIu/B,OAAO,IAEjEm4D,EAASE,MAAMoB,GAAK,CAClBx4D,OAAO,EAAGm6D,EAAwCP,MAAM1C,EAASE,MAAMp3D,MAAOk3D,EAASzuF,GACvFw3B,QAAQ,EAAGk6D,EAAwCP,MAAM1C,EAASE,MAAMn3D,OAAQi3D,EAASzuF,IAE3FyuF,EAASE,MAAMsE,MAAQxE,EAASE,MAAMn3D,OAASi3D,EAASE,MAAMp3D,OAIhE7jD,KAAKkqB,KAAK6wF,SAAWA,CACvB,GACF,EAEAoD,EAAOzkF,UAAU2kF,YAAc,SAAqBp6F,EAAK1D,EAAOJ,EAAG8sF,GAQjE,OANW,MAAPhpF,IAAajkB,KAAKy+G,SAASx6F,IAAMA,GACxB,MAAT1D,IAAevgB,KAAKy+G,SAASl+F,MAAQA,GAChC,MAALJ,IAAWngB,KAAKy+G,SAASt+F,EAAIA,GACpB,MAAT8sF,IAAejtG,KAAKy+G,SAASxR,MAAQA,GACzCjtG,KAAKy+G,SAASc,MAAQv/G,KAAKy+G,SAASx6F,IAAMjkB,KAAKy+G,SAASl+F,MAEjDvgB,IACT,EAEAm+G,EAAOzkF,UAAUsmF,eAAiB,SAAwB/7F,EAAK1D,EAAOJ,EAAG8sF,GAEvE,OAAOjtG,KAAKq+G,YAAYp6F,EAAMjkB,KAAKy+G,SAASx6F,IAAMA,EAAM,KAAM1D,GAAgB,KAAMJ,EAAIngB,KAAKy+G,SAASt+F,EAAIA,EAAI,KAAM8sF,EAAQjtG,KAAKy+G,SAASxR,MAAMz0F,OAAOy0F,GAAS,KAClK,EAIAkR,EAAOzkF,UAAUpoB,KAAO,SAAc2uG,EAAaC,GAEjD,IAAIzyG,EAAOzN,KACX,OAAOA,KAAKmgH,SAASF,EAAaC,GAAY,SAAmBD,EAAaC,GAG5E,OADAzyG,EAAKuyG,eAAe,KAAM,KAAM,EAAG,CAACC,IAC7BhvG,EAAQyoB,UAAUpoB,KAAK5H,KAAK1J,MAAM,SAAkBikB,GAEzD,OADAxW,EAAKuyG,eAAe,KAAMC,GACnBh8F,CACT,IAAG3S,KAAK2uG,EAAaC,GAAY5uG,MAAK,SAAmB2S,GAEvD,OADAxW,EAAKuyG,eAAe,GACb/7F,CACT,GACF,GACF,EAEAk6F,EAAOzkF,UAAUymF,SAAW,SAAkBF,EAAaC,EAAYE,GAErEA,EAAWA,GAAYnvG,EAAQyoB,UAAUpoB,KAEzC,IAAI7D,EAAOzN,KAEPigH,IACFA,EAAcA,EAAY1uG,KAAK9D,IAG7ByyG,IACFA,EAAaA,EAAW3uG,KAAK9D,IAI/B,IAAI4yG,GAA4D,IAAjDpvG,EAAQs4B,WAAW/2B,QAAQ,kBAA4C,YAAjBvB,EAAQgJ,KACzEqmG,EAAcD,EAAW5yG,EAAO0wG,EAAOC,QAAQl4G,OAAO8pC,OAAO,CAAC,EAAGviC,GAAOwD,EAAQyoB,WAEhF6mF,EAAYH,EAAS12G,KAAK42G,EAAaL,EAAaC,GACxD,OAAO/B,EAAOC,QAAQmC,EAAW9yG,EAAKwzD,UACxC,EAEAk9C,EAAOzkF,UAAU8mF,aAAe,SAAsBP,EAAaC,GAEjE,OAAOjvG,EAAQyoB,UAAUpoB,KAAK5H,KAAK1J,KAAMigH,EAAaC,EACxD,EAEA/B,EAAOzkF,UAAUslF,SAAW,SAAkBruE,GAE5C,IAAIljC,EAAOzN,KAIX,OAHA2wC,EAAIlrC,SAAQ,SAA0B/E,GACpC+M,EAAOA,EAAK0yG,SAASz/G,EACvB,IACO+M,CACT,EAEA0wG,EAAOzkF,UAAU,SAAW,SAAUwmF,GAEhCA,IACFA,EAAaA,EAAW3uG,KAAKvR,OAG/B,IAAIugH,EAAYtvG,EAAQyoB,UAAU,SAAShwB,KAAK1J,KAAMkgH,GACtD,OAAO/B,EAAOC,QAAQmC,EAAWvgH,KACnC,EAEAm+G,EAAOzkF,UAAU+mF,cAAgB,SAAuBP,GAEtD,OAAOjvG,EAAQyoB,UAAU,SAAShwB,KAAK1J,KAAMkgH,EAC/C,EAEA/B,EAAOzkF,UAAUlpB,MAAQ,SAAekwG,GAEtC,OAAO1gH,KAAKsR,MAAK,WACf,MAAM,IAAI6lC,MAAMupE,EAClB,GACF,EAIAvC,EAAOzkF,UAAUinF,MAAQxC,EAAOzkF,UAAU31B,IAC1Co6G,EAAOzkF,UAAUknF,OAASzC,EAAOzkF,UAAU23E,KAC3C8M,EAAOzkF,UAAUmnF,OAAS1C,EAAOzkF,UAAUimF,OAC3CxB,EAAOzkF,UAAUj5B,IAAM09G,EAAOzkF,UAAUpoB,KAIX6oG,EAAoB,WAAcgE,CAExD,EAED;;;gEAAgD,SAItCvE,GAEhBA,EAAOC,QAAU,SAAU9/D,GACzB,GAAiB,mBAANA,EACT,MAAMvC,UAAUzwC,OAAOgzC,GAAM,sBAC7B,OAAOA,CACX,CAGO,EAED;;;0EAA0D,SAIhD6/D,EAAQkH,EAA0B1G,GAElD,IAAInyG,EAAWmyG,+BAAkD,iDAEjER,EAAOC,QAAU,SAAU9/D,GACzB,IAAK9xC,EAAS8xC,IAAc,OAAPA,EACnB,MAAMvC,UAAU,aAAezwC,OAAOgzC,GAAM,mBAC5C,OAAOA,CACX,CAGO,EAED;;;wEAAwD,SAI9C6/D,EAAQkH,EAA0B1G,GAElD,IAAI2G,EAAkB3G,uCAA0D,yDAC5En7F,EAASm7F,mCAAsD,qDAC/D4G,EAAuB5G,4CAA+D,8DAEtF6G,EAAcF,EAAgB,eAC9BG,EAAiB1jG,MAAMkc,eAIQoyC,GAA/Bo1C,EAAeD,IACjBD,EAAqBhhG,EAAEkhG,EAAgBD,EAAa,CAClDz9F,cAAc,EACdzgB,MAAOkc,EAAO,QAKlB26F,EAAOC,QAAU,SAAU70G,GACzBk8G,EAAeD,GAAaj8G,IAAO,CACrC,CAGO,EAED;;;+DAA+C,SAIrC40G,EAAQkH,EAA0B1G,GAElD,IAAInyG,EAAWmyG,+BAAkD,iDAEjER,EAAOC,QAAU,SAAU9/D,GACzB,IAAK9xC,EAAS8xC,GACZ,MAAMvC,UAAUzwC,OAAOgzC,GAAM,qBAC7B,OAAOA,CACX,CAGO,EAED;;;oEAAoD,SAI1C6/D,EAAQkH,EAA0B1G,GAElD,aAEA,IAAI+G,EAAW/G,qCAAwD,uDAAuD30G,QAC1H27G,EAAsBhH,4CAA+D,8DAErFiH,EAAgBD,EAAoB,WAIxCxH,EAAOC,QAAWwH,EAGd,GAAG57G,QAH2B,SAAiB67G,GACjD,OAAOH,EAASnhH,KAAMshH,EAAYn5F,UAAUjnB,OAAS,EAAIinB,UAAU,QAAK2jD,EAE1E,CAGO,EAED;;;oEAAoD,SAI1C8tC,EAAQkH,EAA0B1G,GAElD,IAAImH,EAAkBnH,uCAA0D,yDAC5EoH,EAAWpH,+BAAkD,iDAC7DqH,EAAkBrH,uCAA0D,yDAG5EsH,EAAe,SAAUC,GAC3B,OAAO,SAAUC,EAAOjoG,EAAIkoG,GAC1B,IAGI9+G,EAHAgyC,EAAIwsE,EAAgBK,GACpB1gH,EAASsgH,EAASzsE,EAAE7zC,QACpBb,EAAQohH,EAAgBI,EAAW3gH,GAIvC,GAAIygH,GAAehoG,GAAMA,GAAI,MAAOzY,EAASb,EAG3C,GAFA0C,EAAQgyC,EAAE10C,KAEN0C,GAASA,EAAO,OAAO,OAEtB,KAAM7B,EAASb,EAAOA,IAC3B,IAAKshH,GAAethH,KAAS00C,IAAMA,EAAE10C,KAAWsZ,EAAI,OAAOgoG,GAAethH,GAAS,EACnF,OAAQshH,IAAgB,CAC5B,CACF,EAEA/H,EAAOC,QAAU,CAGf1nG,SAAUuvG,GAAa,GAGvBlvG,QAASkvG,GAAa,GAIjB,EAED;;;qEAAqD,SAI3C9H,EAAQkH,EAA0B1G,GAElD,IAAI7oG,EAAO6oG,2CAA8D,6DACrE0H,EAAgB1H,oCAAuD,sDACvE2H,EAAW3H,+BAAkD,iDAC7DoH,EAAWpH,+BAAkD,iDAC7D4H,EAAqB5H,0CAA6D,4DAElF75G,EAAO,GAAGA,KAGVmhH,EAAe,SAAUO,GAC3B,IAAIC,EAAiB,GAARD,EACTE,EAAoB,GAARF,EACZG,EAAkB,GAARH,EACVI,EAAmB,GAARJ,EACXK,EAAwB,GAARL,EAChBM,EAA2B,GAARN,EACnBO,EAAmB,GAARP,GAAaK,EAC5B,OAAO,SAAUV,EAAON,EAAYmB,EAAMC,GASxC,IARA,IAOI3/G,EAAO2F,EAPPqsC,EAAIgtE,EAASH,GACbn0G,EAAOq0G,EAAc/sE,GACrB4tE,EAAgBpxG,EAAK+vG,EAAYmB,EAAM,GACvCvhH,EAASsgH,EAAS/zG,EAAKvM,QACvBb,EAAQ,EACR4e,EAASyjG,GAAkBV,EAC3Bl9G,EAASo9G,EAASjjG,EAAO2iG,EAAO1gH,GAAUihH,GAAaI,EAAmBtjG,EAAO2iG,EAAO,QAAK91C,EAE3F5qE,EAASb,EAAOA,IAAS,IAAImiH,GAAYniH,KAASoN,KACtD1K,EAAQ0K,EAAKpN,GACbqI,EAASi6G,EAAc5/G,EAAO1C,EAAO00C,GACjCktE,GACF,GAAIC,EAAQp9G,EAAOzE,GAASqI,OACvB,GAAIA,EAAQ,OAAQu5G,GACvB,KAAK,EAAG,OAAO,EACf,KAAK,EAAG,OAAOl/G,EACf,KAAK,EAAG,OAAO1C,EACf,KAAK,EAAGE,EAAKmJ,KAAK5E,EAAQ/B,QACrB,OAAQk/G,GACb,KAAK,EAAG,OAAO,EACf,KAAK,EAAG1hH,EAAKmJ,KAAK5E,EAAQ/B,GAIhC,OAAOu/G,GAAiB,EAAIF,GAAWC,EAAWA,EAAWv9G,CAC/D,CACF,EAEA80G,EAAOC,QAAU,CAGfp0G,QAASi8G,EAAa,GAGtBr7G,IAAKq7G,EAAa,GAGlBt7G,OAAQs7G,EAAa,GAGrBtpG,KAAMspG,EAAa,GAGnBnkF,MAAOmkF,EAAa,GAGpBxsE,KAAMwsE,EAAa,GAGnB/2F,UAAW+2F,EAAa,GAGxBkB,aAAclB,EAAa,GAItB,EAED;;;sFAAsE,SAI5D9H,EAAQkH,EAA0B1G,GAElD,IAAIyI,EAAQzI,2BAA8C,6CACtD2G,EAAkB3G,uCAA0D,yDAC5E0I,EAAa1I,uCAA0D,yDAEvE2I,EAAUhC,EAAgB,WAE9BnH,EAAOC,QAAU,SAAUmJ,GAIzB,OAAOF,GAAc,KAAOD,GAAM,WAChC,IAAII,EAAQ,GACRnjH,EAAcmjH,EAAMnjH,YAAc,CAAC,EAIvC,OAHAA,EAAYijH,GAAW,WACrB,MAAO,CAAEG,IAAK,EAChB,EAC2C,IAApCD,EAAMD,GAAa34F,SAAS64F,GACrC,GACF,CAGO,EAED;;;4EAA4D,SAIlDtJ,EAAQkH,EAA0B1G,GAElD,aAEA,IAAIyI,EAAQzI,2BAA8C,6CAE1DR,EAAOC,QAAU,SAAUmJ,EAAaG,GACtC,IAAI74G,EAAS,GAAG04G,GAChB,QAAS14G,GAAUu4G,GAAM,WAEvBv4G,EAAOZ,KAAK,KAAMy5G,GAAY,WAAc,MAAM,CAAG,EAAG,EAC1D,GACF,CAGO,EAED;;;+EAA+D,SAIrDvJ,EAAQkH,EAA0B1G,GAElD,IAAInyG,EAAWmyG,+BAAkD,iDAC7D90G,EAAU80G,8BAAiD,gDAC3D2G,EAAkB3G,uCAA0D,yDAE5E2I,EAAUhC,EAAgB,WAI9BnH,EAAOC,QAAU,SAAUuJ,GACzB,IAAItuE,EASF,OARExvC,EAAQ89G,KACVtuE,EAAIsuE,EAActjH,YAEF,mBAALg1C,GAAoBA,IAAMt3B,QAASlY,EAAQwvC,EAAEpb,WAC/CzxB,EAAS6sC,KAChBA,EAAIA,EAAEiuE,GACI,OAANjuE,IAAYA,OAAIg3B,IAH+Ch3B,OAAIg3B,QAK5DA,IAANh3B,EAAkBt3B,MAAQs3B,CACrC,CAGO,EAED;;;0EAA0D,SAIhD8kE,EAAQkH,EAA0B1G,GAElD,IAAIiJ,EAA0BjJ,+CAAkE,iEAIhGR,EAAOC,QAAU,SAAUuJ,EAAeliH,GACxC,OAAO,IAAKmiH,EAAwBD,GAA7B,CAAwD,IAAXliH,EAAe,EAAIA,EACzE,CAGO,EAED;;;iEAAiD,SAIvC04G,GAEhB,IAAIrwE,EAAW,CAAC,EAAEA,SAElBqwE,EAAOC,QAAU,SAAU9/D,GACzB,OAAOxQ,EAAS7/B,KAAKqwC,GAAIhmC,MAAM,GAAI,EACrC,CAGO,EAED;;;6DAA6C,SAInC6lG,EAAQkH,EAA0B1G,GAElD,IAAIkJ,EAAwBlJ,2CAA8D,6DACtFmJ,EAAanJ,iCAAoD,mDACjE2G,EAAkB3G,uCAA0D,yDAE5EoJ,EAAgBzC,EAAgB,eAEhC0C,EAAuE,aAAnDF,EAAW,WAAc,OAAOp7F,SAAW,CAAhC,IAG/Bu7F,EAAS,SAAU3pE,EAAI/0C,GACzB,IACE,OAAO+0C,EAAG/0C,EACZ,CAAE,MAAOwL,GAAoB,CAC/B,EAGAopG,EAAOC,QAAUyJ,EAAwBC,EAAa,SAAUxpE,GAC9D,IAAIhF,EAAG/Q,EAAKt7B,EACZ,YAAcojE,IAAP/xB,EAAmB,YAAqB,OAAPA,EAAc,OAEM,iBAAhD/V,EAAM0/E,EAAO3uE,EAAI7uC,OAAO6zC,GAAKypE,IAA8Bx/E,EAEnEy/E,EAAoBF,EAAWxuE,GAEH,WAA3BrsC,EAAS66G,EAAWxuE,KAAsC,mBAAZA,EAAE4uE,OAAuB,YAAcj7G,CAC5F,CAGO,EAED;;;iFAAiE,SAIvDkxG,EAAQkH,EAA0B1G,GAElD,IAAIryG,EAAMqyG,yBAA4C,2CAClDvxG,EAAUuxG,8BAAiD,gDAC3DwJ,EAAiCxJ,wDAA2E,0EAC5G4G,EAAuB5G,4CAA+D,8DAE1FR,EAAOC,QAAU,SAAU/0G,EAAQuY,GAIjC,IAHA,IAAIlZ,EAAO0E,EAAQwU,GACf4D,EAAiB+/F,EAAqBhhG,EACtC6jG,EAA2BD,EAA+B5jG,EACrDhf,EAAI,EAAGA,EAAImD,EAAKjD,OAAQF,IAAK,CACpC,IAAIgE,EAAMb,EAAKnD,GACV+G,EAAIjD,EAAQE,IAAMic,EAAenc,EAAQE,EAAK6+G,EAAyBxmG,EAAQrY,GACtF,CACF,CAGO,EAED;;;8EAA8D,SAIpD40G,EAAQkH,EAA0B1G,GAElD,IAAIyI,EAAQzI,2BAA8C,6CAE1DR,EAAOC,SAAWgJ,GAAM,WACtB,SAASnsE,IAAiB,CAG1B,OAFAA,EAAEhd,UAAU55B,YAAc,KAEnBoG,OAAOyB,eAAe,IAAI+uC,KAASA,EAAEhd,SAC9C,GAGO,EAED;;;iEAAiD,SAIvCkgF,EAAQkH,EAA0B1G,GAElD,IAAI0J,EAAyB1J,8CAAiE,gEAC1F7wE,EAAW6wE,+BAAkD,iDAE7D2J,EAAO,KAIXnK,EAAOC,QAAU,SAAUpd,EAAQz4D,EAAK+qD,EAAWhsF,GACjD,IAAIwyC,EAAIhM,EAASu6E,EAAuBrnB,IACpChF,EAAK,IAAMzzD,EAEf,MADkB,KAAd+qD,IAAkB0I,GAAM,IAAM1I,EAAY,KAAOxlD,EAASxmC,GAAO+S,QAAQiuG,EAAM,UAAY,KACxFtsB,EAAK,IAAMliD,EAAI,KAAOvR,EAAM,GACrC,CAGO,EAED;;;iFAAiE,SAIvD41E,EAAQkH,EAA0B1G,GAElD,aAEA,IAAI4J,EAAoB5J,oCAAuD,sDAAsD4J,kBACjI/kG,EAASm7F,mCAAsD,qDAC/D6J,EAA2B7J,gDAAmE,kEAC9F8J,EAAiB9J,uCAA0D,yDAC3E+J,EAAY/J,+BAAkD,iDAE9DgK,EAAa,WAAc,OAAOpkH,IAAM,EAE5C45G,EAAOC,QAAU,SAAUwK,EAAqBpwE,EAAMrpC,GACpD,IAAI44G,EAAgBvvE,EAAO,YAI3B,OAHAowE,EAAoB3qF,UAAYza,EAAO+kG,EAAmB,CAAEp5G,KAAMq5G,EAAyB,EAAGr5G,KAC9Fs5G,EAAeG,EAAqBb,GAAe,GAAO,GAC1DW,EAAUX,GAAiBY,EACpBC,CACT,CAGO,EAED;;;oFAAoE,SAI1DzK,EAAQkH,EAA0B1G,GAElD,IAAIkK,EAAclK,iCAAoD,mDAClE4G,EAAuB5G,4CAA+D,8DACtF6J,EAA2B7J,gDAAmE,kEAElGR,EAAOC,QAAUyK,EAAc,SAAUC,EAAQv/G,EAAKjC,GACpD,OAAOi+G,EAAqBhhG,EAAEukG,EAAQv/G,EAAKi/G,EAAyB,EAAGlhH,GACzE,EAAI,SAAUwhH,EAAQv/G,EAAKjC,GAEzB,OADAwhH,EAAOv/G,GAAOjC,EACPwhH,CACT,CAGO,EAED;;;gFAAgE,SAItD3K,GAEhBA,EAAOC,QAAU,SAAU2K,EAAQzhH,GACjC,MAAO,CACLwgB,aAAuB,EAATihG,GACdhhG,eAAyB,EAATghG,GAChB5zE,WAAqB,EAAT4zE,GACZzhH,MAAOA,EAEX,CAGO,EAED;;;qEAAqD,SAI3C62G,EAAQkH,EAA0B1G,GAElD,aAEA,IAAIqK,EAAgBrK,qCAAwD,uDACxE4G,EAAuB5G,4CAA+D,8DACtF6J,EAA2B7J,gDAAmE,kEAElGR,EAAOC,QAAU,SAAU0K,EAAQv/G,EAAKjC,GACtC,IAAI2hH,EAAcD,EAAcz/G,GAC5B0/G,KAAeH,EAAQvD,EAAqBhhG,EAAEukG,EAAQG,EAAaT,EAAyB,EAAGlhH,IAC9FwhH,EAAOG,GAAe3hH,CAC7B,CAGO,EAED;;;qEAAqD,SAI3C62G,EAAQkH,EAA0B1G,GAElD,aAEA,IAAIl7F,EAAIk7F,4BAA+C,8CACnDuK,EAA4BvK,iDAAoE,mEAChGzyG,EAAiByyG,6CAAgE,+DACjFp5C,EAAiBo5C,6CAAgE,+DACjF8J,EAAiB9J,uCAA0D,yDAC3EwK,EAA8BxK,oDAAuE,sEACrGyK,EAAWzK,8BAAiD,gDAC5D2G,EAAkB3G,uCAA0D,yDAC5E0K,EAAU1K,6BAAgD,+CAC1D+J,EAAY/J,+BAAkD,iDAC9D2K,EAAgB3K,oCAAuD,sDAEvE4J,EAAoBe,EAAcf,kBAClCgB,EAAyBD,EAAcC,uBACvCC,EAAWlE,EAAgB,YAC3BmE,EAAO,OACPC,EAAS,SACTC,EAAU,UAEVhB,EAAa,WAAc,OAAOpkH,IAAM,EAE5C45G,EAAOC,QAAU,SAAUwL,EAAUpxE,EAAMowE,EAAqBz5G,EAAMygF,EAASi6B,EAAQC,GACrFZ,EAA0BN,EAAqBpwE,EAAMrpC,GAErD,IAkBI46G,EAA0B7jG,EAAS8jG,EAlBnCC,EAAqB,SAAUC,GACjC,GAAIA,IAASt6B,GAAWu6B,EAAiB,OAAOA,EAChD,IAAKZ,GAA0BW,KAAQE,EAAmB,OAAOA,EAAkBF,GACnF,OAAQA,GACN,KAAKT,EAAM,OAAO,WAAkB,OAAO,IAAIb,EAAoBrkH,KAAM2lH,EAAO,EAChF,KAAKR,EAAQ,OAAO,WAAoB,OAAO,IAAId,EAAoBrkH,KAAM2lH,EAAO,EACpF,KAAKP,EAAS,OAAO,WAAqB,OAAO,IAAIf,EAAoBrkH,KAAM2lH,EAAO,EACtF,OAAO,WAAc,OAAO,IAAItB,EAAoBrkH,KAAO,CAC/D,EAEIwjH,EAAgBvvE,EAAO,YACvB6xE,GAAwB,EACxBD,EAAoBR,EAAS3rF,UAC7BqsF,EAAiBF,EAAkBZ,IAClCY,EAAkB,eAClBx6B,GAAWw6B,EAAkBx6B,GAC9Bu6B,GAAmBZ,GAA0Be,GAAkBL,EAAmBr6B,GAClF26B,EAA4B,SAAR/xE,GAAkB4xE,EAAkBlzE,SAA4BozE,EAiCxF,GA7BIC,IACFR,EAA2B79G,EAAeq+G,EAAkBt8G,KAAK,IAAI27G,IACjErB,IAAsB99G,OAAOwzB,WAAa8rF,EAAyB56G,OAChEk6G,GAAWn9G,EAAe69G,KAA8BxB,IACvDhjD,EACFA,EAAewkD,EAA0BxB,GACa,mBAAtCwB,EAAyBP,IACzCL,EAA4BY,EAA0BP,EAAUb,IAIpEF,EAAesB,EAA0BhC,GAAe,GAAM,GAC1DsB,IAASX,EAAUX,GAAiBY,KAKxC/4B,GAAW85B,GAAUY,GAAkBA,EAAe9rG,OAASkrG,IACjEW,GAAwB,EACxBF,EAAkB,WAAoB,OAAOG,EAAer8G,KAAK1J,KAAO,GAIpE8kH,IAAWS,GAAWM,EAAkBZ,KAAcW,GAC1DhB,EAA4BiB,EAAmBZ,EAAUW,GAE3DzB,EAAUlwE,GAAQ2xE,EAGdv6B,EAMF,GALA1pE,EAAU,CACRtc,OAAQqgH,EAAmBP,GAC3BhhH,KAAMmhH,EAASM,EAAkBF,EAAmBR,GACpDvyE,QAAS+yE,EAAmBN,IAE1BG,EAAQ,IAAKE,KAAO9jG,GAClBqjG,GAA0Bc,KAA2BL,KAAOI,KAC9DhB,EAASgB,EAAmBJ,EAAK9jG,EAAQ8jG,SAEtCvmG,EAAE,CAAEpa,OAAQmvC,EAAMrqC,OAAO,EAAMq8G,OAAQjB,GAA0Bc,GAAyBnkG,GAGnG,OAAOA,CACT,CAGO,EAED;;;8EAA8D,SAIpDi4F,EAAQkH,EAA0B1G,GAElD,IAAIjhF,EAAOihF,0BAA6C,4CACpDryG,EAAMqyG,yBAA4C,2CAClD8L,EAA+B9L,+CAAkE,iEACjGn5F,EAAiBm5F,4CAA+D,8DAA8Dp6F,EAElJ45F,EAAOC,QAAU,SAAU5lE,GACzB,IAAItvC,EAASw0B,EAAKx0B,SAAWw0B,EAAKx0B,OAAS,CAAC,GACvCoD,EAAIpD,EAAQsvC,IAAOhzB,EAAetc,EAAQsvC,EAAM,CACnDlxC,MAAOmjH,EAA6BlmG,EAAEi0B,IAE1C,CAGO,EAED;;;iEAAiD,SAIvC2lE,EAAQkH,EAA0B1G,GAElD,IAAIyI,EAAQzI,2BAA8C,6CAG1DR,EAAOC,SAAWgJ,GAAM,WAEtB,OAA8E,GAAvE38G,OAAO+a,eAAe,CAAC,EAAG,EAAG,CAAE9d,IAAK,WAAc,OAAO,CAAG,IAAK,EAC1E,GAGO,EAED;;;6EAA6D,SAInDy2G,EAAQkH,EAA0B1G,GAElD,IAAIlpE,EAASkpE,4BAA+C,8CACxDnyG,EAAWmyG,+BAAkD,iDAE7Dz2E,EAAWuN,EAAOvN,SAElBwiF,EAASl+G,EAAS07B,IAAa17B,EAAS07B,EAASvW,eAErDwsF,EAAOC,QAAU,SAAU9/D,GACzB,OAAOosE,EAASxiF,EAASvW,cAAc2sB,GAAM,CAAC,CAChD,CAGO,EAED;;;mEAAmD,SAIzC6/D,GAIhBA,EAAOC,QAAU,CACfuM,YAAa,EACbC,oBAAqB,EACrBC,aAAc,EACdC,eAAgB,EAChBC,YAAa,EACbC,cAAe,EACfC,aAAc,EACdC,qBAAsB,EACtBC,SAAU,EACVC,kBAAmB,EACnBC,eAAgB,EAChBC,gBAAiB,EACjBC,kBAAmB,EACnBC,UAAW,EACXC,cAAe,EACfC,aAAc,EACdC,SAAU,EACVC,iBAAkB,EAClBC,OAAQ,EACRC,YAAa,EACbC,cAAe,EACfC,cAAe,EACfC,eAAgB,EAChBC,aAAc,EACdC,cAAe,EACfC,iBAAkB,EAClBC,iBAAkB,EAClBC,eAAgB,EAChBC,iBAAkB,EAClBC,cAAe,EACfC,UAAW,EAIN,EAED;;;uEAAuD,SAI7CtO,EAAQkH,EAA0B1G,GAElD,IAAI+N,EAAa/N,kCAAqD,oDAEtER,EAAOC,QAAUsO,EAAW,YAAa,cAAgB,EAGlD,EAED;;;uEAAuD,SAI7CvO,EAAQkH,EAA0B1G,GAElD,IAOIvtE,EAAO5lB,EAPPiqB,EAASkpE,4BAA+C,8CACxD32D,EAAY22D,uCAA0D,yDAEtE7qF,EAAU2hB,EAAO3hB,QACjB64F,EAAOl3E,EAAOk3E,KACdC,EAAW94F,GAAWA,EAAQ84F,UAAYD,GAAQA,EAAKnhG,QACvDqhG,EAAKD,GAAYA,EAASC,GAG1BA,GACFz7E,EAAQy7E,EAAGjvF,MAAM,KACjBpS,EAAU4lB,EAAM,GAAK,EAAI,EAAIA,EAAM,GAAKA,EAAM,IACrC4W,IACT5W,EAAQ4W,EAAU5W,MAAM,iBACnBA,GAASA,EAAM,IAAM,MACxBA,EAAQ4W,EAAU5W,MAAM,iBACpBA,IAAO5lB,EAAU4lB,EAAM,MAI/B+sE,EAAOC,QAAU5yF,IAAYA,CAGtB,EAED;;;mEAAmD,SAIzC2yF,GAGhBA,EAAOC,QAAU,CACf,cACA,iBACA,gBACA,uBACA,iBACA,WACA,UAIK,EAED;;;4DAA4C,SAIlCD,EAAQkH,EAA0B1G,GAElD,IAAIlpE,EAASkpE,4BAA+C,8CACxDyJ,EAA2BzJ,wDAA2E,0EAA0Ep6F,EAChL4kG,EAA8BxK,oDAAuE,sEACrGyK,EAAWzK,8BAAiD,gDAC5DmO,EAAYnO,gCAAmD,kDAC/DoO,EAA4BpO,iDAAoE,mEAChGqO,EAAWrO,+BAAkD,iDAgBjER,EAAOC,QAAU,SAAUjkG,EAASyH,GAClC,IAGIkoG,EAAQzgH,EAAQE,EAAK0jH,EAAgBC,EAAgBznG,EAHrD0nG,EAAShzG,EAAQ9Q,OACjB+jH,EAASjzG,EAAQs7B,OACjB43E,EAASlzG,EAAQ8uE,KASrB,GANE5/E,EADE+jH,EACO33E,EACA43E,EACA53E,EAAO03E,IAAWL,EAAUK,EAAQ,CAAC,IAEpC13E,EAAO03E,IAAW,CAAC,GAAGlvF,UAE9B50B,EAAQ,IAAKE,KAAOqY,EAAQ,CAQ9B,GAPAsrG,EAAiBtrG,EAAOrY,GACpB4Q,EAAQmzG,aACV7nG,EAAa2iG,EAAyB/+G,EAAQE,GAC9C0jH,EAAiBxnG,GAAcA,EAAWne,OACrC2lH,EAAiB5jH,EAAOE,GAC/BugH,EAASkD,EAASI,EAAS7jH,EAAM4jH,GAAUE,EAAS,IAAM,KAAO9jH,EAAK4Q,EAAQqwG,SAEzEV,QAA6Bz5C,IAAnB48C,EAA8B,CAC3C,UAAWC,WAA0BD,EAAgB,SACrDF,EAA0BG,EAAgBD,EAC5C,EAEI9yG,EAAQozG,MAASN,GAAkBA,EAAeM,OACpDpE,EAA4B+D,EAAgB,QAAQ,GAGtD9D,EAAS//G,EAAQE,EAAK2jH,EAAgB/yG,EACxC,CACF,CAGO,EAED;;;2DAA2C,SAIjCgkG,GAEhBA,EAAOC,QAAU,SAAUoP,GACzB,IACE,QAASA,GACX,CAAE,MAAOz4G,GACP,OAAO,CACT,CACF,CAGO,EAED;;;2EAA2D,SAIjDopG,EAAQkH,EAA0B1G,GAElD,IAAI8O,EAAY9O,gCAAmD,kDAGnER,EAAOC,QAAU,SAAUn5G,EAAI+hH,EAAMvhH,GAEnC,GADAgoH,EAAUxoH,QACGorE,IAAT22C,EAAoB,OAAO/hH,EAC/B,OAAQQ,GACN,KAAK,EAAG,OAAO,WACb,OAAOR,EAAGgJ,KAAK+4G,EACjB,EACA,KAAK,EAAG,OAAO,SAAUxvG,GACvB,OAAOvS,EAAGgJ,KAAK+4G,EAAMxvG,EACvB,EACA,KAAK,EAAG,OAAO,SAAUA,EAAGC,GAC1B,OAAOxS,EAAGgJ,KAAK+4G,EAAMxvG,EAAGC,EAC1B,EACA,KAAK,EAAG,OAAO,SAAUD,EAAGC,EAAGoQ,GAC7B,OAAO5iB,EAAGgJ,KAAK+4G,EAAMxvG,EAAGC,EAAGoQ,EAC7B,EAEF,OAAO,WACL,OAAO5iB,EAAGmG,MAAM47G,EAAMt6F,UACxB,CACF,CAGO,EAED;;;kEAAkD,SAIxCyxF,EAAQkH,EAA0B1G,GAElD,IAAIlpE,EAASkpE,4BAA+C,8CAExD8O,EAAY,SAAUC,GACxB,MAA0B,mBAAZA,EAAyBA,OAAWr9C,CACpD,EAEA8tC,EAAOC,QAAU,SAAUnyF,EAAWpd,GACpC,OAAO6d,UAAUjnB,OAAS,EAAIgoH,EAAUh4E,EAAOxpB,IAAcwpB,EAAOxpB,IAAcwpB,EAAOxpB,GAAWpd,EACtG,CAGO,EAED;;;4DAA4C,SAIlCsvG,GAEhB,IAAIwP,EAAQ,SAAUrvE,GACpB,OAAOA,GAAMA,EAAG9lB,MAAQA,MAAQ8lB,CAClC,EAGA6/D,EAAOC,QAELuP,EAA2B,iBAAdn4E,YAA0BA,aACvCm4E,EAAuB,iBAAVzgF,QAAsBA,SAEnCygF,EAAqB,iBAAR37G,MAAoBA,OACjC27G,EAAuB,iBAAVl4E,EAAAA,GAAsBA,EAAAA,IAElC,WAAc,OAAOlxC,IAAM,CAA3B,IAAmC2pB,SAAS,cAATA,EAG/B,EAED;;;yDAAyC,SAI/BiwF,EAAQkH,EAA0B1G,GAElD,IAAI2H,EAAW3H,+BAAkD,iDAE7DtzG,EAAiB,CAAC,EAAEA,eAExB8yG,EAAOC,QAAU3zG,OAAO2B,QAAU,SAAgBkyC,EAAI/0C,GACpD,OAAO8B,EAAe4C,KAAKq4G,EAAShoE,GAAK/0C,EAC3C,CAGO,EAED;;;iEAAiD,SAIvC40G,GAEhBA,EAAOC,QAAU,CAAC,CAGX,EAED;;;0DAA0C,SAIhCD,EAAQkH,EAA0B1G,GAElD,IAAI+N,EAAa/N,kCAAqD,oDAEtER,EAAOC,QAAUsO,EAAW,WAAY,kBAGjC,EAED;;;oEAAoD,SAI1CvO,EAAQkH,EAA0B1G,GAElD,IAAIkK,EAAclK,iCAAoD,mDAClEyI,EAAQzI,2BAA8C,6CACtDhtF,EAAgBgtF,6CAAgE,+DAGpFR,EAAOC,SAAWyK,IAAgBzB,GAAM,WAEtC,OAEQ,GAFD38G,OAAO+a,eAAemM,EAAc,OAAQ,IAAK,CACtDjqB,IAAK,WAAc,OAAO,CAAG,IAC5B8P,CACL,GAGO,EAED;;;oEAAoD,SAI1C2mG,EAAQkH,EAA0B1G,GAElD,IAAIyI,EAAQzI,2BAA8C,6CACtDiP,EAAUjP,iCAAoD,mDAE9D/gF,EAAQ,GAAGA,MAGfugF,EAAOC,QAAUgJ,GAAM,WAGrB,OAAQ38G,OAAO,KAAKyzB,qBAAqB,EAC3C,IAAK,SAAUogB,GACb,MAAsB,UAAfsvE,EAAQtvE,GAAkB1gB,EAAM3vB,KAAKqwC,EAAI,IAAM7zC,OAAO6zC,EAC/D,EAAI7zC,MAGG,EAED;;;yEAAyD,SAI/C0zG,EAAQkH,EAA0B1G,GAElD,IAAInyG,EAAWmyG,+BAAkD,iDAC7Dp5C,EAAiBo5C,6CAAgE,+DAGrFR,EAAOC,QAAU,SAAU+H,EAAO0H,EAAOC,GACvC,IAAIC,EAAWC,EAUf,OAPEzoD,GAE0C,mBAAlCwoD,EAAYF,EAAMxpH,cAC1B0pH,IAAcD,GACdthH,EAASwhH,EAAqBD,EAAU9vF,YACxC+vF,IAAuBF,EAAQ7vF,WAC/BsnC,EAAe4gD,EAAO6H,GACjB7H,CACT,CAGO,EAED;;;oEAAoD,SAI1ChI,EAAQkH,EAA0B1G,GAElD,IAAIsP,EAAQtP,kCAAqD,oDAE7DuP,EAAmBhgG,SAAS4f,SAGE,mBAAvBmgF,EAAME,gBACfF,EAAME,cAAgB,SAAU7vE,GAC9B,OAAO4vE,EAAiBjgH,KAAKqwC,EAC/B,GAGF6/D,EAAOC,QAAU6P,EAAME,aAGhB,EAED;;;oEAAoD,SAI1ChQ,EAAQkH,EAA0B1G,GAElD,IAWIr2G,EAAKZ,EAAK4E,EAXV8hH,EAAkBzP,qCAAwD,uDAC1ElpE,EAASkpE,4BAA+C,8CACxDnyG,EAAWmyG,+BAAkD,iDAC7DwK,EAA8BxK,oDAAuE,sEACrG0P,EAAY1P,yBAA4C,2CACxD2P,EAAS3P,kCAAqD,oDAC9D4P,EAAY5P,gCAAmD,kDAC/D6P,EAAa7P,iCAAoD,mDAEjE8P,EAA6B,6BAC7BzlH,EAAUysC,EAAOzsC,QAGjB0lH,EAAU,SAAUpwE,GACtB,OAAOhyC,EAAIgyC,GAAM52C,EAAI42C,GAAMh2C,EAAIg2C,EAAI,CAAC,EACtC,EAEIqwE,EAAY,SAAUnI,GACxB,OAAO,SAAUloE,GACf,IAAIx5B,EACJ,IAAKtY,EAAS8xC,KAAQx5B,EAAQpd,EAAI42C,IAAKh1C,OAASk9G,EAC9C,MAAMzqE,UAAU,0BAA4ByqE,EAAO,aACnD,OAAO1hG,CACX,CACF,EAEA,GAAIspG,GAAmBE,EAAOxpG,MAAO,CACnC,IAAImpG,EAAQK,EAAOxpG,QAAUwpG,EAAOxpG,MAAQ,IAAI9b,GAC5C4lH,EAAQX,EAAMvmH,IACdmnH,EAAQZ,EAAM3hH,IACdwiH,EAAQb,EAAM3lH,IAClBA,EAAM,SAAUg2C,EAAIywE,GAClB,GAAIF,EAAM5gH,KAAKggH,EAAO3vE,GAAK,MAAM,IAAIvC,UAAU0yE,GAG/C,OAFAM,EAASC,OAAS1wE,EAClBwwE,EAAM7gH,KAAKggH,EAAO3vE,EAAIywE,GACfA,CACT,EACArnH,EAAM,SAAU42C,GACd,OAAOswE,EAAM3gH,KAAKggH,EAAO3vE,IAAO,CAAC,CACnC,EACAhyC,EAAM,SAAUgyC,GACd,OAAOuwE,EAAM5gH,KAAKggH,EAAO3vE,EAC3B,CACF,KAAO,CACL,IAAI2wE,EAAQV,EAAU,SACtBC,EAAWS,IAAS,EACpB3mH,EAAM,SAAUg2C,EAAIywE,GAClB,GAAIV,EAAU/vE,EAAI2wE,GAAQ,MAAM,IAAIlzE,UAAU0yE,GAG9C,OAFAM,EAASC,OAAS1wE,EAClB6qE,EAA4B7qE,EAAI2wE,EAAOF,GAChCA,CACT,EACArnH,EAAM,SAAU42C,GACd,OAAO+vE,EAAU/vE,EAAI2wE,GAAS3wE,EAAG2wE,GAAS,CAAC,CAC7C,EACA3iH,EAAM,SAAUgyC,GACd,OAAO+vE,EAAU/vE,EAAI2wE,EACvB,CACF,CAEA9Q,EAAOC,QAAU,CACf91G,IAAKA,EACLZ,IAAKA,EACL4E,IAAKA,EACLoiH,QAASA,EACTC,UAAWA,EAIN,EAED;;;8DAA8C,SAIpCxQ,EAAQkH,EAA0B1G,GAElD,IAAIiP,EAAUjP,iCAAoD,mDAKlER,EAAOC,QAAUr8F,MAAMlY,SAAW,SAAiBqX,GACjD,MAAuB,SAAhB0sG,EAAQ1sG,EACjB,CAGO,EAED;;;+DAA+C,SAIrCi9F,EAAQkH,EAA0B1G,GAElD,IAAIyI,EAAQzI,2BAA8C,6CAEtDuQ,EAAc,kBAEdlC,EAAW,SAAUmC,EAASC,GAChC,IAAI9nH,EAAQuU,EAAKmoB,EAAUmrF,IAC3B,OAAO7nH,GAAS+nH,GACZ/nH,GAASgoH,IACW,mBAAbF,EAA0BhI,EAAMgI,KACrCA,EACR,EAEIprF,EAAYgpF,EAAShpF,UAAY,SAAUg9D,GAC7C,OAAO11F,OAAO01F,GAAQ3mF,QAAQ60G,EAAa,KAAK50G,aAClD,EAEIuB,EAAOmxG,EAASnxG,KAAO,CAAC,EACxByzG,EAAStC,EAASsC,OAAS,IAC3BD,EAAWrC,EAASqC,SAAW,IAEnClR,EAAOC,QAAU4O,CAGV,EAED;;;+DAA+C,SAIrC7O,GAEhBA,EAAOC,QAAU,SAAU9/D,GACzB,MAAqB,kBAAPA,EAAyB,OAAPA,EAA4B,oBAAPA,CACvD,CAGO,EAED;;;6DAA6C,SAInC6/D,GAEhBA,EAAOC,SAAU,CAGV,EAED;;;+DAA+C,SAIrCD,EAAQkH,EAA0B1G,GAElD,IAAI+N,EAAa/N,kCAAqD,oDAClE4Q,EAAoB5Q,uCAA0D,yDAElFR,EAAOC,QAAUmR,EAAoB,SAAUjxE,GAC7C,MAAoB,iBAANA,CAChB,EAAI,SAAUA,GACZ,IAAIkxE,EAAU9C,EAAW,UACzB,MAAyB,mBAAX8C,GAAyB/kH,OAAO6zC,aAAekxE,CAC/D,CAGO,EAED;;;oEAAoD,SAI1CrR,EAAQkH,EAA0B1G,GAElD,aAEA,IAcI4J,EAAmBkH,EAAmCC,EAdtDtI,EAAQzI,2BAA8C,6CACtDzyG,EAAiByyG,6CAAgE,+DACjFwK,EAA8BxK,oDAAuE,sEACrGryG,EAAMqyG,yBAA4C,2CAClD2G,EAAkB3G,uCAA0D,yDAC5E0K,EAAU1K,6BAAgD,+CAE1D6K,EAAWlE,EAAgB,YAC3BiE,GAAyB,EAEzBZ,EAAa,WAAc,OAAOpkH,IAAM,EAOxC,GAAGmE,OACLgnH,EAAgB,GAAGhnH,OAEb,SAAUgnH,GAEdD,EAAoCvjH,EAAeA,EAAewjH,IAC9DD,IAAsChlH,OAAOwzB,YAAWsqF,EAAoBkH,IAHlDlG,GAAyB,GAO3D,IAAIoG,OAA8Ct/C,GAArBk4C,GAAkCnB,GAAM,WACnE,IAAI5oF,EAAO,CAAC,EAEZ,OAAO+pF,EAAkBiB,GAAUv7G,KAAKuwB,KAAUA,CACpD,IAEImxF,IAAwBpH,EAAoB,CAAC,GAI3Cc,IAAWsG,GAA4BrjH,EAAIi8G,EAAmBiB,IAClEL,EAA4BZ,EAAmBiB,EAAUb,GAG3DxK,EAAOC,QAAU,CACfmK,kBAAmBA,EACnBgB,uBAAwBA,EAInB,EAED;;;+DAA+C,SAIrCpL,GAEhBA,EAAOC,QAAU,CAAC,CAGX,EAED;;;mEAAmD,SAIzCD,EAAQkH,EAA0B1G,GAGlD,IAAI0I,EAAa1I,uCAA0D,yDACvEyI,EAAQzI,2BAA8C,6CAG1DR,EAAOC,UAAY3zG,OAAOuzB,wBAA0BopF,GAAM,WACxD,IAAIwI,EAAS1mH,SAGb,OAAQoC,OAAOskH,MAAanlH,OAAOmlH,aAAmB1mH,UAEnDA,OAAOqkH,MAAQlG,GAAcA,EAAa,EAC/C,GAGO,EAED;;;qEAAqD,SAI3ClJ,EAAQkH,EAA0B1G,GAElD,IAAIlpE,EAASkpE,4BAA+C,8CACxDwP,EAAgBxP,oCAAuD,sDAEvE31G,EAAUysC,EAAOzsC,QAErBm1G,EAAOC,QAA6B,oBAAZp1G,GAA0B,cAAcw1B,KAAK2vF,EAAcnlH,GAG5E,EAED;;;mEAAmD,SAIzCm1G,EAAQkH,EAA0B1G,GAElD,aAEA,IAAIkK,EAAclK,iCAAoD,mDAClEyI,EAAQzI,2BAA8C,6CACtDkR,EAAalR,iCAAoD,mDACjEmR,EAA8BnR,qDAAwE,uEACtGoR,EAA6BpR,mDAAsE,qEACnG2H,EAAW3H,+BAAkD,iDAC7D0H,EAAgB1H,oCAAuD,sDAGvEqR,EAAUvlH,OAAO8pC,OAEjB/uB,EAAiB/a,OAAO+a,eAI5B24F,EAAOC,SAAW4R,GAAW5I,GAAM,WAEjC,GAAIyB,GAQiB,IARFmH,EAAQ,CAAEv4G,EAAG,GAAKu4G,EAAQxqG,EAAe,CAAC,EAAG,IAAK,CACnEsC,YAAY,EACZpgB,IAAK,WACH8d,EAAejhB,KAAM,IAAK,CACxB+C,MAAO,EACPwgB,YAAY,GAEhB,IACE,CAAErQ,EAAG,KAAMA,EAAS,OAAO,EAE/B,IAAIuhC,EAAI,CAAC,EACL2D,EAAI,CAAC,EAELizE,EAAS1mH,SACT+mH,EAAW,uBAGf,OAFAj3E,EAAE42E,GAAU,EACZK,EAASryF,MAAM,IAAI5zB,SAAQ,SAAUkmH,GAAOvzE,EAAEuzE,GAAOA,CAAK,IACzB,GAA1BF,EAAQ,CAAC,EAAGh3E,GAAG42E,IAAgBC,EAAWG,EAAQ,CAAC,EAAGrzE,IAAIpO,KAAK,KAAO0hF,CAC/E,IAAK,SAAgB5mH,EAAQuY,GAC3B,IAAIs3B,EAAIotE,EAASj9G,GACb8mH,EAAkBzjG,UAAUjnB,OAC5Bb,EAAQ,EACRo5B,EAAwB8xF,EAA4BvrG,EACpD2Z,EAAuB6xF,EAA2BxrG,EACtD,MAAO4rG,EAAkBvrH,EAAO,CAC9B,IAII2E,EAJAuwC,EAAIusE,EAAc35F,UAAU9nB,MAC5B8D,EAAOs1B,EAAwB6xF,EAAW/1E,GAAG/8B,OAAOihB,EAAsB8b,IAAM+1E,EAAW/1E,GAC3Fr0C,EAASiD,EAAKjD,OACd0zB,EAAI,EAER,MAAO1zB,EAAS0zB,EACd5vB,EAAMb,EAAKywB,KACN0vF,IAAe3qF,EAAqBjwB,KAAK6rC,EAAGvwC,KAAM2vC,EAAE3vC,GAAOuwC,EAAEvwC,GAEtE,CAAE,OAAO2vC,CACX,EAAI82E,CAGG,EAED;;;mEAAmD,SAIzC7R,EAAQkH,EAA0B1G,GAGlD,IAqDIyR,EArDAC,EAAW1R,+BAAkD,iDAC7D2R,EAAmB3R,8CAAiE,gEACpF4R,EAAc5R,mCAAsD,qDACpE6P,EAAa7P,iCAAoD,mDACjExkD,EAAOwkD,0BAA6C,4CACpD6R,EAAwB7R,6CAAgE,+DACxF4P,EAAY5P,gCAAmD,kDAE/D8R,EAAK,IACLC,EAAK,IACLC,EAAY,YACZC,EAAS,SACTC,EAAWtC,EAAU,YAErBuC,EAAmB,WAAyB,EAE5CC,EAAY,SAAU9nF,GACxB,OAAOynF,EAAKE,EAASH,EAAKxnF,EAAUynF,EAAK,IAAME,EAASH,CAC1D,EAGIO,EAA4B,SAAUZ,GACxCA,EAAgB35C,MAAMs6C,EAAU,KAChCX,EAAgB1yE,QAChB,IAAIuzE,EAAOb,EAAgBc,aAAazmH,OAExC,OADA2lH,EAAkB,KACXa,CACT,EAGIE,EAA2B,WAE7B,IAEIC,EAFApzB,EAASwyB,EAAsB,UAC/Ba,EAAK,OAAST,EAAS,IAE3B,GAAI5yB,EAAOtoE,MAST,OARAsoE,EAAOtoE,MAAMmZ,QAAU,OACvBsrB,EAAK1wB,YAAYu0D,GAEjBA,EAAOtF,IAAMptF,OAAO+lH,GACpBD,EAAiBpzB,EAAOC,cAAc/1D,SACtCkpF,EAAe1/B,OACf0/B,EAAe36C,MAAMs6C,EAAU,sBAC/BK,EAAe1zE,QACR0zE,EAAen2E,CAE1B,EAQIq2E,EAAkB,WACpB,IACElB,EAAkB,IAAImB,cAAc,WACtC,CAAE,MAAOx8G,GAAqB,CAC9Bu8G,EAAkBppF,SAASspF,QAAUpB,EACnCY,EAA0BZ,GAC1Be,KACAH,EAA0BZ,GAC5B,IAAI3qH,EAAS8qH,EAAY9qH,OACzB,MAAOA,WAAiB6rH,EAAgBX,GAAWJ,EAAY9qH,IAC/D,OAAO6rH,GACT,EAEA9C,EAAWqC,IAAY,EAIvB1S,EAAOC,QAAU3zG,OAAO+Y,QAAU,SAAgB81B,EAAGm4E,GACnD,IAAIxkH,EAQJ,OAPU,OAANqsC,GACFw3E,EAAiBH,GAAaN,EAAS/2E,GACvCrsC,EAAS,IAAI6jH,EACbA,EAAiBH,GAAa,KAE9B1jH,EAAO4jH,GAAYv3E,GACdrsC,EAASqkH,SACMjhD,IAAfohD,EAA2BxkH,EAASqjH,EAAiBrjH,EAAQwkH,EACtE,CAGO,EAED;;;8EAA8D,SAIpDtT,EAAQkH,EAA0B1G,GAElD,IAAIkK,EAAclK,iCAAoD,mDAClE4G,EAAuB5G,4CAA+D,8DACtF0R,EAAW1R,+BAAkD,iDAC7DkR,EAAalR,iCAAoD,mDAKrER,EAAOC,QAAUyK,EAAcp+G,OAAO6lH,iBAAmB,SAA0Bh3E,EAAGm4E,GACpFpB,EAAS/2E,GACT,IAGI/vC,EAHAb,EAAOmnH,EAAW4B,GAClBhsH,EAASiD,EAAKjD,OACdb,EAAQ,EAEZ,MAAOa,EAASb,EAAO2gH,EAAqBhhG,EAAE+0B,EAAG/vC,EAAMb,EAAK9D,KAAU6sH,EAAWloH,IACjF,OAAO+vC,CACT,CAGO,EAED;;;4EAA4D,SAIlDmlE,EAAyBL,EAASO,GAElD,IAAIkK,EAAclK,iCAAoD,mDAClE+S,EAAiB/S,oCAAuD,sDACxE0R,EAAW1R,+BAAkD,iDAC7DqK,EAAgBrK,qCAAwD,uDAGxEgT,EAAkBlnH,OAAO+a,eAI7B44F,EAAQ75F,EAAIskG,EAAc8I,EAAkB,SAAwBr4E,EAAGa,EAAGy3E,GAIxE,GAHAvB,EAAS/2E,GACTa,EAAI6uE,EAAc7uE,GAClBk2E,EAASuB,GACLF,EAAgB,IAClB,OAAOC,EAAgBr4E,EAAGa,EAAGy3E,EAC/B,CAAE,MAAO78G,GAAoB,CAC7B,GAAI,QAAS68G,GAAc,QAASA,EAAY,MAAM71E,UAAU,2BAEhE,MADI,UAAW61E,IAAYt4E,EAAEa,GAAKy3E,EAAWtqH,OACtCgyC,CACT,CAGO,EAED;;;wFAAwE,SAI9DmlE,EAAyBL,EAASO,GAElD,IAAIkK,EAAclK,iCAAoD,mDAClEoR,EAA6BpR,mDAAsE,qEACnG6J,EAA2B7J,gDAAmE,kEAC9FmH,EAAkBnH,uCAA0D,yDAC5EqK,EAAgBrK,qCAAwD,uDACxEryG,EAAMqyG,yBAA4C,2CAClD+S,EAAiB/S,oCAAuD,sDAGxEkT,EAA4BpnH,OAAO29G,yBAIvChK,EAAQ75F,EAAIskG,EAAcgJ,EAA4B,SAAkCv4E,EAAGa,GAGzF,GAFAb,EAAIwsE,EAAgBxsE,GACpBa,EAAI6uE,EAAc7uE,GACdu3E,EAAgB,IAClB,OAAOG,EAA0Bv4E,EAAGa,EACtC,CAAE,MAAOplC,GAAoB,CAC7B,GAAIzI,EAAIgtC,EAAGa,GAAI,OAAOquE,GAA0BuH,EAA2BxrG,EAAEtW,KAAKqrC,EAAGa,GAAIb,EAAEa,GAC7F,CAGO,EAED;;;4FAA4E,SAIlEgkE,EAAQkH,EAA0B1G,GAGlD,IAAImH,EAAkBnH,uCAA0D,yDAC5EmT,EAAuBnT,mDAAsE,qEAAqEp6F,EAElKupB,EAAW,CAAC,EAAEA,SAEdikF,EAA+B,iBAAV7kF,QAAsBA,QAAUziC,OAAOC,oBAC5DD,OAAOC,oBAAoBwiC,QAAU,GAErC8kF,EAAiB,SAAU1zE,GAC7B,IACE,OAAOwzE,EAAqBxzE,EAC9B,CAAE,MAAOvpC,GACP,OAAOg9G,EAAYz5G,OACrB,CACF,EAGA6lG,EAAOC,QAAQ75F,EAAI,SAA6B+5B,GAC9C,OAAOyzE,GAAoC,mBAArBjkF,EAAS7/B,KAAKqwC,GAChC0zE,EAAe1zE,GACfwzE,EAAqBhM,EAAgBxnE,GAC3C,CAGO,EAED;;;mFAAmE,SAIzDmgE,EAAyBL,EAASO,GAElD,IAAIsT,EAAqBtT,0CAA6D,4DAClF4R,EAAc5R,mCAAsD,qDAEpE6P,EAAa+B,EAAYxzG,OAAO,SAAU,aAK9CqhG,EAAQ75F,EAAI9Z,OAAOC,qBAAuB,SAA6B4uC,GACrE,OAAO24E,EAAmB34E,EAAGk1E,EAC/B,CAGO,EAED;;;qFAAqE,SAI3D/P,EAAyBL,GAGzCA,EAAQ75F,EAAI9Z,OAAOuzB,qBAGZ,EAED;;;6EAA6D,SAInDmgF,EAAQkH,EAA0B1G,GAElD,IAAIryG,EAAMqyG,yBAA4C,2CAClD2H,EAAW3H,+BAAkD,iDAC7D4P,EAAY5P,gCAAmD,kDAC/DuT,EAA2BvT,8CAAiE,gEAE5FkS,EAAWtC,EAAU,YACrB4D,EAAkB1nH,OAAOwzB,UAK7BkgF,EAAOC,QAAU8T,EAA2BznH,OAAOyB,eAAiB,SAAUotC,GAE5E,OADAA,EAAIgtE,EAAShtE,GACThtC,EAAIgtC,EAAGu3E,GAAkBv3E,EAAEu3E,GACH,mBAAjBv3E,EAAEj1C,aAA6Bi1C,aAAaA,EAAEj1C,YAChDi1C,EAAEj1C,YAAY45B,UACdqb,aAAa7uC,OAAS0nH,EAAkB,IACnD,CAGO,EAED;;;0EAA0D,SAIhDhU,EAAQkH,EAA0B1G,GAElD,IAAIryG,EAAMqyG,yBAA4C,2CAClDmH,EAAkBnH,uCAA0D,yDAC5E5nG,EAAU4nG,oCAAuD,sDAAsD5nG,QACvHy3G,EAAa7P,iCAAoD,mDAErER,EAAOC,QAAU,SAAU0K,EAAQsJ,GACjC,IAGI7oH,EAHA+vC,EAAIwsE,EAAgBgD,GACpBvjH,EAAI,EACJ0H,EAAS,GAEb,IAAK1D,KAAO+vC,GAAIhtC,EAAIkiH,EAAYjlH,IAAQ+C,EAAIgtC,EAAG/vC,IAAQ0D,EAAOnI,KAAKyE,GAEnE,MAAO6oH,EAAM3sH,OAASF,EAAO+G,EAAIgtC,EAAG/vC,EAAM6oH,EAAM7sH,SAC7CwR,EAAQ9J,EAAQ1D,IAAQ0D,EAAOnI,KAAKyE,IAEvC,OAAO0D,CACT,CAGO,EAED;;;iEAAiD,SAIvCkxG,EAAQkH,EAA0B1G,GAElD,IAAIsT,EAAqBtT,0CAA6D,4DAClF4R,EAAc5R,mCAAsD,qDAKxER,EAAOC,QAAU3zG,OAAO/B,MAAQ,SAAc4wC,GAC5C,OAAO24E,EAAmB34E,EAAGi3E,EAC/B,CAGO,EAED;;;mFAAmE,SAIzD9R,EAAyBL,GAEzC,aAEA,IAAIiU,EAAwB,CAAC,EAAEn0F,qBAE3BkqF,EAA2B39G,OAAO29G,yBAGlCkK,EAAclK,IAA6BiK,EAAsBpkH,KAAK,CAAE,EAAG,GAAK,GAIpFmwG,EAAQ75F,EAAI+tG,EAAc,SAA8B/0E,GACtD,IAAI93B,EAAa2iG,EAAyB7jH,KAAMg5C,GAChD,QAAS93B,GAAcA,EAAWqC,UACpC,EAAIuqG,CAGG,EAED;;;6EAA6D,SAInDlU,EAAQkH,EAA0B1G,GAGlD,IAAI0R,EAAW1R,+BAAkD,iDAC7D4T,EAAqB5T,0CAA6D,4DAMtFR,EAAOC,QAAU3zG,OAAO86D,iBAAmB,aAAe,CAAC,EAAI,WAC7D,IAEIlzD,EAFAmgH,GAAiB,EACjBh0F,EAAO,CAAC,EAEZ,IAEEnsB,EAAS5H,OAAO29G,yBAAyB39G,OAAOwzB,UAAW,aAAa31B,IACxE+J,EAAOpE,KAAKuwB,EAAM,IAClBg0F,EAAiBh0F,aAAgBzc,KACnC,CAAE,MAAOhN,GAAoB,CAC7B,OAAO,SAAwBukC,EAAGnrC,GAKhC,OAJAkiH,EAAS/2E,GACTi5E,EAAmBpkH,GACfqkH,EAAgBngH,EAAOpE,KAAKqrC,EAAGnrC,GAC9BmrC,EAAEksB,UAAYr3D,EACZmrC,CACT,CACF,CAjB+D,QAiBzD+2B,EAGC,EAED;;;sEAAsD,SAI5C8tC,EAAQkH,EAA0B1G,GAElD,aAEA,IAAIkJ,EAAwBlJ,2CAA8D,6DACtFiP,EAAUjP,6BAAgD,+CAI9DR,EAAOC,QAAUyJ,EAAwB,CAAC,EAAE/5E,SAAW,WACrD,MAAO,WAAa8/E,EAAQrpH,MAAQ,GACtC,CAGO,EAED;;;2EAA2D,SAIjD45G,EAAQkH,EAA0B1G,GAElD,IAAInyG,EAAWmyG,+BAAkD,iDAIjER,EAAOC,QAAU,SAAU3gB,EAAOg1B,GAChC,IAAIxtH,EAAIujB,EACR,GAAa,WAATiqG,GAAqD,mBAAxBxtH,EAAKw4F,EAAM3vD,YAA4BthC,EAASgc,EAAMvjB,EAAGgJ,KAAKwvF,IAAS,OAAOj1E,EAC/G,GAAmC,mBAAvBvjB,EAAKw4F,EAAMi1B,WAA2BlmH,EAASgc,EAAMvjB,EAAGgJ,KAAKwvF,IAAS,OAAOj1E,EACzF,GAAa,WAATiqG,GAAqD,mBAAxBxtH,EAAKw4F,EAAM3vD,YAA4BthC,EAASgc,EAAMvjB,EAAGgJ,KAAKwvF,IAAS,OAAOj1E,EAC/G,MAAMuzB,UAAU,0CAClB,CAGO,EAED;;;8DAA8C,SAIpCoiE,EAAQkH,EAA0B1G,GAElD,IAAI+N,EAAa/N,kCAAqD,oDAClEgU,EAA4BhU,mDAAsE,qEAClGmR,EAA8BnR,qDAAwE,uEACtG0R,EAAW1R,+BAAkD,iDAGjER,EAAOC,QAAUsO,EAAW,UAAW,YAAc,SAAiBpuE,GACpE,IAAI51C,EAAOiqH,EAA0BpuG,EAAE8rG,EAAS/xE,IAC5CtgB,EAAwB8xF,EAA4BvrG,EACxD,OAAOyZ,EAAwBt1B,EAAKqU,OAAOihB,EAAsBsgB,IAAO51C,CAC1E,CAGO,EAED;;;0DAA0C,SAIhCy1G,EAAQkH,EAA0B1G,GAElD,IAAIlpE,EAASkpE,4BAA+C,8CAE5DR,EAAOC,QAAU3oE,CAGV,EAED;;;8DAA8C,SAIpC0oE,EAAQkH,EAA0B1G,GAElD,IAAIlpE,EAASkpE,4BAA+C,8CACxDwK,EAA8BxK,oDAAuE,sEACrGryG,EAAMqyG,yBAA4C,2CAClDmO,EAAYnO,gCAAmD,kDAC/DwP,EAAgBxP,oCAAuD,sDACvEiU,EAAsBjU,oCAAuD,sDAE7EkU,EAAmBD,EAAoBlrH,IACvCorH,EAAuBF,EAAoBlE,QAC3CqE,EAAWznH,OAAOA,QAAQsyB,MAAM,WAEnCugF,EAAOC,QAAU,SAAU9kE,EAAG/vC,EAAKjC,EAAO6S,GACzC,IAGI2K,EAHAkuG,IAAS74G,KAAYA,EAAQ64G,OAC7BC,IAAS94G,KAAYA,EAAQ2N,WAC7BwlG,IAAcnzG,KAAYA,EAAQmzG,YAElB,mBAAThmH,IACS,iBAAPiC,GAAoB+C,EAAIhF,EAAO,SACxC6hH,EAA4B7hH,EAAO,OAAQiC,GAE7Cub,EAAQguG,EAAqBxrH,GACxBwd,EAAMlD,SACTkD,EAAMlD,OAASmxG,EAASxkF,KAAmB,iBAAPhlC,EAAkBA,EAAM,MAG5D+vC,IAAM7D,GAIEu9E,GAEA1F,GAAeh0E,EAAE/vC,KAC3B0pH,GAAS,UAFF35E,EAAE/vC,GAIP0pH,EAAQ35E,EAAE/vC,GAAOjC,EAChB6hH,EAA4B7vE,EAAG/vC,EAAKjC,IATnC2rH,EAAQ35E,EAAE/vC,GAAOjC,EAChBwlH,EAAUvjH,EAAKjC,EAUxB,GAAG4mB,SAAS+P,UAAW,YAAY,WACjC,MAAsB,mBAAR15B,MAAsBsuH,EAAiBtuH,MAAMqd,QAAUusG,EAAc5pH,KACrF,GAGO,EAED;;;kEAAkD,SAIxC45G,EAAQkH,EAA0B1G,GAElD,aAEA,IAAI0R,EAAW1R,+BAAkD,iDAIjER,EAAOC,QAAU,WACf,IAAI4I,EAAOqJ,EAAS9rH,MAChB0I,EAAS,GAOb,OANI+5G,EAAKvxE,SAAQxoC,GAAU,KACvB+5G,EAAKkM,aAAYjmH,GAAU,KAC3B+5G,EAAKmM,YAAWlmH,GAAU,KAC1B+5G,EAAKoM,SAAQnmH,GAAU,KACvB+5G,EAAKqM,UAASpmH,GAAU,KACxB+5G,EAAKsM,SAAQrmH,GAAU,KACpBA,CACT,CAGO,EAED;;;8EAA8D,SAIpDkxG,GAIhBA,EAAOC,QAAU,SAAU9/D,GACzB,QAAU+xB,GAAN/xB,EAAiB,MAAMvC,UAAU,wBAA0BuC,GAC/D,OAAOA,CACT,CAGO,EAED;;;gEAAgD,SAItC6/D,EAAQkH,EAA0B1G,GAElD,IAAIlpE,EAASkpE,4BAA+C,8CAE5DR,EAAOC,QAAU,SAAU70G,EAAKjC,GAC9B,IAEEmD,OAAO+a,eAAeiwB,EAAQlsC,EAAK,CAAEjC,MAAOA,EAAOygB,cAAc,EAAMotB,UAAU,GACnF,CAAE,MAAOpgC,GACP0gC,EAAOlsC,GAAOjC,CAChB,CAAE,OAAOA,CACX,CAGO,EAED;;;uEAAuD,SAI7C62G,EAAQkH,EAA0B1G,GAElD,IAAIn5F,EAAiBm5F,4CAA+D,8DAA8Dp6F,EAC9IjY,EAAMqyG,yBAA4C,2CAClD2G,EAAkB3G,uCAA0D,yDAE5EoJ,EAAgBzC,EAAgB,eAEpCnH,EAAOC,QAAU,SAAU9/D,EAAIi1E,EAAKlG,GAC9B/uE,IAAOhyC,EAAIgyC,EAAK+uE,EAAS/uE,EAAKA,EAAGrgB,UAAW8pF,IAC9CviG,EAAe84B,EAAIypE,EAAe,CAAEhgG,cAAc,EAAMzgB,MAAOisH,GAEnE,CAGO,EAED;;;gEAAgD,SAItCpV,EAAQkH,EAA0B1G,GAElD,IAAI2P,EAAS3P,4BAA+C,8CACxDvnG,EAAMunG,yBAA4C,2CAElDj2G,EAAO4lH,EAAO,QAElBnQ,EAAOC,QAAU,SAAU70G,GACzB,OAAOb,EAAKa,KAASb,EAAKa,GAAO6N,EAAI7N,GACvC,CAGO,EAED;;;kEAAkD,SAIxC40G,EAAQkH,EAA0B1G,GAElD,IAAIlpE,EAASkpE,4BAA+C,8CACxDmO,EAAYnO,gCAAmD,kDAE/D6U,EAAS,qBACTvF,EAAQx4E,EAAO+9E,IAAW1G,EAAU0G,EAAQ,CAAC,GAEjDrV,EAAOC,QAAU6P,CAGV,EAED;;;4DAA4C,SAIlC9P,EAAQkH,EAA0B1G,GAElD,IAAI0K,EAAU1K,6BAAgD,+CAC1DsP,EAAQtP,kCAAqD,qDAEhER,EAAOC,QAAU,SAAU70G,EAAKjC,GAC/B,OAAO2mH,EAAM1kH,KAAS0kH,EAAM1kH,QAAiB8mE,IAAV/oE,EAAsBA,EAAQ,CAAC,EACpE,GAAG,WAAY,IAAIxC,KAAK,CACtB0mB,QAAS,SACTkU,KAAM2pF,EAAU,OAAS,SACzBoK,UAAW,wCAIN,EAED;;;wEAAwD,SAI9CtV,EAAQkH,EAA0B1G,GAElD,IAAIyI,EAAQzI,2BAA8C,6CAI1DR,EAAOC,QAAU,SAAUmJ,GACzB,OAAOH,GAAM,WACX,IAAI5oF,EAAO,GAAG+oF,GAAa,KAC3B,OAAO/oF,IAASA,EAAKlkB,eAAiBkkB,EAAKZ,MAAM,KAAKn4B,OAAS,CACjE,GACF,CAGO,EAED;;;sEAAsD,SAI5C04G,EAAQkH,EAA0B1G,GAElD,IAAI+U,EAAY/U,gCAAmD,kDAC/D7wE,EAAW6wE,+BAAkD,iDAC7D0J,EAAyB1J,8CAAiE,gEAG1FsH,EAAe,SAAU0N,GAC3B,OAAO,SAAUxN,EAAOyN,GACtB,IAGIvsC,EAAOssB,EAHP75D,EAAIhM,EAASu6E,EAAuBlC,IACpCl/D,EAAWysE,EAAUE,GACrBhsH,EAAOkyC,EAAEr0C,OAEb,OAAIwhD,EAAW,GAAKA,GAAYr/C,EAAa+rH,EAAoB,QAAKtjD,GACtEgX,EAAQvtC,EAAE7H,WAAWgV,GACdogC,EAAQ,OAAUA,EAAQ,OAAUpgC,EAAW,IAAMr/C,IACtD+rG,EAAS75D,EAAE7H,WAAWgV,EAAW,IAAM,OAAU0sD,EAAS,MAC1DggB,EAAoB75E,EAAE7E,OAAOgS,GAAYogC,EACzCssC,EAAoB75E,EAAExhC,MAAM2uC,EAAUA,EAAW,GAA+B0sD,EAAS,OAAlCtsB,EAAQ,OAAU,IAA0B,MAC3G,CACF,EAEA82B,EAAOC,QAAU,CAGfyV,OAAQ5N,GAAa,GAGrBhxE,OAAQgxE,GAAa,GAIhB,EAED;;;iEAAiD,SAIvC9H,EAAQkH,EAA0B1G,GAElD,IAAI0J,EAAyB1J,8CAAiE,gEAC1F7wE,EAAW6wE,+BAAkD,iDAC7DmV,EAAcnV,iCAAoD,mDAElEoV,EAAa,IAAMD,EAAc,IACjCE,EAAQ51F,OAAO,IAAM21F,EAAaA,EAAa,KAC/CE,EAAQ71F,OAAO21F,EAAaA,EAAa,MAGzC9N,EAAe,SAAUO,GAC3B,OAAO,SAAUL,GACf,IAAInlB,EAASlzD,EAASu6E,EAAuBlC,IAG7C,OAFW,EAAPK,IAAUxlB,EAASA,EAAO3mF,QAAQ25G,EAAO,KAClC,EAAPxN,IAAUxlB,EAASA,EAAO3mF,QAAQ45G,EAAO,KACtCjzB,CACT,CACF,EAEAmd,EAAOC,QAAU,CAGfnoG,MAAOgwG,EAAa,GAGpB/vG,IAAK+vG,EAAa,GAGlBxtG,KAAMwtG,EAAa,GAId,EAED;;;uEAAuD,SAI7C9H,EAAQkH,EAA0B1G,GAElD,IAAI+U,EAAY/U,gCAAmD,kDAE/D/wE,EAAMpV,KAAKoV,IACXnV,EAAMD,KAAKC,IAKf0lF,EAAOC,QAAU,SAAUx5G,EAAOa,GAChC,IAAIw7F,EAAUyyB,EAAU9uH,GACxB,OAAOq8F,EAAU,EAAIrzD,EAAIqzD,EAAUx7F,EAAQ,GAAKgzB,EAAIwoE,EAASx7F,EAC/D,CAGO,EAED;;;uEAAuD,SAI7C04G,EAAQkH,EAA0B1G,GAGlD,IAAI0H,EAAgB1H,oCAAuD,sDACvE0J,EAAyB1J,8CAAiE,gEAE9FR,EAAOC,QAAU,SAAU9/D,GACzB,OAAO+nE,EAAcgC,EAAuB/pE,GAC9C,CAGO,EAED;;;gEAAgD,SAItC6/D,GAEhB,IAAItzC,EAAOryC,KAAKqyC,KACZ7M,EAAQxlC,KAAKwlC,MAIjBmgD,EAAOC,QAAU,SAAUsJ,GACzB,OAAOryE,MAAMqyE,GAAYA,GAAY,GAAKA,EAAW,EAAI1pD,EAAQ6M,GAAM68C,EACzE,CAGO,EAED;;;+DAA+C,SAIrCvJ,EAAQkH,EAA0B1G,GAElD,IAAI+U,EAAY/U,gCAAmD,kDAE/DlmF,EAAMD,KAAKC,IAIf0lF,EAAOC,QAAU,SAAUsJ,GACzB,OAAOA,EAAW,EAAIjvF,EAAIi7F,EAAUhM,GAAW,kBAAoB,CACrE,CAGO,EAED;;;+DAA+C,SAIrCvJ,EAAQkH,EAA0B1G,GAElD,IAAI0J,EAAyB1J,8CAAiE,gEAI9FR,EAAOC,QAAU,SAAUsJ,GACzB,OAAOj9G,OAAO49G,EAAuBX,GACvC,CAGO,EAED;;;kEAAkD,SAIxCvJ,EAAQkH,EAA0B1G,GAElD,IAAInyG,EAAWmyG,+BAAkD,iDAC7Dz0G,EAAWy0G,+BAAkD,iDAC7DuV,EAAsBvV,2CAA8D,6DACpF2G,EAAkB3G,uCAA0D,yDAE5EwV,EAAe7O,EAAgB,eAInCnH,EAAOC,QAAU,SAAU3gB,EAAOg1B,GAChC,IAAKjmH,EAASixF,IAAUvzF,EAASuzF,GAAQ,OAAOA,EAChD,IACIxwF,EADAmnH,EAAe32B,EAAM02B,GAEzB,QAAqB9jD,IAAjB+jD,EAA4B,CAG9B,QAFa/jD,IAAToiD,IAAoBA,EAAO,WAC/BxlH,EAASmnH,EAAanmH,KAAKwvF,EAAOg1B,IAC7BjmH,EAASS,IAAW/C,EAAS+C,GAAS,OAAOA,EAClD,MAAM8uC,UAAU,0CAClB,CAEA,YADas0B,IAAToiD,IAAoBA,EAAO,UACxByB,EAAoBz2B,EAAOg1B,EACpC,CAGO,EAED;;;qEAAqD,SAI3CtU,EAAQkH,EAA0B1G,GAElD,IAAI0V,EAAc1V,kCAAqD,oDACnEz0G,EAAWy0G,+BAAkD,iDAIjER,EAAOC,QAAU,SAAUsJ,GACzB,IAAIn+G,EAAM8qH,EAAY3M,EAAU,UAChC,OAAOx9G,EAASX,GAAOA,EAAM+B,OAAO/B,EACtC,CAGO,EAED;;;2EAA2D,SAIjD40G,EAAQkH,EAA0B1G,GAElD,IAAI2G,EAAkB3G,uCAA0D,yDAE5EoJ,EAAgBzC,EAAgB,eAChC9mF,EAAO,CAAC,EAEZA,EAAKupF,GAAiB,IAEtB5J,EAAOC,QAA2B,eAAjB9yG,OAAOkzB,EAGjB,EAED;;;+DAA+C,SAIrC2/E,EAAQkH,EAA0B1G,GAElD,IAAIz0G,EAAWy0G,+BAAkD,iDAEjER,EAAOC,QAAU,SAAUsJ,GACzB,GAAIx9G,EAASw9G,GAAW,MAAM3rE,UAAU,6CACxC,OAAOzwC,OAAOo8G,EAChB,CAGO,EAED;;;yDAAyC,SAI/BvJ,GAEhB,IAAInoG,EAAK,EACLs+G,EAAU97F,KAAKylC,SAEnBkgD,EAAOC,QAAU,SAAU70G,GACzB,MAAO,UAAY+B,YAAe+kE,IAAR9mE,EAAoB,GAAKA,GAAO,QAAUyM,EAAKs+G,GAASxmF,SAAS,GAC7F,CAGO,EAED;;;uEAAuD,SAI7CqwE,EAAQkH,EAA0B1G,GAGlD,IAAI4V,EAAgB5V,mCAAsD,qDAE1ER,EAAOC,QAAUmW,IACXrrH,OAAOqkH,MACkB,iBAAnBrkH,OAAO8F,QAGZ,EAED;;;+EAA+D,SAIrDyvG,EAAyBL,EAASO,GAElD,IAAI2G,EAAkB3G,uCAA0D,yDAEhFP,EAAQ75F,EAAI+gG,CAGL,EAED;;;uEAAuD,SAI7CnH,EAAQkH,EAA0B1G,GAElD,IAAIlpE,EAASkpE,4BAA+C,8CACxD2P,EAAS3P,4BAA+C,8CACxDryG,EAAMqyG,yBAA4C,2CAClDvnG,EAAMunG,yBAA4C,2CAClD4V,EAAgB5V,mCAAsD,qDACtE4Q,EAAoB5Q,uCAA0D,yDAE9E6V,EAAwBlG,EAAO,OAC/BplH,EAASusC,EAAOvsC,OAChBurH,EAAwBlF,EAAoBrmH,EAASA,GAAUA,EAAOwrH,eAAiBt9G,EAE3F+mG,EAAOC,QAAU,SAAU5/F,GAOvB,OANGlS,EAAIkoH,EAAuBh2G,KAAW+1G,GAAuD,iBAA/BC,EAAsBh2G,MACnF+1G,GAAiBjoH,EAAIpD,EAAQsV,GAC/Bg2G,EAAsBh2G,GAAQtV,EAAOsV,GAErCg2G,EAAsBh2G,GAAQi2G,EAAsB,UAAYj2G,IAE3Dg2G,EAAsBh2G,EACjC,CAGO,EAED;;;iEAAiD,SAIvC2/F,GAGhBA,EAAOC,QAAU,+CAIV,EAED;;;mEAAmD,SAIzCK,EAAyB4G,EAA0B1G,GAEnE,aAEA,IAAIl7F,EAAIk7F,4BAA+C,8CACnDyI,EAAQzI,2BAA8C,6CACtD90G,EAAU80G,8BAAiD,gDAC3DnyG,EAAWmyG,+BAAkD,iDAC7D2H,EAAW3H,+BAAkD,iDAC7DoH,EAAWpH,+BAAkD,iDAC7DgW,EAAiBhW,qCAAwD,uDACzE4H,EAAqB5H,0CAA6D,4DAClFiW,EAA+BjW,sDAAyE,wEACxG2G,EAAkB3G,uCAA0D,yDAC5E0I,EAAa1I,uCAA0D,yDAEvEkW,EAAuBvP,EAAgB,sBACvCwP,EAAmB,iBACnBC,EAAiC,iCAKjCC,EAA+B3N,GAAc,KAAOD,GAAM,WAC5D,IAAII,EAAQ,GAEZ,OADAA,EAAMqN,IAAwB,EACvBrN,EAAMzqG,SAAS,KAAOyqG,CAC/B,IAEIyN,EAAkBL,EAA6B,UAE/CM,EAAqB,SAAU57E,GACjC,IAAK9sC,EAAS8sC,GAAI,OAAO,EACzB,IAAI67E,EAAa77E,EAAEu7E,GACnB,YAAsBxkD,IAAf8kD,IAA6BA,EAAatrH,EAAQyvC,EAC3D,EAEIwwE,GAAUkL,IAAiCC,EAK/CxxG,EAAE,CAAEpa,OAAQ,QAAS8E,OAAO,EAAMq8G,OAAQV,GAAU,CAElD/sG,OAAQ,SAAgBmE,GACtB,IAGI3b,EAAGsrB,EAAGprB,EAAQy2B,EAAK+c,EAHnBK,EAAIgtE,EAAS/hH,MACby0C,EAAIutE,EAAmBjtE,EAAG,GAC1B50B,EAAI,EAER,IAAKnf,GAAK,EAAGE,EAASinB,UAAUjnB,OAAQF,EAAIE,EAAQF,IAElD,GADA0zC,GAAW,IAAP1zC,EAAW+zC,EAAI5sB,UAAUnnB,GACzB2vH,EAAmBj8E,GAAI,CAEzB,GADA/c,EAAM6pF,EAAS9sE,EAAExzC,QACbif,EAAIwX,EAAM44F,EAAkB,MAAM/4E,UAAUg5E,GAChD,IAAKlkG,EAAI,EAAGA,EAAIqL,EAAKrL,IAAKnM,IAASmM,KAAKooB,GAAG07E,EAAe37E,EAAGt0B,EAAGu0B,EAAEpoB,GACpE,KAAO,CACL,GAAInM,GAAKowG,EAAkB,MAAM/4E,UAAUg5E,GAC3CJ,EAAe37E,EAAGt0B,IAAKu0B,EACzB,CAGF,OADAD,EAAEvzC,OAASif,EACJs0B,CACT,GAIK,EAED;;;qEAAqD,SAI3CmlE,EAAQkH,EAA0B1G,GAElD,aAEA,IAAImH,EAAkBnH,uCAA0D,yDAC5EyW,EAAmBzW,wCAA2D,0DAC9E+J,EAAY/J,+BAAkD,iDAC9DiU,EAAsBjU,oCAAuD,sDAC7E0W,EAAiB1W,qCAAwD,uDAEzE2W,EAAiB,iBACjBC,EAAmB3C,EAAoBtqH,IACvCuqH,EAAmBD,EAAoBjE,UAAU2G,GAYrDnX,EAAOC,QAAUiX,EAAetzG,MAAO,SAAS,SAAUyzG,EAAUC,GAClEF,EAAiBhxH,KAAM,CACrB+E,KAAMgsH,EACNjsH,OAAQy8G,EAAgB0P,GACxB5wH,MAAO,EACP6wH,KAAMA,GAIV,IAAG,WACD,IAAI3wG,EAAQ+tG,EAAiBtuH,MACzB8E,EAASyb,EAAMzb,OACfosH,EAAO3wG,EAAM2wG,KACb7wH,EAAQkgB,EAAMlgB,QAClB,OAAKyE,GAAUzE,GAASyE,EAAO5D,QAC7Bqf,EAAMzb,YAASgnE,EACR,CAAE/oE,WAAO+oE,EAAWjhE,MAAM,IAEvB,QAARqmH,EAAuB,CAAEnuH,MAAO1C,EAAOwK,MAAM,GACrC,UAARqmH,EAAyB,CAAEnuH,MAAO+B,EAAOzE,GAAQwK,MAAM,GACpD,CAAE9H,MAAO,CAAC1C,EAAOyE,EAAOzE,IAASwK,MAAM,EAChD,GAAG,UAKHs5G,EAAUgN,UAAYhN,EAAU3mG,MAGhCqzG,EAAiB,QACjBA,EAAiB,UACjBA,EAAiB,UAGV,EAED;;;iEAAiD,SAIvC3W,EAAyB4G,EAA0B1G,GAEnE,aAEA,IAAIl7F,EAAIk7F,4BAA+C,8CACnD0H,EAAgB1H,oCAAuD,sDACvEmH,EAAkBnH,uCAA0D,yDAC5EgH,EAAsBhH,4CAA+D,8DAErFgX,EAAa,GAAGpnF,KAEhBqnF,EAAcvP,GAAiB57G,OAC/Bm7G,EAAgBD,EAAoB,OAAQ,KAIhDliG,EAAE,CAAEpa,OAAQ,QAAS8E,OAAO,EAAMq8G,OAAQoL,IAAgBhQ,GAAiB,CACzEr3E,KAAM,SAAc44D,GAClB,OAAOwuB,EAAW1nH,KAAK63G,EAAgBvhH,WAAqB8rE,IAAd82B,EAA0B,IAAMA,EAChF,GAIK,EAED;;;gEAAgD,SAItCsX,EAAyB4G,EAA0B1G,GAEnE,aAEA,IAAIl7F,EAAIk7F,4BAA+C,8CACnDkX,EAAOlX,qCAAwD,uDAAuD/zG,IACtHgqH,EAA+BjW,sDAAyE,wEAExGmX,EAAsBlB,EAA6B,OAKvDnxG,EAAE,CAAEpa,OAAQ,QAAS8E,OAAO,EAAMq8G,QAASsL,GAAuB,CAChElrH,IAAK,SAAai7G,GAChB,OAAOgQ,EAAKtxH,KAAMshH,EAAYn5F,UAAUjnB,OAAS,EAAIinB,UAAU,QAAK2jD,EACtE,GAIK,EAED;;;kEAAkD,SAIxCouC,EAAyB4G,EAA0B1G,GAEnE,aAEA,IAAIl7F,EAAIk7F,4BAA+C,8CACnDnyG,EAAWmyG,+BAAkD,iDAC7D90G,EAAU80G,8BAAiD,gDAC3DqH,EAAkBrH,uCAA0D,yDAC5EoH,EAAWpH,+BAAkD,iDAC7DmH,EAAkBnH,uCAA0D,yDAC5EgW,EAAiBhW,qCAAwD,uDACzE2G,EAAkB3G,uCAA0D,yDAC5EiW,EAA+BjW,sDAAyE,wEAExGmX,EAAsBlB,EAA6B,SAEnDtN,EAAUhC,EAAgB,WAC1ByQ,EAAc,GAAGz9G,MACjBs1B,EAAMpV,KAAKoV,IAKfnqB,EAAE,CAAEpa,OAAQ,QAAS8E,OAAO,EAAMq8G,QAASsL,GAAuB,CAChEx9G,MAAO,SAAerC,EAAOC,GAC3B,IAKIwiC,EAAazrC,EAAQyX,EALrB40B,EAAIwsE,EAAgBvhH,MACpBkB,EAASsgH,EAASzsE,EAAE7zC,QACpBorB,EAAIm1F,EAAgB/vG,EAAOxQ,GAC3BuwH,EAAMhQ,OAAwB31C,IAARn6D,EAAoBzQ,EAASyQ,EAAKzQ,GAG5D,GAAIoE,EAAQyvC,KACVZ,EAAcY,EAAEj1C,YAEU,mBAAfq0C,GAA8BA,IAAgB32B,QAASlY,EAAQ6uC,EAAYza,WAE3EzxB,EAASksC,KAClBA,EAAcA,EAAY4uE,GACN,OAAhB5uE,IAAsBA,OAAc23B,IAHxC33B,OAAc23B,EAKZ33B,IAAgB32B,YAAyBsuD,IAAhB33B,GAC3B,OAAOq9E,EAAY9nH,KAAKqrC,EAAGzoB,EAAGmlG,GAIlC,IADA/oH,EAAS,SAAqBojE,IAAhB33B,EAA4B32B,MAAQ22B,GAAa9K,EAAIooF,EAAMnlG,EAAG,IACvEnM,EAAI,EAAGmM,EAAImlG,EAAKnlG,IAAKnM,IAASmM,KAAKyoB,GAAGq7E,EAAe1nH,EAAQyX,EAAG40B,EAAEzoB,IAEvE,OADA5jB,EAAOxH,OAASif,EACTzX,CACT,GAIK,EAED;;;oEAAoD,SAI1CwxG,EAAyB4G,EAA0B1G,GAEnE,IAAIkK,EAAclK,iCAAoD,mDAClEn5F,EAAiBm5F,4CAA+D,8DAA8Dp6F,EAE9I0xG,EAAoB/nG,SAAS+P,UAC7Bi4F,EAA4BD,EAAkBnoF,SAC9CqoF,EAAS,wBACT39E,EAAO,OAIPqwE,KAAiBrwE,KAAQy9E,IAC3BzwG,EAAeywG,EAAmBz9E,EAAM,CACtCzwB,cAAc,EACdrgB,IAAK,WACH,IACE,OAAOwuH,EAA0BjoH,KAAK1J,MAAM6sC,MAAM+kF,GAAQ,EAC5D,CAAE,MAAOphH,GACP,MAAO,EACT,CACF,GAKG,EAED;;;yEAAyD,SAI/C0pG,EAAyB4G,EAA0B1G,GAEnE,aAEA,IAAIkK,EAAclK,iCAAoD,mDAClElpE,EAASkpE,4BAA+C,8CACxDqO,EAAWrO,+BAAkD,iDAC7DyK,EAAWzK,8BAAiD,gDAC5DryG,EAAMqyG,yBAA4C,2CAClDiP,EAAUjP,iCAAoD,mDAC9DyX,EAAoBzX,yCAA4D,2DAChFz0G,EAAWy0G,+BAAkD,iDAC7D0V,EAAc1V,kCAAqD,oDACnEyI,EAAQzI,2BAA8C,6CACtDn7F,EAASm7F,mCAAsD,qDAC/Dj0G,EAAsBi0G,mDAAsE,qEAAqEp6F,EACjK6jG,EAA2BzJ,wDAA2E,0EAA0Ep6F,EAChLiB,EAAiBm5F,4CAA+D,8DAA8Dp6F,EAC9I9L,EAAOkmG,iCAAoD,mDAAmDlmG,KAE9G49G,EAAS,SACTC,EAAe7gF,EAAO4gF,GACtBE,EAAkBD,EAAar4F,UAG/Bu4F,EAAiB5I,EAAQpqG,EAAO+yG,KAAqBF,EAIrDvqF,EAAW,SAAU47E,GACvB,GAAIx9G,EAASw9G,GAAW,MAAM3rE,UAAU,6CACxC,IACIsrC,EAAOovC,EAAOC,EAAOC,EAAS3+C,EAAQvyE,EAAQb,EAAO8zD,EADrDpa,EAAK+1E,EAAY3M,EAAU,UAE/B,GAAiB,iBAANppE,GAAkBA,EAAG74C,OAAS,EAGvC,GAFA64C,EAAK7lC,EAAK6lC,GACV+oC,EAAQ/oC,EAAGrM,WAAW,GACR,KAAVo1C,GAA0B,KAAVA,GAElB,GADAovC,EAAQn4E,EAAGrM,WAAW,GACR,KAAVwkF,GAA0B,MAAVA,EAAe,OAAOnhF,SACrC,GAAc,KAAV+xC,EAAc,CACvB,OAAQ/oC,EAAGrM,WAAW,IACpB,KAAK,GAAI,KAAK,GAAIykF,EAAQ,EAAGC,EAAU,GAAI,MAC3C,KAAK,GAAI,KAAK,IAAKD,EAAQ,EAAGC,EAAU,GAAI,MAC5C,QAAS,OAAQr4E,EAInB,IAFA05B,EAAS15B,EAAGhmC,MAAM,GAClB7S,EAASuyE,EAAOvyE,OACXb,EAAQ,EAAGA,EAAQa,EAAQb,IAI9B,GAHA8zD,EAAOsf,EAAO/lC,WAAWrtC,GAGrB8zD,EAAO,IAAMA,EAAOi+D,EAAS,OAAOrhF,IACxC,OAAOX,SAASqjC,EAAQ0+C,EAC5B,CACA,OAAQp4E,CACZ,EAIA,GAAI0uE,EAASqJ,GAASC,EAAa,UAAYA,EAAa,QAAUA,EAAa,SAAU,CAS3F,IARA,IAgBqB/sH,EAhBjBqtH,EAAgB,SAAgBtvH,GAClC,IAAIg3C,EAAK5xB,UAAUjnB,OAAS,EAAI,EAAI6B,EAChCumH,EAAQtpH,KACZ,OAAOspH,aAAiB+I,IAElBJ,EAAiBpP,GAAM,WAAcmP,EAAgB7D,QAAQzkH,KAAK4/G,EAAQ,IAAKD,EAAQC,IAAUwI,GACjGD,EAAkB,IAAIE,EAAaxqF,EAASwS,IAAMuvE,EAAO+I,GAAiB9qF,EAASwS,EAC3F,EACS51C,EAAOmgH,EAAcn+G,EAAoB4rH,GAAgB,8LAQhE14F,MAAM,KAAMzE,EAAI,EAAQzwB,EAAKjD,OAAS0zB,EAAGA,IACrC7sB,EAAIgqH,EAAc/sH,EAAMb,EAAKywB,MAAQ7sB,EAAIsqH,EAAertH,IAC1Dic,EAAeoxG,EAAertH,EAAK6+G,EAAyBkO,EAAc/sH,IAG9EqtH,EAAc34F,UAAYs4F,EAC1BA,EAAgBlyH,YAAcuyH,EAC9BxN,EAAS3zE,EAAQ4gF,EAAQO,EAC3B,CAGO,EAED;;;oEAAoD,SAI1CnY,EAAyB4G,EAA0B1G,GAEnE,IAAIl7F,EAAIk7F,4BAA+C,8CACnDpqE,EAASoqE,mCAAsD,qDAKnEl7F,EAAE,CAAEpa,OAAQ,SAAU4/E,MAAM,EAAMuhC,OAAQ//G,OAAO8pC,SAAWA,GAAU,CACpEA,OAAQA,GAIH,EAED;;;kEAAkD,SAIxCkqE,EAAyB4G,EAA0B1G,GAEnE,IAAIl7F,EAAIk7F,4BAA+C,8CACnD2H,EAAW3H,+BAAkD,iDAC7DkY,EAAalY,iCAAoD,mDACjEyI,EAAQzI,2BAA8C,6CAEtDmY,EAAsB1P,GAAM,WAAcyP,EAAW,EAAI,IAI7DpzG,EAAE,CAAEpa,OAAQ,SAAU4/E,MAAM,EAAMuhC,OAAQsM,GAAuB,CAC/DpuH,KAAM,SAAc41C,GAClB,OAAOu4E,EAAWvQ,EAAShoE,GAC7B,GAIK,EAED;;;uEAAuD,SAI7CmgE,EAAyB4G,EAA0B1G,GAEnE,IAAIkJ,EAAwBlJ,2CAA8D,6DACtFyK,EAAWzK,8BAAiD,gDAC5D7wE,EAAW6wE,sCAAyD,wDAInEkJ,GACHuB,EAAS3+G,OAAOwzB,UAAW,WAAY6P,EAAU,CAAEklF,QAAQ,GAItD,EAED;;;uEAAuD,SAI7CvU,EAAyB4G,EAA0B1G,GAEnE,aAEA,IAAIyK,EAAWzK,8BAAiD,gDAC5D0R,EAAW1R,+BAAkD,iDAC7DoY,EAAYpY,+BAAkD,iDAC9DyI,EAAQzI,2BAA8C,6CACtDznC,EAAQynC,kCAAqD,oDAE7DqY,EAAY,WACZC,EAAkB74F,OAAOH,UACzBi5F,EAAiBD,EAAgBD,GAEjCG,EAAc/P,GAAM,WAAc,MAA2D,QAApD8P,EAAejpH,KAAK,CAAE2T,OAAQ,IAAKs1D,MAAO,KAAkB,IAErGkgD,EAAiBF,EAAe14G,MAAQw4G,GAIxCG,GAAeC,IACjBhO,EAAShrF,OAAOH,UAAW+4F,GAAW,WACpC,IAAI35E,EAAIgzE,EAAS9rH,MACbqR,EAAImhH,EAAU15E,EAAEz7B,QAChBy1G,EAAKh6E,EAAE65B,MACP3yD,EAAIwyG,OAAiB1mD,IAAPgnD,GAAoBh6E,aAAajf,UAAY,UAAW64F,GAAmB//C,EAAMjpE,KAAKovC,GAAKg6E,GAC7G,MAAO,IAAMzhH,EAAI,IAAM2O,CACzB,GAAG,CAAEyuG,QAAQ,GAIR,EAED;;;sEAAsD,SAI5CvU,EAAyB4G,EAA0B1G,GAEnE,aAEA,IAAI1pE,EAAS0pE,sCAAyD,wDAAwD1pE,OAC1HnH,EAAW6wE,+BAAkD,iDAC7DiU,EAAsBjU,oCAAuD,sDAC7E0W,EAAiB1W,qCAAwD,uDAEzE2Y,EAAkB,kBAClB/B,EAAmB3C,EAAoBtqH,IACvCuqH,EAAmBD,EAAoBjE,UAAU2I,GAIrDjC,EAAe/pH,OAAQ,UAAU,SAAUkqH,GACzCD,EAAiBhxH,KAAM,CACrB+E,KAAMguH,EACNt2B,OAAQlzD,EAAS0nF,GACjB5wH,MAAO,GAIX,IAAG,WACD,IAGIqrG,EAHAnrF,EAAQ+tG,EAAiBtuH,MACzBy8F,EAASl8E,EAAMk8E,OACfp8F,EAAQkgB,EAAMlgB,MAElB,OAAIA,GAASo8F,EAAOv7F,OAAe,CAAE6B,WAAO+oE,EAAWjhE,MAAM,IAC7D6gG,EAAQh7D,EAAO+rD,EAAQp8F,GACvBkgB,EAAMlgB,OAASqrG,EAAMxqG,OACd,CAAE6B,MAAO2oG,EAAO7gG,MAAM,GAC/B,GAGO,EAED;;;kEAAkD,SAIxCqvG,EAAyB4G,EAA0B1G,GAEnE,aAEA,IAAIl7F,EAAIk7F,4BAA+C,8CACnD4Y,EAAa5Y,iCAAoD,mDACjE6Y,EAAyB7Y,wCAA2D,0DAIxFl7F,EAAE,CAAEpa,OAAQ,SAAU8E,OAAO,EAAMq8G,OAAQgN,EAAuB,SAAW,CAC3E5uB,KAAM,SAAczd,GAClB,OAAOosC,EAAWhzH,KAAM,IAAK,OAAQ4mF,EACvC,GAIK,EAED;;;yEAAyD,SAI/CszB,EAAyB4G,EAA0B1G,GAEnE,aAIA,IAAIl7F,EAAIk7F,4BAA+C,8CACnDkK,EAAclK,iCAAoD,mDAClElpE,EAASkpE,4BAA+C,8CACxDryG,EAAMqyG,yBAA4C,2CAClDnyG,EAAWmyG,+BAAkD,iDAC7Dn5F,EAAiBm5F,4CAA+D,8DAA8Dp6F,EAC9IwoG,EAA4BpO,iDAAoE,mEAEhG8Y,EAAehiF,EAAOvsC,OAE1B,GAAI2/G,GAAsC,mBAAhB4O,MAAiC,gBAAiBA,EAAax5F,iBAExDoyC,IAA/BonD,IAAepgF,aACd,CACD,IAAIqgF,EAA8B,CAAC,EAE/BC,EAAgB,WAClB,IAAItgF,EAAc3qB,UAAUjnB,OAAS,QAAsB4qE,IAAjB3jD,UAAU,QAAmB2jD,EAAY/kE,OAAOohB,UAAU,IAChGzf,EAAS1I,gBAAgBozH,EACzB,IAAIF,EAAapgF,QAEDg5B,IAAhBh5B,EAA4BogF,IAAiBA,EAAapgF,GAE9D,MADoB,KAAhBA,IAAoBqgF,EAA4BzqH,IAAU,GACvDA,CACT,EACA8/G,EAA0B4K,EAAeF,GACzC,IAAIG,EAAkBD,EAAc15F,UAAYw5F,EAAax5F,UAC7D25F,EAAgBvzH,YAAcszH,EAE9B,IAAIE,EAAiBD,EAAgB9pF,SACjCgqF,EAAyC,gBAAhCxsH,OAAOmsH,EAAa,SAC7BM,EAAS,wBACbvyG,EAAeoyG,EAAiB,cAAe,CAC7C7vG,cAAc,EACdrgB,IAAK,WACH,IAAIkoH,EAASpjH,EAASjI,MAAQA,KAAKmuH,UAAYnuH,KAC3Cy8F,EAAS62B,EAAe5pH,KAAK2hH,GACjC,GAAItjH,EAAIorH,EAA6B9H,GAAS,MAAO,GACrD,IAAIoI,EAAOF,EAAS92B,EAAO1oF,MAAM,GAAI,GAAK0oF,EAAO3mF,QAAQ09G,EAAQ,MACjE,MAAgB,KAATC,OAAc3nD,EAAY2nD,CACnC,IAGFv0G,EAAE,CAAEgyB,QAAQ,EAAM+0E,QAAQ,GAAQ,CAChCthH,OAAQyuH,GAEZ,CAGO,EAED;;;sEAAsD,SAI5ClZ,EAAyB4G,EAA0B1G,GAEnE,IAAIsZ,EAAwBtZ,8CAAiE,gEAI7FsZ,EAAsB,WAGf,EAED;;;6DAA6C,SAInCxZ,EAAyB4G,EAA0B1G,GAEnE,aAEA,IAAIl7F,EAAIk7F,4BAA+C,8CACnDlpE,EAASkpE,4BAA+C,8CACxD+N,EAAa/N,kCAAqD,oDAClE0K,EAAU1K,6BAAgD,+CAC1DkK,EAAclK,iCAAoD,mDAClE4V,EAAgB5V,mCAAsD,qDACtEyI,EAAQzI,2BAA8C,6CACtDryG,EAAMqyG,yBAA4C,2CAClD90G,EAAU80G,8BAAiD,gDAC3DnyG,EAAWmyG,+BAAkD,iDAC7Dz0G,EAAWy0G,+BAAkD,iDAC7D0R,EAAW1R,+BAAkD,iDAC7D2H,EAAW3H,+BAAkD,iDAC7DmH,EAAkBnH,uCAA0D,yDAC5EqK,EAAgBrK,qCAAwD,uDACxEoY,EAAYpY,+BAAkD,iDAC9D6J,EAA2B7J,gDAAmE,kEAC9FuZ,EAAqBvZ,mCAAsD,qDAC3EkR,EAAalR,iCAAoD,mDACjEgU,EAA4BhU,mDAAsE,qEAClGwZ,EAA8BxZ,4DAA+E,8EAC7GmR,EAA8BnR,qDAAwE,uEACtGwJ,EAAiCxJ,wDAA2E,0EAC5G4G,EAAuB5G,4CAA+D,8DACtFoR,EAA6BpR,mDAAsE,qEACnGwK,EAA8BxK,oDAAuE,sEACrGyK,EAAWzK,8BAAiD,gDAC5D2P,EAAS3P,4BAA+C,8CACxD4P,EAAY5P,gCAAmD,kDAC/D6P,EAAa7P,iCAAoD,mDACjEvnG,EAAMunG,yBAA4C,2CAClD2G,EAAkB3G,uCAA0D,yDAC5E8L,EAA+B9L,+CAAkE,iEACjGsZ,EAAwBtZ,8CAAiE,gEACzF8J,EAAiB9J,uCAA0D,yDAC3EiU,EAAsBjU,oCAAuD,sDAC7E+G,EAAW/G,qCAAwD,uDAAuD30G,QAE1HouH,EAAS7J,EAAU,UACnB8J,EAAS,SACT1H,EAAY,YACZwD,EAAe7O,EAAgB,eAC/BiQ,EAAmB3C,EAAoBtqH,IACvCuqH,EAAmBD,EAAoBjE,UAAU0J,GACjDlG,EAAkB1nH,OAAOkmH,GACzBnB,EAAU/5E,EAAOvsC,OACjBovH,EAAa5L,EAAW,OAAQ,aAChC6L,EAAiCpQ,EAA+B5jG,EAChEi0G,EAAuBjT,EAAqBhhG,EAC5Ck0G,EAA4BN,EAA4B5zG,EACxDm0G,EAA6B3I,EAA2BxrG,EACxDo0G,EAAarK,EAAO,WACpBsK,GAAyBtK,EAAO,cAChCuK,GAAyBvK,EAAO,6BAChCwK,GAAyBxK,EAAO,6BAChCkG,GAAwBlG,EAAO,OAC/ByK,GAAUtjF,EAAOsjF,QAEjBC,IAAcD,KAAYA,GAAQpI,KAAeoI,GAAQpI,GAAWsI,UAGpEC,GAAsBrQ,GAAezB,GAAM,WAC7C,OAES,GAFF8Q,EAAmBM,EAAqB,CAAC,EAAG,IAAK,CACtD9wH,IAAK,WAAc,OAAO8wH,EAAqBj0H,KAAM,IAAK,CAAE+C,MAAO,IAAKkQ,CAAG,KACzEA,CACN,IAAK,SAAU8hC,EAAGa,EAAGy3E,GACnB,IAAIuH,EAA4BZ,EAA+BpG,EAAiBh4E,GAC5Eg/E,UAAkChH,EAAgBh4E,GACtDq+E,EAAqBl/E,EAAGa,EAAGy3E,GACvBuH,GAA6B7/E,IAAM64E,GACrCqG,EAAqBrG,EAAiBh4E,EAAGg/E,EAE7C,EAAIX,EAEA1qH,GAAO,SAAUy6B,EAAK8O,GACxB,IAAIu4E,EAAS+I,EAAWpwF,GAAO2vF,EAAmB1I,EAAQmB,IAO1D,OANA4E,EAAiB3F,EAAQ,CACvBtmH,KAAM+uH,EACN9vF,IAAKA,EACL8O,YAAaA,IAEVwxE,IAAa+G,EAAOv4E,YAAcA,GAChCu4E,CACT,EAEI+B,GAAkB,SAAwBr4E,EAAGa,EAAGy3E,GAC9Ct4E,IAAM64E,GAAiBR,GAAgBiH,GAAwBz+E,EAAGy3E,GACtEvB,EAAS/2E,GACT,IAAI/vC,EAAMy/G,EAAc7uE,GAExB,OADAk2E,EAASuB,GACLtlH,EAAIqsH,EAAYpvH,IACbqoH,EAAW9pG,YAIVxb,EAAIgtC,EAAG8+E,IAAW9+E,EAAE8+E,GAAQ7uH,KAAM+vC,EAAE8+E,GAAQ7uH,IAAO,GACvDqoH,EAAasG,EAAmBtG,EAAY,CAAE9pG,WAAY0gG,EAAyB,GAAG,OAJjFl8G,EAAIgtC,EAAG8+E,IAASI,EAAqBl/E,EAAG8+E,EAAQ5P,EAAyB,EAAG,CAAC,IAClFlvE,EAAE8+E,GAAQ7uH,IAAO,GAIV2vH,GAAoB5/E,EAAG/vC,EAAKqoH,IAC9B4G,EAAqBl/E,EAAG/vC,EAAKqoH,EACxC,EAEIwH,GAAoB,SAA0B9/E,EAAGm4E,GACnDpB,EAAS/2E,GACT,IAAI+/E,EAAavT,EAAgB2L,GAC7B/oH,EAAOmnH,EAAWwJ,GAAYt8G,OAAOu8G,GAAuBD,IAIhE,OAHA3T,EAASh9G,GAAM,SAAUa,GAClBs/G,IAAewJ,GAAsBpkH,KAAKorH,EAAY9vH,IAAMooH,GAAgBr4E,EAAG/vC,EAAK8vH,EAAW9vH,GACtG,IACO+vC,CACT,EAEIigF,GAAU,SAAgBjgF,EAAGm4E,GAC/B,YAAsBphD,IAAfohD,EAA2ByG,EAAmB5+E,GAAK8/E,GAAkBlB,EAAmB5+E,GAAIm4E,EACrG,EAEIY,GAAwB,SAA8B90E,GACxD,IAAIpD,EAAI6uE,EAAczrE,GAClBz1B,EAAa4wG,EAA2BzqH,KAAK1J,KAAM41C,GACvD,QAAI51C,OAAS4tH,GAAmB7lH,EAAIqsH,EAAYx+E,KAAO7tC,EAAIssH,GAAwBz+E,QAC5EryB,IAAexb,EAAI/H,KAAM41C,KAAO7tC,EAAIqsH,EAAYx+E,IAAM7tC,EAAI/H,KAAM6zH,IAAW7zH,KAAK6zH,GAAQj+E,KAAKryB,EACtG,EAEI+pG,GAA4B,SAAkCv4E,EAAGa,GACnE,IAAImE,EAAKwnE,EAAgBxsE,GACrB/vC,EAAMy/G,EAAc7uE,GACxB,GAAImE,IAAO6zE,IAAmB7lH,EAAIqsH,EAAYpvH,IAAS+C,EAAIssH,GAAwBrvH,GAAnF,CACA,IAAIkc,EAAa8yG,EAA+Bj6E,EAAI/0C,GAIpD,OAHIkc,IAAcnZ,EAAIqsH,EAAYpvH,IAAU+C,EAAIgyC,EAAI85E,IAAW95E,EAAG85E,GAAQ7uH,KACxEkc,EAAWqC,YAAa,GAEnBrC,CALwF,CAMjG,EAEIqsG,GAAuB,SAA6Bx4E,GACtD,IAAI84E,EAAQqG,EAA0B3S,EAAgBxsE,IAClDrsC,EAAS,GAIb,OAHAy4G,EAAS0M,GAAO,SAAU7oH,GACnB+C,EAAIqsH,EAAYpvH,IAAS+C,EAAIkiH,EAAYjlH,IAAM0D,EAAOnI,KAAKyE,EAClE,IACO0D,CACT,EAEIqsH,GAAyB,SAA+BhgF,GAC1D,IAAIkgF,EAAsBlgF,IAAM64E,EAC5BC,EAAQqG,EAA0Be,EAAsBZ,GAAyB9S,EAAgBxsE,IACjGrsC,EAAS,GAMb,OALAy4G,EAAS0M,GAAO,SAAU7oH,IACpB+C,EAAIqsH,EAAYpvH,IAAUiwH,IAAuBltH,EAAI6lH,EAAiB5oH,IACxE0D,EAAOnI,KAAK6zH,EAAWpvH,GAE3B,IACO0D,CACT,EAiHA,GA7GKsnH,IACH/E,EAAU,WACR,GAAIjrH,gBAAgBirH,EAAS,MAAMzzE,UAAU,+BAC7C,IAAI1E,EAAe3qB,UAAUjnB,aAA2B4qE,IAAjB3jD,UAAU,GAA+BqqG,EAAUrqG,UAAU,SAAhC2jD,EAChE9nC,EAAMnxB,EAAIigC,GACVhlC,EAAS,SAAU/K,GACjB/C,OAAS4tH,GAAiB9/G,EAAOpE,KAAK2qH,GAAwBtxH,GAC9DgF,EAAI/H,KAAM6zH,IAAW9rH,EAAI/H,KAAK6zH,GAAS7vF,KAAMhkC,KAAK6zH,GAAQ7vF,IAAO,GACrE2wF,GAAoB30H,KAAMgkC,EAAKigF,EAAyB,EAAGlhH,GAC7D,EAEA,OADIuhH,GAAemQ,IAAYE,GAAoB/G,EAAiB5pF,EAAK,CAAExgB,cAAc,EAAMzf,IAAK+J,IAC7FvE,GAAKy6B,EAAK8O,EACnB,EAEA+xE,EAASoG,EAAQmB,GAAY,YAAY,WACvC,OAAOkC,EAAiBtuH,MAAMgkC,GAChC,IAEA6gF,EAASoG,EAAS,iBAAiB,SAAUn4E,GAC3C,OAAOvpC,GAAKsJ,EAAIigC,GAAcA,EAChC,IAEA04E,EAA2BxrG,EAAI8tG,GAC/B9M,EAAqBhhG,EAAIotG,GACzBxJ,EAA+B5jG,EAAIstG,GACnCc,EAA0BpuG,EAAI4zG,EAA4B5zG,EAAIutG,GAC9DhC,EAA4BvrG,EAAI+0G,GAEhC7O,EAA6BlmG,EAAI,SAAU/F,GACzC,OAAO1Q,GAAKw3G,EAAgB9mG,GAAOA,EACrC,EAEIqqG,IAEF2P,EAAqBhJ,EAAQmB,GAAY,cAAe,CACtD5oG,cAAc,EACdrgB,IAAK,WACH,OAAOmrH,EAAiBtuH,MAAM8yC,WAChC,IAEGgyE,GACHD,EAAS+I,EAAiB,uBAAwBE,GAAuB,CAAEW,QAAQ,MAKzFvvG,EAAE,CAAEgyB,QAAQ,EAAM3nC,MAAM,EAAM08G,QAAS+J,EAAehH,MAAOgH,GAAiB,CAC5ErrH,OAAQsmH,IAGV9J,EAASmK,EAAW2E,KAAwB,SAAUh2G,GACpDy5G,EAAsBz5G,EACxB,IAEAiF,EAAE,CAAEpa,OAAQgvH,EAAQpvC,MAAM,EAAMuhC,QAAS+J,GAAiB,CAGxD,IAAO,SAAUhrH,GACf,IAAIy3F,EAAS+1B,EAAUxtH,GACvB,GAAI+C,EAAIusH,GAAwB73B,GAAS,OAAO63B,GAAuB73B,GACvE,IAAI4uB,EAASJ,EAAQxuB,GAGrB,OAFA63B,GAAuB73B,GAAU4uB,EACjCkJ,GAAuBlJ,GAAU5uB,EAC1B4uB,CACT,EAGA6J,OAAQ,SAAgBC,GACtB,IAAKxvH,EAASwvH,GAAM,MAAM39E,UAAU29E,EAAM,oBAC1C,GAAIptH,EAAIwsH,GAAwBY,GAAM,OAAOZ,GAAuBY,EACtE,EACAC,UAAW,WAAcX,IAAa,CAAM,EAC5CY,UAAW,WAAcZ,IAAa,CAAO,IAG/Cv1G,EAAE,CAAEpa,OAAQ,SAAU4/E,MAAM,EAAMuhC,QAAS+J,EAAehH,MAAO1E,GAAe,CAG9ErlG,OAAQ+1G,GAGR/zG,eAAgBmsG,GAGhBrB,iBAAkB8I,GAGlBhR,yBAA0ByJ,KAG5BpuG,EAAE,CAAEpa,OAAQ,SAAU4/E,MAAM,EAAMuhC,QAAS+J,GAAiB,CAG1D7pH,oBAAqBonH,GAGrB9zF,sBAAuBs7F,KAKzB71G,EAAE,CAAEpa,OAAQ,SAAU4/E,MAAM,EAAMuhC,OAAQpD,GAAM,WAAc0I,EAA4BvrG,EAAE,EAAI,KAAM,CACpGyZ,sBAAuB,SAA+BsgB,GACpD,OAAOwxE,EAA4BvrG,EAAE+hG,EAAShoE,GAChD,IAKEg6E,EAAY,CACd,IAAIuB,IAAyBtF,GAAiBnN,GAAM,WAClD,IAAIwI,EAASJ,IAEb,MAA+B,UAAxB8I,EAAW,CAAC1I,KAEe,MAA7B0I,EAAW,CAAE9gH,EAAGo4G,KAEc,MAA9B0I,EAAW7tH,OAAOmlH,GACzB,IAEAnsG,EAAE,CAAEpa,OAAQ,OAAQ4/E,MAAM,EAAMuhC,OAAQqP,IAAyB,CAE/D9iF,UAAW,SAAmBuH,EAAItH,EAAU8iF,GAC1C,IAEIC,EAFA/uH,EAAO,CAACszC,GACR15C,EAAQ,EAEZ,MAAO8nB,UAAUjnB,OAASb,EAAOoG,EAAKlG,KAAK4nB,UAAU9nB,MAErD,GADAm1H,EAAY/iF,GACPxqC,EAASwqC,SAAoBq5B,IAAP/xB,KAAoBp0C,EAASo0C,GAMxD,OALKz0C,EAAQmtC,KAAWA,EAAW,SAAUztC,EAAKjC,GAEhD,GADwB,mBAAbyyH,IAAyBzyH,EAAQyyH,EAAU9rH,KAAK1J,KAAMgF,EAAKjC,KACjE4C,EAAS5C,GAAQ,OAAOA,CAC/B,GACA0D,EAAK,GAAKgsC,EACHshF,EAAWltH,MAAM,KAAMJ,EAChC,GAEJ,CAIKwkH,EAAQmB,GAAWwD,IACtBhL,EAA4BqG,EAAQmB,GAAYwD,EAAc3E,EAAQmB,GAAW+B,SAInFjK,EAAe+G,EAAS6I,GAExB7J,EAAW4J,IAAU,CAGd,EAED;;;gFAAgE,SAItD3Z,EAAyB4G,EAA0B1G,GAEnE,IAAIlpE,EAASkpE,4BAA+C,8CACxDqb,EAAerb,mCAAsD,qDACrE30G,EAAU20G,oCAAuD,sDACjEwK,EAA8BxK,oDAAuE,sEAEzG,IAAK,IAAIsb,KAAmBD,EAAc,CACxC,IAAIE,EAAazkF,EAAOwkF,GACpBE,EAAsBD,GAAcA,EAAWj8F,UAEnD,GAAIk8F,GAAuBA,EAAoBnwH,UAAYA,EAAS,IAClEm/G,EAA4BgR,EAAqB,UAAWnwH,EAC9D,CAAE,MAAO+K,GACPolH,EAAoBnwH,QAAUA,CAChC,CACF,CAGO,EAED;;;gFAAgE,SAItDy0G,EAAyB4G,EAA0B1G,GAEnE,IAAIlpE,EAASkpE,4BAA+C,8CACxDqb,EAAerb,mCAAsD,qDACrEyb,EAAuBzb,qCAAwD,uDAC/EwK,EAA8BxK,oDAAuE,sEACrG2G,EAAkB3G,uCAA0D,yDAE5E6K,EAAWlE,EAAgB,YAC3ByC,EAAgBzC,EAAgB,eAChC+U,EAAcD,EAAqBxwH,OAEvC,IAAK,IAAIqwH,KAAmBD,EAAc,CACxC,IAAIE,EAAazkF,EAAOwkF,GACpBE,EAAsBD,GAAcA,EAAWj8F,UACnD,GAAIk8F,EAAqB,CAEvB,GAAIA,EAAoB3Q,KAAc6Q,EAAa,IACjDlR,EAA4BgR,EAAqB3Q,EAAU6Q,EAC7D,CAAE,MAAOtlH,GACPolH,EAAoB3Q,GAAY6Q,CAClC,CAIA,GAHKF,EAAoBpS,IACvBoB,EAA4BgR,EAAqBpS,EAAekS,GAE9DD,EAAaC,GAAkB,IAAK,IAAI1S,KAAe6S,EAEzD,GAAID,EAAoB5S,KAAiB6S,EAAqB7S,GAAc,IAC1E4B,EAA4BgR,EAAqB5S,EAAa6S,EAAqB7S,GACrF,CAAE,MAAOxyG,GACPolH,EAAoB5S,GAAe6S,EAAqB7S,EAC1D,CAEJ,CACF,CAGO,EAED;;;gEAAgD,SAItCpJ;;;;;;;;CAUf,SAAU1oE,EAAQyoE,GACVC,EAAOC,QAAUF,GAEzB,EAHA,CAGC35G,GAAO,WAAc,aAEvB,SAAS+1H,EAAiB9gF,GACxB,IAAIlwC,SAAckwC,EAClB,OAAa,OAANA,IAAwB,WAATlwC,GAA8B,aAATA,EAC7C,CAEA,SAASiJ,EAAWinC,GAClB,MAAoB,oBAANA,CAChB,CAIA,IAAI+gF,OAAW,EAEbA,EADEx4G,MAAMlY,QACGkY,MAAMlY,QAEN,SAAU2vC,GACnB,MAA6C,mBAAtC/uC,OAAOwzB,UAAU6P,SAAS7/B,KAAKurC,EACxC,EAGF,IAAI3vC,EAAU0wH,EAEVr+F,EAAM,EACNs+F,OAAY,EACZC,OAAoB,EAEpBC,EAAO,SAAcjsH,EAAUyS,GACjChM,EAAMgnB,GAAOztB,EACbyG,EAAMgnB,EAAM,GAAKhb,EACjBgb,GAAO,EACK,IAARA,IAIEu+F,EACFA,EAAkB/9F,GAElBi+F,IAGN,EAEA,SAASC,EAAaC,GACpBJ,EAAoBI,CACtB,CAEA,SAASC,EAAQC,GACfL,EAAOK,CACT,CAEA,IAAIC,EAAkC,qBAAX9tF,OAAyBA,YAASmjC,EACzD4qD,EAAgBD,GAAiB,CAAC,EAClCE,EAA0BD,EAAcE,kBAAoBF,EAAcG,uBAC1EC,EAAyB,qBAATrpH,MAA2C,qBAAZ8hB,SAAyD,qBAA9B,CAAC,EAAEga,SAAS7/B,KAAK6lB,SAG3FwnG,EAAwC,qBAAtBC,mBAA8D,qBAAlBC,eAA2D,qBAAnBC,eAG1G,SAASC,IAGP,OAAO,WACL,OAAO5nG,QAAQne,SAAS+mB,EAC1B,CACF,CAGA,SAASi/F,IACP,MAAyB,qBAAdnB,EACF,WACLA,EAAU99F,EACZ,EAGKk/F,GACT,CAEA,SAASC,IACP,IAAIC,EAAa,EACbC,EAAW,IAAIb,EAAwBx+F,GACvCkM,EAAOV,SAASS,eAAe,IAGnC,OAFAozF,EAASz7D,QAAQ13B,EAAM,CAAEozF,eAAe,IAEjC,WACLpzF,EAAK/sB,KAAOigH,IAAeA,EAAa,CAC1C,CACF,CAGA,SAASG,IACP,IAAIC,EAAU,IAAIT,eAElB,OADAS,EAAQC,MAAMC,UAAY1/F,EACnB,WACL,OAAOw/F,EAAQG,MAAMC,YAAY,EACnC,CACF,CAEA,SAASV,IAGP,IAAIW,EAAmB/vF,WACvB,OAAO,WACL,OAAO+vF,EAAiB7/F,EAAO,EACjC,CACF,CAEA,IAAIxnB,EAAQ,IAAI6M,MAAM,KACtB,SAAS2a,IACP,IAAK,IAAIn3B,EAAI,EAAGA,EAAI22B,EAAK32B,GAAK,EAAG,CAC/B,IAAIkJ,EAAWyG,EAAM3P,GACjB2b,EAAMhM,EAAM3P,EAAI,GAEpBkJ,EAASyS,GAEThM,EAAM3P,QAAK8qE,EACXn7D,EAAM3P,EAAI,QAAK8qE,CACjB,CAEAn0C,EAAM,CACR,CAEA,SAASsgG,IACP,IACE,IAAIC,EAAQvuG,SAAS,cAATA,GAA0BmwF,QAAQ,SAE9C,OADAmc,EAAYiC,EAAMC,WAAaD,EAAME,aAC9BhB,GACT,CAAE,MAAO50F,GACP,OAAO60F,GACT,CACF,CAEA,IAAIjB,OAAgB,EAcpB,SAAS9kH,EAAK+mH,EAAeC,GAC3B,IAAIl4H,EAASJ,KAET4e,EAAQ,IAAI5e,KAAKF,YAAYy4H,QAEPzsD,IAAtBltD,EAAM45G,IACRC,EAAY75G,GAGd,IAAI85G,EAASt4H,EAAOs4H,OAGpB,GAAIA,EAAQ,CACV,IAAIxuH,EAAWie,UAAUuwG,EAAS,GAClCvC,GAAK,WACH,OAAOwC,EAAeD,EAAQ95G,EAAO1U,EAAU9J,EAAOw4H,QACxD,GACF,MACEC,EAAUz4H,EAAQwe,EAAOy5G,EAAeC,GAG1C,OAAO15G,CACT,CAiCA,SAASk6G,EAAUvU,GAEjB,IAAIpwE,EAAcn0C,KAElB,GAAIukH,GAA4B,kBAAXA,GAAuBA,EAAOzkH,cAAgBq0C,EACjE,OAAOowE,EAGT,IAAIjG,EAAU,IAAInqE,EAAYokF,GAE9B,OADArnH,EAAQotG,EAASiG,GACVjG,CACT,CA7EE8X,EADEU,EACcK,IACPR,EACOW,IACPP,EACOW,SACW5rD,IAAlB2qD,EACOwB,IAEAZ,IAuElB,IAAImB,EAAavkG,KAAKylC,SAASnwB,SAAS,IAAImuC,UAAU,GAEtD,SAAS6gD,IAAQ,CAEjB,IAAIQ,OAAU,EACVC,EAAY,EACZC,EAAW,EAEf,SAASC,IACP,OAAO,IAAI1hF,UAAU,2CACvB,CAEA,SAAS2hF,IACP,OAAO,IAAI3hF,UAAU,uDACvB,CAEA,SAAS4hF,EAAQC,EAASt2H,EAAOu2H,EAAoBC,GACnD,IACEF,EAAQ3vH,KAAK3G,EAAOu2H,EAAoBC,EAC1C,CAAE,MAAO/2F,GACP,OAAOA,CACT,CACF,CAEA,SAASg3F,EAAsBlb,EAASmb,EAAUJ,GAChDlD,GAAK,SAAU7X,GACb,IAAIob,GAAS,EACTlpH,EAAQ4oH,EAAQC,EAASI,GAAU,SAAU12H,GAC3C22H,IAGJA,GAAS,EACLD,IAAa12H,EACfmO,EAAQotG,EAASv7G,GAEjB42H,EAAQrb,EAASv7G,GAErB,IAAG,SAAU62H,GACPF,IAGJA,GAAS,EAETj4D,EAAO68C,EAASsb,GAClB,GAAG,YAActb,EAAQub,QAAU,sBAE9BH,GAAUlpH,IACbkpH,GAAS,EACTj4D,EAAO68C,EAAS9tG,GAEpB,GAAG8tG,EACL,CAEA,SAASwb,EAAkBxb,EAASmb,GAC9BA,EAASf,SAAWM,EACtBW,EAAQrb,EAASmb,EAASb,SACjBa,EAASf,SAAWO,EAC7Bx3D,EAAO68C,EAASmb,EAASb,SAEzBC,EAAUY,OAAU3tD,GAAW,SAAU/oE,GACvC,OAAOmO,EAAQotG,EAASv7G,EAC1B,IAAG,SAAU62H,GACX,OAAOn4D,EAAO68C,EAASsb,EACzB,GAEJ,CAEA,SAASG,EAAoBzb,EAAS0b,EAAeX,GAC/CW,EAAcl6H,cAAgBw+G,EAAQx+G,aAAeu5H,IAAY/nH,GAAQ0oH,EAAcl6H,YAAYoR,UAAY4nH,EACjHgB,EAAkBxb,EAAS0b,QAEXluD,IAAZutD,EACFM,EAAQrb,EAAS0b,GACRhsH,EAAWqrH,GACpBG,EAAsBlb,EAAS0b,EAAeX,GAE9CM,EAAQrb,EAAS0b,EAGvB,CAEA,SAAS9oH,EAAQotG,EAASv7G,GACxB,GAAIu7G,IAAYv7G,EACd0+D,EAAO68C,EAAS4a,UACX,GAAInD,EAAiBhzH,GAAQ,CAClC,IAAIs2H,OAAU,EACd,IACEA,EAAUt2H,EAAMuO,IAClB,CAAE,MAAOd,GAEP,YADAixD,EAAO68C,EAAS9tG,EAElB,CACAupH,EAAoBzb,EAASv7G,EAAOs2H,EACtC,MACEM,EAAQrb,EAASv7G,EAErB,CAEA,SAASk3H,EAAiB3b,GACpBA,EAAQ4b,UACV5b,EAAQ4b,SAAS5b,EAAQsa,SAG3BuB,EAAQ7b,EACV,CAEA,SAASqb,EAAQrb,EAASv7G,GACpBu7G,EAAQoa,SAAWK,IAIvBza,EAAQsa,QAAU71H,EAClBu7G,EAAQoa,OAASM,EAEmB,IAAhC1a,EAAQ8b,aAAal5H,QACvBi1H,EAAKgE,EAAS7b,GAElB,CAEA,SAAS78C,EAAO68C,EAASsb,GACnBtb,EAAQoa,SAAWK,IAGvBza,EAAQoa,OAASO,EACjB3a,EAAQsa,QAAUgB,EAElBzD,EAAK8D,EAAkB3b,GACzB,CAEA,SAASua,EAAUz4H,EAAQwe,EAAOy5G,EAAeC,GAC/C,IAAI8B,EAAeh6H,EAAOg6H,aACtBl5H,EAASk5H,EAAal5H,OAG1Bd,EAAO85H,SAAW,KAElBE,EAAal5H,GAAU0d,EACvBw7G,EAAal5H,EAAS83H,GAAaX,EACnC+B,EAAal5H,EAAS+3H,GAAYX,EAEnB,IAAXp3H,GAAgBd,EAAOs4H,QACzBvC,EAAKgE,EAAS/5H,EAElB,CAEA,SAAS+5H,EAAQ7b,GACf,IAAI+b,EAAc/b,EAAQ8b,aACtBE,EAAUhc,EAAQoa,OAEtB,GAA2B,IAAvB2B,EAAYn5H,OAAhB,CAQA,IAJA,IAAI0d,OAAQ,EACR1U,OAAW,EACXqwH,EAASjc,EAAQsa,QAEZ53H,EAAI,EAAGA,EAAIq5H,EAAYn5H,OAAQF,GAAK,EAC3C4d,EAAQy7G,EAAYr5H,GACpBkJ,EAAWmwH,EAAYr5H,EAAIs5H,GAEvB17G,EACF+5G,EAAe2B,EAAS17G,EAAO1U,EAAUqwH,GAEzCrwH,EAASqwH,GAIbjc,EAAQ8b,aAAal5H,OAAS,CAjB9B,CAkBF,CAEA,SAASy3H,EAAe2B,EAAShc,EAASp0G,EAAUqwH,GAClD,IAAIC,EAAcxsH,EAAW9D,GACzBnH,OAAQ,EACRyN,OAAQ,EACRiqH,GAAY,EAEhB,GAAID,EAAa,CACf,IACEz3H,EAAQmH,EAASqwH,EACnB,CAAE,MAAO/3F,GACPi4F,GAAY,EACZjqH,EAAQgyB,CACV,CAEA,GAAI87E,IAAYv7G,EAEd,YADA0+D,EAAO68C,EAAS6a,IAGpB,MACEp2H,EAAQw3H,EAGNjc,EAAQoa,SAAWK,IAEZyB,GAAeC,EACxBvpH,EAAQotG,EAASv7G,IACM,IAAd03H,EACTh5D,EAAO68C,EAAS9tG,GACP8pH,IAAYtB,EACrBW,EAAQrb,EAASv7G,GACRu3H,IAAYrB,GACrBx3D,EAAO68C,EAASv7G,GAEpB,CAEA,SAAS23H,EAAkBpc,EAASxhB,GAClC,IACEA,GAAS,SAAwB/5F,GAC/BmO,EAAQotG,EAASv7G,EACnB,IAAG,SAAuB62H,GACxBn4D,EAAO68C,EAASsb,EAClB,GACF,CAAE,MAAOp3F,GACPi/B,EAAO68C,EAAS97E,EAClB,CACF,CAEA,IAAI/wB,EAAK,EACT,SAASkpH,IACP,OAAOlpH,GACT,CAEA,SAASgnH,EAAYna,GACnBA,EAAQka,GAAc/mH,IACtB6sG,EAAQoa,YAAS5sD,EACjBwyC,EAAQsa,aAAU9sD,EAClBwyC,EAAQ8b,aAAe,EACzB,CAEA,SAASQ,IACP,OAAO,IAAIzjF,MAAM,0CACnB,CAEA,IAAI0jF,EAAa,WACf,SAASA,EAAW1mF,EAAa+kD,GAC/Bl5F,KAAK86H,qBAAuB3mF,EAC5Bn0C,KAAKs+G,QAAU,IAAInqE,EAAYokF,GAE1Bv4H,KAAKs+G,QAAQka,IAChBC,EAAYz4H,KAAKs+G,SAGfh5G,EAAQ4zF,IACVl5F,KAAKkB,OAASg4F,EAAMh4F,OACpBlB,KAAK+6H,WAAa7hC,EAAMh4F,OAExBlB,KAAK44H,QAAU,IAAIp7G,MAAMxd,KAAKkB,QAEV,IAAhBlB,KAAKkB,OACPy4H,EAAQ35H,KAAKs+G,QAASt+G,KAAK44H,UAE3B54H,KAAKkB,OAASlB,KAAKkB,QAAU,EAC7BlB,KAAKg7H,WAAW9hC,GACQ,IAApBl5F,KAAK+6H,YACPpB,EAAQ35H,KAAKs+G,QAASt+G,KAAK44H,WAI/Bn3D,EAAOzhE,KAAKs+G,QAASsc,IAEzB,CA4EA,OA1EAC,EAAWnhG,UAAUshG,WAAa,SAAoB9hC,GACpD,IAAK,IAAIl4F,EAAI,EAAGhB,KAAK04H,SAAWK,GAAW/3H,EAAIk4F,EAAMh4F,OAAQF,IAC3DhB,KAAKi7H,WAAW/hC,EAAMl4F,GAAIA,EAE9B,EAEA65H,EAAWnhG,UAAUuhG,WAAa,SAAoBhlE,EAAOj1D,GAC3D,IAAIsiB,EAAItjB,KAAK86H,qBACTI,EAAa53G,EAAEpS,QAGnB,GAAIgqH,IAAepC,EAAW,CAC5B,IAAIqC,OAAQ,EACR3qH,OAAQ,EACR4qH,GAAW,EACf,IACED,EAAQllE,EAAM3kD,IAChB,CAAE,MAAOkxB,GACP44F,GAAW,EACX5qH,EAAQgyB,CACV,CAEA,GAAI24F,IAAU7pH,GAAQ2kD,EAAMyiE,SAAWK,EACrC/4H,KAAKq7H,WAAWplE,EAAMyiE,OAAQ13H,EAAGi1D,EAAM2iE,cAClC,GAAqB,oBAAVuC,EAChBn7H,KAAK+6H,aACL/6H,KAAK44H,QAAQ53H,GAAKi1D,OACb,GAAI3yC,IAAMg4G,GAAW,CAC1B,IAAIhd,EAAU,IAAIh7F,EAAEi1G,GAChB6C,EACF35D,EAAO68C,EAAS9tG,GAEhBupH,EAAoBzb,EAASroD,EAAOklE,GAEtCn7H,KAAKu7H,cAAcjd,EAASt9G,EAC9B,MACEhB,KAAKu7H,cAAc,IAAIj4G,GAAE,SAAU43G,GACjC,OAAOA,EAAWjlE,EACpB,IAAIj1D,EAER,MACEhB,KAAKu7H,cAAcL,EAAWjlE,GAAQj1D,EAE1C,EAEA65H,EAAWnhG,UAAU2hG,WAAa,SAAoB96G,EAAOvf,EAAG+B,GAC9D,IAAIu7G,EAAUt+G,KAAKs+G,QAGfA,EAAQoa,SAAWK,IACrB/4H,KAAK+6H,aAEDx6G,IAAU04G,EACZx3D,EAAO68C,EAASv7G,GAEhB/C,KAAK44H,QAAQ53H,GAAK+B,GAIE,IAApB/C,KAAK+6H,YACPpB,EAAQrb,EAASt+G,KAAK44H,QAE1B,EAEAiC,EAAWnhG,UAAU6hG,cAAgB,SAAuBjd,EAASt9G,GACnE,IAAIw6H,EAAax7H,KAEjB64H,EAAUva,OAASxyC,GAAW,SAAU/oE,GACtC,OAAOy4H,EAAWH,WAAWrC,EAAWh4H,EAAG+B,EAC7C,IAAG,SAAU62H,GACX,OAAO4B,EAAWH,WAAWpC,EAAUj4H,EAAG44H,EAC5C,GACF,EAEOiB,CACT,CAxGiB,GAyJjB,SAASt3B,EAAI5wD,GACX,OAAO,IAAIkoF,EAAW76H,KAAM2yC,GAAS2rE,OACvC,CAmEA,SAASmd,EAAK9oF,GAEZ,IAAIwB,EAAcn0C,KAElB,OAAKsF,EAAQqtC,GAKJ,IAAIwB,GAAY,SAAUjjC,EAASuwD,GAExC,IADA,IAAIvgE,EAASyxC,EAAQzxC,OACZF,EAAI,EAAGA,EAAIE,EAAQF,IAC1BmzC,EAAYjjC,QAAQyhC,EAAQ3xC,IAAIsQ,KAAKJ,EAASuwD,EAElD,IATO,IAAIttB,GAAY,SAAU31B,EAAGijD,GAClC,OAAOA,EAAO,IAAIjqB,UAAU,mCAC9B,GASJ,CAoCA,SAASkkF,EAAS9B,GAEhB,IAAIzlF,EAAcn0C,KACds+G,EAAU,IAAInqE,EAAYokF,GAE9B,OADA92D,EAAO68C,EAASsb,GACTtb,CACT,CAEA,SAASqd,KACP,MAAM,IAAInkF,UAAU,qFACtB,CAEA,SAASokF,KACP,MAAM,IAAIpkF,UAAU,wHACtB,CA0GA,IAAI8jF,GAAY,WACd,SAASrqH,EAAQ6rF,GACf98F,KAAKw4H,GAAcmC,IACnB36H,KAAK44H,QAAU54H,KAAK04H,YAAS5sD,EAC7B9rE,KAAKo6H,aAAe,GAEhB7B,IAASz7B,IACS,oBAAbA,GAA2B6+B,KAClC37H,gBAAgBiR,EAAUypH,EAAkB16H,KAAM88F,GAAY8+B,KAElE,CA2PA,OA/DA3qH,EAAQyoB,UAAUjqB,MAAQ,SAAgB6oH,GACxC,OAAOt4H,KAAKsR,KAAK,KAAMgnH,EACzB,EA0CArnH,EAAQyoB,UAAUmiG,QAAU,SAAkB3xH,GAC5C,IAAIo0G,EAAUt+G,KACVF,EAAcw+G,EAAQx+G,YAE1B,OAAIkO,EAAW9D,GACNo0G,EAAQhtG,MAAK,SAAUvO,GAC5B,OAAOjD,EAAYoR,QAAQhH,KAAYoH,MAAK,WAC1C,OAAOvO,CACT,GACF,IAAG,SAAU62H,GACX,OAAO95H,EAAYoR,QAAQhH,KAAYoH,MAAK,WAC1C,MAAMsoH,CACR,GACF,IAGKtb,EAAQhtG,KAAKpH,EAAUA,EAChC,EAEO+G,CACT,CAtQgB,GAkRhB,SAAS6qH,KACP,IAAIC,OAAQ,EAEZ,GAAsB,qBAAX7qF,EAAAA,EACT6qF,EAAQ7qF,EAAAA,OACH,GAAoB,qBAATzjC,KAChBsuH,EAAQtuH,UAER,IACEsuH,EAAQpyG,SAAS,cAATA,EACV,CAAE,MAAO6Y,GACP,MAAM,IAAI2U,MAAM,2EAClB,CAGF,IAAIvB,EAAImmF,EAAM9qH,QAEd,GAAI2kC,EAAG,CACL,IAAIomF,EAAkB,KACtB,IACEA,EAAkB91H,OAAOwzB,UAAU6P,SAAS7/B,KAAKksC,EAAE1kC,UACrD,CAAE,MAAOsxB,GACP,CAGF,GAAwB,qBAApBw5F,IAA2CpmF,EAAEqmF,KAC/C,MAEJ,CAEAF,EAAM9qH,QAAUqqH,EAClB,CAMA,OA/CAA,GAAU5hG,UAAUpoB,KAAOA,EAC3BgqH,GAAU/3B,IAAMA,EAChB+3B,GAAUG,KAAOA,EACjBH,GAAUpqH,QAAU4nH,EACpBwC,GAAU75D,OAASi6D,EACnBJ,GAAUY,cAAgB7F,EAC1BiF,GAAUa,SAAW5F,EACrB+E,GAAUc,MAAQjG,EAqClBmF,GAAUQ,SAAWA,GACrBR,GAAUrqH,QAAUqqH,GAEbA,EAEP,GAOO,EAED;;;wCAAa,SAIH1hB,GAEhB,aACAA,EAAOC,QAAUG,CAEV,EAED;;;kCAAO,SAIGJ,GAEhB,aACAA,EAAOC,QAAUE,CAEV,GAKOsiB,EAA2B,CAAC,EAGhC,SAASjiB,EAAoBkiB,GAE5B,IAAIC,EAAeF,EAAyBC,GAC5C,QAAqBxwD,IAAjBywD,EACH,OAAOA,EAAa1iB,QAGrB,IAAID,EAASyiB,EAAyBC,GAAY,CAGjDziB,QAAS,CAAC,GAOX,OAHAI,EAAoBqiB,GAAU5yH,KAAKkwG,EAAOC,QAASD,EAAQA,EAAOC,QAASO,GAGpER,EAAOC,OACf,EAIC,WAEAO,EAAoBj6F,EAAI,SAASy5F,GAChC,IAAI1sG,EAAS0sG,GAAUA,EAAO4iB,WAC7B,WAAa,OAAO5iB,EAAO,UAAY,EACvC,WAAa,OAAOA,CAAQ,EAE7B,OADAQ,EAAoB3wE,EAAEv8B,EAAQ,CAAE+F,EAAG/F,IAC5BA,CACR,CACD,CATC,GAYA,WAEAktG,EAAoB3wE,EAAI,SAASowE,EAAS4iB,GACzC,IAAI,IAAIz3H,KAAOy3H,EACXriB,EAAoBhjF,EAAEqlG,EAAYz3H,KAASo1G,EAAoBhjF,EAAEyiF,EAAS70G,IAC5EkB,OAAO+a,eAAe44F,EAAS70G,EAAK,CAAEue,YAAY,EAAMpgB,IAAKs5H,EAAWz3H,IAG3E,CACD,CATC,GAYA,WACAo1G,EAAoBhjF,EAAI,SAASpwB,EAAKkjB,GAAQ,OAAOhkB,OAAOwzB,UAAU5yB,eAAe4C,KAAK1C,EAAKkjB,EAAO,CACvG,CAFC,GAKA,WAEAkwF,EAAoB7rG,EAAI,SAASsrG,GACX,qBAAXl1G,QAA0BA,OAAO+3H,aAC1Cx2H,OAAO+a,eAAe44F,EAASl1G,OAAO+3H,YAAa,CAAE35H,MAAO,WAE7DmD,OAAO+a,eAAe44F,EAAS,aAAc,CAAE92G,OAAO,GACvD,CACD,CARC,GAWX,IAAIo3G,EAAsB,CAAC,EA2CjB,OAzCT,WACD;;;gCAIAC,EAAoB7rG,EAAE4rG,GACD,IAAIwiB,EAA0CviB,oBAAuC,mBAiBtGwiB,GAhB4ExiB,iCAAoD,gCACtDA,+BAAkD,8BAClDA,+BAAkD,8BAcjH,SAASwiB,EAASzoC,EAAK9wE,GAEpC,IAAIw5G,EAAS,IAAID,EAASze,OAAO96F,GAEjC,OAAI8wE,EAEK0oC,EAAOp/G,KAAK02E,GAAKkd,OAGjBwrB,CAEX,GAEAD,EAASze,OAASwe,EAAwCv4G,QAE7B+1F,EAAoB,WAAcyiB,CAC/D,CAvCC,GAwCDziB,EAAsBA,EAAoB/1F,QACzB+1F,CACR,CA9tLQ,EAguLjB,G;;;;;;;;;;;ACruLA,SAAYjpE,EAAQyoE,GAEnB,aAE6D,kBAAnBC,EAAOC,QAShDD,EAAOC,QAAU3oE,EAAOvN,SACvBg2E,EAASzoE,GAAQ,GACjB,SAAUsD,GACT,IAAMA,EAAE7Q,SACP,MAAM,IAAIwT,MAAO,4CAElB,OAAOwiE,EAASnlE,EACjB,EAEDmlE,EAASzoE,EAIV,CA1BD,CA0BuB,qBAAXvI,OAAyBA,OAAS3oC,MAAM,SAAU2oC,EAAQm0F,GAMtE,aAEA,IAAIp2H,EAAM,GAENyC,EAAWjD,OAAOyB,eAElBoM,EAAQrN,EAAIqN,MAEZgpH,EAAOr2H,EAAIq2H,KAAO,SAAU9Z,GAC/B,OAAOv8G,EAAIq2H,KAAKrzH,KAAMu5G,EACvB,EAAI,SAAUA,GACb,OAAOv8G,EAAI8R,OAAO3R,MAAO,GAAIo8G,EAC9B,EAGI1iH,EAAOmG,EAAInG,KAEXiS,EAAU9L,EAAI8L,QAEdwqH,EAAa,CAAC,EAEdzzF,EAAWyzF,EAAWzzF,SAEtB1hC,EAASm1H,EAAWl2H,eAEpBm2H,EAAap1H,EAAO0hC,SAEpB2zF,EAAuBD,EAAWvzH,KAAMxD,QAExCi3H,EAAU,CAAC,EAEXnvH,EAAa,SAAqBhH,GASpC,MAAsB,oBAARA,GAA8C,kBAAjBA,EAAIsoC,UAC1B,oBAAbtoC,EAAI0W,IACb,EAGG0/G,EAAW,SAAmBp2H,GAChC,OAAc,MAAPA,GAAeA,IAAQA,EAAI2hC,MACnC,EAGGhF,EAAWgF,EAAOhF,SAIjB05F,EAA4B,CAC/Bt4H,MAAM,EACNovF,KAAK,EACLmpC,OAAO,EACPC,UAAU,GAGX,SAASC,EAASrpE,EAAM9vB,EAAMX,GAC7BA,EAAMA,GAAOC,EAEb,IAAI3iC,EAAGijB,EACNw5G,EAAS/5F,EAAItW,cAAe,UAG7B,GADAqwG,EAAOh9F,KAAO0zB,EACT9vB,EACJ,IAAMrjC,KAAKq8H,EAYVp5G,EAAMogB,EAAMrjC,IAAOqjC,EAAK4H,cAAgB5H,EAAK4H,aAAcjrC,GACtDijB,GACJw5G,EAAOt5F,aAAcnjC,EAAGijB,GAI3Byf,EAAIg6F,KAAKx4F,YAAau4F,GAAS3vG,WAAWiW,YAAa05F,EACxD,CAGD,SAASE,EAAQ32H,GAChB,OAAY,MAAPA,EACGA,EAAM,GAIQ,kBAARA,GAAmC,oBAARA,EACxCg2H,EAAYzzF,EAAS7/B,KAAM1C,KAAW,gBAC/BA,CACT,CAOA,IAAIigB,EAAU,QAEb22G,EAAc,SAGd5pF,EAAS,SAAUvP,EAAUle,GAI5B,OAAO,IAAIytB,EAAOtzC,GAAGm9H,KAAMp5F,EAAUle,EACtC,EAkYD,SAASu3G,EAAa92H,GAMrB,IAAI9F,IAAW8F,GAAO,WAAYA,GAAOA,EAAI9F,OAC5C6D,EAAO44H,EAAQ32H,GAEhB,OAAKgH,EAAYhH,KAASo2H,EAAUp2H,KAIpB,UAATjC,GAA+B,IAAX7D,GACR,kBAAXA,GAAuBA,EAAS,GAAOA,EAAS,KAAO8F,EAChE,CAGA,SAAS66C,EAAUk8E,EAAM9jH,GAExB,OAAO8jH,EAAKl8E,UAAYk8E,EAAKl8E,SAAS9rC,gBAAkBkE,EAAKlE,aAE9D,CAtZAi+B,EAAOtzC,GAAKszC,EAAOta,UAAY,CAG9ByZ,OAAQlsB,EAERnnB,YAAak0C,EAGb9yC,OAAQ,EAER88H,QAAS,WACR,OAAOjqH,EAAMrK,KAAM1J,KACpB,EAIAmD,IAAK,SAAU86H,GAGd,OAAY,MAAPA,EACGlqH,EAAMrK,KAAM1J,MAIbi+H,EAAM,EAAIj+H,KAAMi+H,EAAMj+H,KAAKkB,QAAWlB,KAAMi+H,EACpD,EAIAC,UAAW,SAAUC,GAGpB,IAAI5gH,EAAMy2B,EAAOoqF,MAAOp+H,KAAKF,cAAeq+H,GAM5C,OAHA5gH,EAAI8gH,WAAar+H,KAGVud,CACR,EAGA87B,KAAM,SAAUnvC,GACf,OAAO8pC,EAAOqF,KAAMr5C,KAAMkK,EAC3B,EAEA7D,IAAK,SAAU6D,GACd,OAAOlK,KAAKk+H,UAAWlqF,EAAO3tC,IAAKrG,MAAM,SAAU+9H,EAAM/8H,GACxD,OAAOkJ,EAASR,KAAMq0H,EAAM/8H,EAAG+8H,EAChC,IACD,EAEAhqH,MAAO,WACN,OAAO/T,KAAKk+H,UAAWnqH,EAAMlN,MAAO7G,KAAMmoB,WAC3C,EAEA26D,MAAO,WACN,OAAO9iF,KAAKs+H,GAAI,EACjB,EAEAn9H,KAAM,WACL,OAAOnB,KAAKs+H,IAAK,EAClB,EAEAC,KAAM,WACL,OAAOv+H,KAAKk+H,UAAWlqF,EAAOwqF,KAAMx+H,MAAM,SAAUy+H,EAAOz9H,GAC1D,OAASA,EAAI,GAAM,CACpB,IACD,EAEA09H,IAAK,WACJ,OAAO1+H,KAAKk+H,UAAWlqF,EAAOwqF,KAAMx+H,MAAM,SAAUy+H,EAAOz9H,GAC1D,OAAOA,EAAI,CACZ,IACD,EAEAs9H,GAAI,SAAUt9H,GACb,IAAI22B,EAAM33B,KAAKkB,OACd0zB,GAAK5zB,GAAMA,EAAI,EAAI22B,EAAM,GAC1B,OAAO33B,KAAKk+H,UAAWtpG,GAAK,GAAKA,EAAI+C,EAAM,CAAE33B,KAAM40B,IAAQ,GAC5D,EAEAjjB,IAAK,WACJ,OAAO3R,KAAKq+H,YAAcr+H,KAAKF,aAChC,EAIAS,KAAMA,EACNyS,KAAMtM,EAAIsM,KACVZ,OAAQ1L,EAAI0L,QAGb4hC,EAAOx+B,OAASw+B,EAAOtzC,GAAG8U,OAAS,WAClC,IAAII,EAASqE,EAAMk6E,EAAKwqC,EAAMC,EAAa9gG,EAC1Ch5B,EAASqjB,UAAW,IAAO,CAAC,EAC5BnnB,EAAI,EACJE,EAASinB,UAAUjnB,OACnB6b,GAAO,EAsBR,IAnBuB,mBAAXjY,IACXiY,EAAOjY,EAGPA,EAASqjB,UAAWnnB,IAAO,CAAC,EAC5BA,KAIsB,kBAAX8D,GAAwBkJ,EAAYlJ,KAC/CA,EAAS,CAAC,GAIN9D,IAAME,IACV4D,EAAS9E,KACTgB,KAGOA,EAAIE,EAAQF,IAGnB,GAAqC,OAA9B4U,EAAUuS,UAAWnnB,IAG3B,IAAMiZ,KAAQrE,EACb+oH,EAAO/oH,EAASqE,GAIF,cAATA,GAAwBnV,IAAW65H,IAKnC5hH,GAAQ4hH,IAAU3qF,EAAOxa,cAAemlG,KAC1CC,EAAcphH,MAAMlY,QAASq5H,MAC/BxqC,EAAMrvF,EAAQmV,GAIb6jB,EADI8gG,IAAgBphH,MAAMlY,QAAS6uF,GAC3B,GACIyqC,GAAgB5qF,EAAOxa,cAAe26D,GAG1CA,EAFA,CAAC,EAIVyqC,GAAc,EAGd95H,EAAQmV,GAAS+5B,EAAOx+B,OAAQuH,EAAM+gB,EAAO6gG,SAGzB7yD,IAAT6yD,IACX75H,EAAQmV,GAAS0kH,IAOrB,OAAO75H,CACR,EAEAkvC,EAAOx+B,OAAQ,CAGdqpH,QAAS,UAAa53G,EAAUgN,KAAKylC,UAAW5jD,QAAS,MAAO,IAGhEgpH,SAAS,EAETtuH,MAAO,SAAUkwG,GAChB,MAAM,IAAIvpE,MAAOupE,EAClB,EAEA6X,KAAM,WAAY,EAElB/+F,cAAe,SAAUxyB,GACxB,IAAI4C,EAAOm1H,EAIX,SAAM/3H,GAAgC,oBAAzBuiC,EAAS7/B,KAAM1C,MAI5B4C,EAAQT,EAAUnC,IAGZ4C,IAKNm1H,EAAOl3H,EAAO6B,KAAME,EAAO,gBAAmBA,EAAM9J,YAC7B,oBAATi/H,GAAuB9B,EAAWvzH,KAAMq1H,KAAW7B,GAClE,EAEA8B,cAAe,SAAUh4H,GACxB,IAAIiT,EAEJ,IAAMA,KAAQjT,EACb,OAAO,EAER,OAAO,CACR,EAIAi4H,WAAY,SAAU9qE,EAAMv+C,EAAS8tB,GACpC85F,EAASrpE,EAAM,CAAEmpE,MAAO1nH,GAAWA,EAAQ0nH,OAAS55F,EACrD,EAEA2V,KAAM,SAAUryC,EAAKkD,GACpB,IAAIhJ,EAAQF,EAAI,EAEhB,GAAK88H,EAAa92H,IAEjB,IADA9F,EAAS8F,EAAI9F,OACLF,EAAIE,EAAQF,IACnB,IAAgD,IAA3CkJ,EAASR,KAAM1C,EAAKhG,GAAKA,EAAGgG,EAAKhG,IACrC,WAIF,IAAMA,KAAKgG,EACV,IAAgD,IAA3CkD,EAASR,KAAM1C,EAAKhG,GAAKA,EAAGgG,EAAKhG,IACrC,MAKH,OAAOgG,CACR,EAIAy5B,KAAM,SAAUs9F,GACf,IAAI15F,EACH9mB,EAAM,GACNvc,EAAI,EACJsuC,EAAWyuF,EAAKzuF,SAEjB,IAAMA,EAGL,MAAUjL,EAAO05F,EAAM/8H,KAGtBuc,GAAOy2B,EAAOvT,KAAM4D,GAGtB,OAAkB,IAAbiL,GAA+B,KAAbA,EACfyuF,EAAKx5F,YAEK,IAAb+K,EACGyuF,EAAKnqF,gBAAgBrP,YAEX,IAAb+K,GAA+B,IAAbA,EACfyuF,EAAKz5F,UAKN/mB,CACR,EAGA2hH,UAAW,SAAUx4H,EAAK2lF,GACzB,IAAI9uE,EAAM8uE,GAAW,GAarB,OAXY,MAAP3lF,IACCo3H,EAAa53H,OAAQQ,IACzBstC,EAAOoqF,MAAO7gH,EACE,kBAAR7W,EACN,CAAEA,GAAQA,GAGZnG,EAAKmJ,KAAM6T,EAAK7W,IAIX6W,CACR,EAEA4hH,QAAS,SAAUpB,EAAMr3H,EAAK1F,GAC7B,OAAc,MAAP0F,GAAe,EAAI8L,EAAQ9I,KAAMhD,EAAKq3H,EAAM/8H,EACpD,EAEAo+H,SAAU,SAAUrB,GACnB,IAAIr2G,EAAYq2G,GAAQA,EAAKsB,aAC5BC,EAAUvB,IAAUA,EAAKh8E,eAAiBg8E,GAAOnqF,gBAIlD,OAAQgqF,EAAY3jG,KAAMvS,GAAa43G,GAAWA,EAAQz9E,UAAY,OACvE,EAIAu8E,MAAO,SAAUt7C,EAAOssB,GAKvB,IAJA,IAAIz3E,GAAOy3E,EAAOluG,OACjB0zB,EAAI,EACJ5zB,EAAI8hF,EAAM5hF,OAEH0zB,EAAI+C,EAAK/C,IAChBkuD,EAAO9hF,KAAQouG,EAAQx6E,GAKxB,OAFAkuD,EAAM5hF,OAASF,EAER8hF,CACR,EAEA07C,KAAM,SAAUL,EAAOj0H,EAAUq1H,GAShC,IARA,IAAIC,EACH1lG,EAAU,GACV94B,EAAI,EACJE,EAASi9H,EAAMj9H,OACfu+H,GAAkBF,EAIXv+H,EAAIE,EAAQF,IACnBw+H,GAAmBt1H,EAAUi0H,EAAOn9H,GAAKA,GACpCw+H,IAAoBC,GACxB3lG,EAAQv5B,KAAM49H,EAAOn9H,IAIvB,OAAO84B,CACR,EAGAzzB,IAAK,SAAU83H,EAAOj0H,EAAUyS,GAC/B,IAAIzb,EAAQ6B,EACX/B,EAAI,EACJuc,EAAM,GAGP,GAAKugH,EAAaK,GAEjB,IADAj9H,EAASi9H,EAAMj9H,OACPF,EAAIE,EAAQF,IACnB+B,EAAQmH,EAAUi0H,EAAOn9H,GAAKA,EAAG2b,GAEnB,MAAT5Z,GACJwa,EAAIhd,KAAMwC,QAMZ,IAAM/B,KAAKm9H,EACVp7H,EAAQmH,EAAUi0H,EAAOn9H,GAAKA,EAAG2b,GAEnB,MAAT5Z,GACJwa,EAAIhd,KAAMwC,GAMb,OAAOg6H,EAAMx/G,EACd,EAGAmiH,KAAM,EAINvC,QAASA,IAGa,oBAAXx4H,SACXqvC,EAAOtzC,GAAIiE,OAAO8F,UAAa/D,EAAK/B,OAAO8F,WAI5CupC,EAAOqF,KAAM,uEAAuEhgB,MAAO,MAC1F,SAAU+xB,EAAInxC,GACb+iH,EAAY,WAAa/iH,EAAO,KAAQA,EAAKlE,aAC9C,IAyBD,IAAI3U,EAAMsF,EAAItF,IAGV4R,EAAOtM,EAAIsM,KAGXZ,EAAS1L,EAAI0L,OAGbo9G,EAAa,sBAGbmQ,EAAW,IAAI9lG,OAClB,IAAM21F,EAAa,8BAAgCA,EAAa,KAChE,KAODx7E,EAAOP,SAAW,SAAUxgC,EAAGC,GAC9B,IAAI0sH,EAAM1sH,GAAKA,EAAE4a,WAEjB,OAAO7a,IAAM2sH,MAAWA,GAAwB,IAAjBA,EAAItwF,YAIlCr8B,EAAEwgC,SACDxgC,EAAEwgC,SAAUmsF,GACZ3sH,EAAE4sH,yBAA8D,GAAnC5sH,EAAE4sH,wBAAyBD,IAE3D,EAOA,IAAIE,EAAa,+CAEjB,SAASC,EAAYC,EAAIC,GACxB,OAAKA,EAGQ,OAAPD,EACG,IAIDA,EAAGjsH,MAAO,GAAI,GAAM,KAAOisH,EAAGtyF,WAAYsyF,EAAG9+H,OAAS,GAAIqoC,SAAU,IAAO,IAI5E,KAAOy2F,CACf,CAEAhsF,EAAOksF,eAAiB,SAAUC,GACjC,OAASA,EAAM,IAAKrqH,QAASgqH,EAAYC,EAC1C,EAKA,IAAIK,EAAez8F,EAClB08F,EAAa9/H,GAEd,WAEA,IAAIS,EACHs/H,EACAC,EACAC,EACAC,EAIA98F,EACAiQ,EACA8sF,EACAC,EACA7mG,EAPAv5B,EAAO8/H,EAUPxB,EAAU7qF,EAAO6qF,QACjB+B,EAAU,EACV/1H,EAAO,EACPg2H,EAAaC,KACbC,EAAaD,KACbE,EAAgBF,KAChBG,EAAyBH,KACzBI,EAAY,SAAUjuH,EAAGC,GAIxB,OAHKD,IAAMC,IACVutH,GAAe,GAET,CACR,EAEAU,EAAW,6HAMXC,EAAa,0BAA4B5R,EACxC,0CAGDhtE,EAAa,MAAQgtE,EAAa,KAAO4R,EAAa,OAAS5R,EAG9D,gBAAkBA,EAGlB,2DAA6D4R,EAAa,OAC1E5R,EAAa,OAEd6R,EAAU,KAAOD,EAAP,wFAOoB5+E,EAPpB,eAcV8+E,EAAc,IAAIznG,OAAQ21F,EAAa,IAAK,KAE5C+R,EAAS,IAAI1nG,OAAQ,IAAM21F,EAAa,KAAOA,EAAa,KAC5DgS,EAAqB,IAAI3nG,OAAQ,IAAM21F,EAAa,WAAaA,EAAa,IAC7EA,EAAa,KACdiS,EAAW,IAAI5nG,OAAQ21F,EAAa,MAEpCkS,EAAU,IAAI7nG,OAAQwnG,GACtBM,EAAc,IAAI9nG,OAAQ,IAAMunG,EAAa,KAE7CQ,EAAY,CACXv4D,GAAI,IAAIxvC,OAAQ,MAAQunG,EAAa,KACrCS,MAAO,IAAIhoG,OAAQ,QAAUunG,EAAa,KAC1CpS,IAAK,IAAIn1F,OAAQ,KAAOunG,EAAa,SACrCU,KAAM,IAAIjoG,OAAQ,IAAM2oB,GACxBu/E,OAAQ,IAAIloG,OAAQ,IAAMwnG,GAC1BW,MAAO,IAAInoG,OACV,yDACC21F,EAAa,+BAAiCA,EAAa,cAC3DA,EAAa,aAAeA,EAAa,SAAU,KACrDyS,KAAM,IAAIpoG,OAAQ,OAASsnG,EAAW,KAAM,KAI5Ce,aAAc,IAAIroG,OAAQ,IAAM21F,EAC/B,mDAAqDA,EACrD,mBAAqBA,EAAa,mBAAoB,MAGxD2S,EAAU,sCACVC,EAAU,SAGVC,EAAa,mCAEbC,EAAW,OAIXC,EAAY,IAAI1oG,OAAQ,uBAAyB21F,EAChD,uBAAwB,KACzBgT,EAAY,SAAUxvF,EAAQyvF,GAC7B,IAAIC,EAAO,KAAO1vF,EAAOj/B,MAAO,GAAM,MAEtC,OAAK0uH,IAUEC,EAAO,EACb37H,OAAO08D,aAAci/D,EAAO,OAC5B37H,OAAO08D,aAAci/D,GAAQ,GAAK,MAAe,KAAPA,EAAe,OAC3D,EAMAC,EAAgB,WACfC,IACD,EAEAC,EAAqBC,IACpB,SAAU/E,GACT,OAAyB,IAAlBA,EAAKrqF,UAAqBmO,EAAUk8E,EAAM,WAClD,GACA,CAAErhH,IAAK,aAAc9R,KAAM,WAM7B,SAASm4H,IACR,IACC,OAAOp/F,EAASq/F,aACjB,CAAE,MAAQ3zH,GAAQ,CACnB,CAGA,IACC9O,EAAKsG,MACFH,EAAMqN,EAAMrK,KAAM02H,EAAa38B,YACjC28B,EAAa38B,YAMd/8F,EAAK05H,EAAa38B,WAAWviG,QAASouC,QACvC,CAAE,MAAQ9M,IACTjiC,EAAO,CACNsG,MAAO,SAAU/B,EAAQ63G,GACxB0jB,EAAWx5H,MAAO/B,EAAQiP,EAAMrK,KAAMizG,GACvC,EACAjzG,KAAM,SAAU5E,GACfu7H,EAAWx5H,MAAO/B,EAAQiP,EAAMrK,KAAMye,UAAW,GAClD,EAEF,CAEA,SAAS+sB,GAAMzQ,EAAUle,EAAS8lE,EAAS42C,GAC1C,IAAIp+G,EAAG7jB,EAAG+8H,EAAMmF,EAAKr2F,EAAOs2F,EAAQC,EACnCC,EAAa98G,GAAWA,EAAQw7B,cAGhCzS,EAAW/oB,EAAUA,EAAQ+oB,SAAW,EAKzC,GAHA+8C,EAAUA,GAAW,GAGI,kBAAb5nD,IAA0BA,GACxB,IAAb6K,GAA+B,IAAbA,GAA+B,KAAbA,EAEpC,OAAO+8C,EAIR,IAAM42C,IACLL,GAAar8G,GACbA,EAAUA,GAAWod,EAEhB+8F,GAAiB,CAIrB,GAAkB,KAAbpxF,IAAqBzC,EAAQw1F,EAAWpZ,KAAMxkF,IAGlD,GAAO5f,EAAIgoB,EAAO,IAGjB,GAAkB,IAAbyC,EAAiB,CACrB,KAAOyuF,EAAOx3G,EAAQozC,eAAgB90C,IASrC,OAAOwnE,EALP,GAAK0xC,EAAKtsH,KAAOoT,EAEhB,OADAtkB,EAAKmJ,KAAM2iF,EAAS0xC,GACb1xC,CAOV,MAIC,GAAKg3C,IAAgBtF,EAAOsF,EAAW1pE,eAAgB90C,KACtDqwB,GAAKzB,SAAUltB,EAASw3G,IACxBA,EAAKtsH,KAAOoT,EAGZ,OADAtkB,EAAKmJ,KAAM2iF,EAAS0xC,GACb1xC,MAKH,IAAKx/C,EAAO,GAElB,OADAtsC,EAAKsG,MAAOwlF,EAAS9lE,EAAQo3F,qBAAsBl5E,IAC5C4nD,EAGD,IAAOxnE,EAAIgoB,EAAO,KAAStmB,EAAQ+8G,uBAEzC,OADA/iI,EAAKsG,MAAOwlF,EAAS9lE,EAAQ+8G,uBAAwBz+G,IAC9CwnE,CACR,CAID,IAAM40C,EAAwBx8F,EAAW,QACrCk8F,IAAcA,EAAU1mG,KAAMwK,IAAe,CAYhD,GAVA2+F,EAAc3+F,EACd4+F,EAAa98G,EASK,IAAb+oB,IACFmyF,EAASxnG,KAAMwK,IAAc+8F,EAAmBvnG,KAAMwK,IAAe,CAGvE4+F,EAAaf,EAASroG,KAAMwK,IAAc8+F,GAAah9G,EAAQuH,aAC9DvH,EAQI88G,GAAc98G,GAAY42G,EAAQ57H,SAG/B2hI,EAAM38G,EAAQ0lB,aAAc,OAClCi3F,EAAMlvF,EAAOksF,eAAgBgD,GAE7B38G,EAAQ4d,aAAc,KAAQ++F,EAAMrE,IAKtCsE,EAASK,GAAU/+F,GACnBzjC,EAAImiI,EAAOjiI,OACX,MAAQF,IACPmiI,EAAQniI,IAAQkiI,EAAM,IAAMA,EAAM,UAAa,IAC9CO,GAAYN,EAAQniI,IAEtBoiI,EAAcD,EAAOn5F,KAAM,IAC5B,CAEA,IAIC,OAHAzpC,EAAKsG,MAAOwlF,EACXg3C,EAAW1tF,iBAAkBytF,IAEvB/2C,CACR,CAAE,MAAQq3C,GACTzC,EAAwBx8F,GAAU,EACnC,CAAE,QACIy+F,IAAQrE,GACZt4G,EAAQ0jB,gBAAiB,KAE3B,CACD,CACD,CAID,OAAOwyE,GAAQh4E,EAAS3uB,QAAS6pH,EAAU,MAAQp5G,EAAS8lE,EAAS42C,EACtE,CAQA,SAASnC,KACR,IAAI38H,EAAO,GAEX,SAAS4Q,EAAO/P,EAAKjC,GASpB,OALKoB,EAAK5D,KAAMyE,EAAM,KAAQs7H,EAAKqD,oBAG3B5uH,EAAO5Q,EAAKP,SAEXmR,EAAO/P,EAAM,KAAQjC,CAC/B,CACA,OAAOgS,CACR,CAMA,SAAS6uH,GAAcljI,GAEtB,OADAA,EAAIm+H,IAAY,EACTn+H,CACR,CAMA,SAASmjI,GAAQnjI,GAChB,IAAIiZ,EAAKgqB,EAASvW,cAAe,YAEjC,IACC,QAAS1sB,EAAIiZ,EACd,CAAE,MAAQ6oB,IACT,OAAO,CACR,CAAE,QAGI7oB,EAAGmU,YACPnU,EAAGmU,WAAWiW,YAAapqB,GAI5BA,EAAK,IACN,CACD,CAMA,SAASmqH,GAAmB/+H,GAC3B,OAAO,SAAUg5H,GAChB,OAAOl8E,EAAUk8E,EAAM,UAAaA,EAAKh5H,OAASA,CACnD,CACD,CAMA,SAASg/H,GAAoBh/H,GAC5B,OAAO,SAAUg5H,GAChB,OAASl8E,EAAUk8E,EAAM,UAAal8E,EAAUk8E,EAAM,YACrDA,EAAKh5H,OAASA,CAChB,CACD,CAMA,SAASi/H,GAAsBtwF,GAG9B,OAAO,SAAUqqF,GAKhB,MAAK,SAAUA,EASTA,EAAKjwG,aAAgC,IAAlBiwG,EAAKrqF,SAGvB,UAAWqqF,EACV,UAAWA,EAAKjwG,WACbiwG,EAAKjwG,WAAW4lB,WAAaA,EAE7BqqF,EAAKrqF,WAAaA,EAMpBqqF,EAAKkG,aAAevwF,GAG1BqqF,EAAKkG,cAAgBvwF,GACpBmvF,EAAoB9E,KAAWrqF,EAG3BqqF,EAAKrqF,WAAaA,EAKd,UAAWqqF,GACfA,EAAKrqF,WAAaA,CAK3B,CACD,CAMA,SAASwwF,GAAwBxjI,GAChC,OAAOkjI,IAAc,SAAUzgB,GAE9B,OADAA,GAAYA,EACLygB,IAAc,SAAUX,EAAMnpG,GACpC,IAAIlF,EACHuvG,EAAezjI,EAAI,GAAIuiI,EAAK/hI,OAAQiiH,GACpCniH,EAAImjI,EAAajjI,OAGlB,MAAQF,IACFiiI,EAAQruG,EAAIuvG,EAAcnjI,MAC9BiiI,EAAMruG,KAASkF,EAASlF,GAAMquG,EAAMruG,IAGvC,GACD,GACD,CAOA,SAAS2uG,GAAah9G,GACrB,OAAOA,GAAmD,qBAAjCA,EAAQo3F,sBAAwCp3F,CAC1E,CAOA,SAASq8G,GAAav+F,GACrB,IAAI+/F,EACH1gG,EAAMW,EAAOA,EAAK0d,eAAiB1d,EAAO+7F,EAO3C,OAAK18F,GAAOC,GAA6B,IAAjBD,EAAI4L,UAAmB5L,EAAIkQ,iBAKnDjQ,EAAWD,EACXkQ,EAAkBjQ,EAASiQ,gBAC3B8sF,GAAkB1sF,EAAOorF,SAAUz7F,GAInC7J,EAAU8Z,EAAgB9Z,SACzB8Z,EAAgBywF,uBAChBzwF,EAAgB0wF,kBAOZ1wF,EAAgB0wF,mBAMpBlE,GAAgBz8F,IACdygG,EAAYzgG,EAASqe,cAAiBoiF,EAAU/0F,MAAQ+0F,GAG1DA,EAAU37F,iBAAkB,SAAUk6F,GAOvCxF,EAAQoH,QAAUV,IAAQ,SAAUlqH,GAEnC,OADAi6B,EAAgB1O,YAAavrB,GAAKlI,GAAKuiC,EAAO6qF,SACtCl7F,EAAS6gG,oBACf7gG,EAAS6gG,kBAAmBxwF,EAAO6qF,SAAU39H,MAChD,IAKAi8H,EAAQsH,kBAAoBZ,IAAQ,SAAUlqH,GAC7C,OAAOmgB,EAAQpwB,KAAMiQ,EAAI,IAC1B,IAIAwjH,EAAQ57H,MAAQsiI,IAAQ,WACvB,OAAOlgG,EAASgS,iBAAkB,SACnC,IAWAwnF,EAAQuH,OAASb,IAAQ,WACxB,IAEC,OADAlgG,EAASa,cAAe,oBACjB,CACR,CAAE,MAAQhC,IACT,OAAO,CACR,CACD,IAGK26F,EAAQoH,SACZjE,EAAKl6H,OAAOijE,GAAK,SAAU53D,GAC1B,IAAIkzH,EAASlzH,EAAGqE,QAASysH,EAAWC,GACpC,OAAO,SAAUzE,GAChB,OAAOA,EAAK9xF,aAAc,QAAW04F,CACtC,CACD,EACArE,EAAKprF,KAAKm0B,GAAK,SAAU53D,EAAI8U,GAC5B,GAAuC,qBAA3BA,EAAQozC,gBAAkC+mE,EAAiB,CACtE,IAAI3C,EAAOx3G,EAAQozC,eAAgBloD,GACnC,OAAOssH,EAAO,CAAEA,GAAS,EAC1B,CACD,IAEAuC,EAAKl6H,OAAOijE,GAAM,SAAU53D,GAC3B,IAAIkzH,EAASlzH,EAAGqE,QAASysH,EAAWC,GACpC,OAAO,SAAUzE,GAChB,IAAI15F,EAAwC,qBAA1B05F,EAAK6G,kBACtB7G,EAAK6G,iBAAkB,MACxB,OAAOvgG,GAAQA,EAAKthC,QAAU4hI,CAC/B,CACD,EAIArE,EAAKprF,KAAKm0B,GAAK,SAAU53D,EAAI8U,GAC5B,GAAuC,qBAA3BA,EAAQozC,gBAAkC+mE,EAAiB,CACtE,IAAIr8F,EAAMrjC,EAAGm9H,EACZJ,EAAOx3G,EAAQozC,eAAgBloD,GAEhC,GAAKssH,EAAO,CAIX,GADA15F,EAAO05F,EAAK6G,iBAAkB,MACzBvgG,GAAQA,EAAKthC,QAAU0O,EAC3B,MAAO,CAAEssH,GAIVI,EAAQ53G,EAAQi+G,kBAAmB/yH,GACnCzQ,EAAI,EACJ,MAAU+8H,EAAOI,EAAOn9H,KAEvB,GADAqjC,EAAO05F,EAAK6G,iBAAkB,MACzBvgG,GAAQA,EAAKthC,QAAU0O,EAC3B,MAAO,CAAEssH,EAGZ,CAEA,MAAO,EACR,CACD,GAIDuC,EAAKprF,KAAK85E,IAAM,SAAUhrF,EAAKzd,GAC9B,MAA6C,qBAAjCA,EAAQo3F,qBACZp3F,EAAQo3F,qBAAsB35E,GAI9Bzd,EAAQovB,iBAAkB3R,EAEnC,EAGAs8F,EAAKprF,KAAK2sF,MAAQ,SAAU33F,EAAW3jB,GACtC,GAA+C,qBAAnCA,EAAQ+8G,wBAA0C5C,EAC7D,OAAOn6G,EAAQ+8G,uBAAwBp5F,EAEzC,EAOAy2F,EAAY,GAIZkD,IAAQ,SAAUlqH,GAEjB,IAAIu/E,EAEJtlD,EAAgB1O,YAAavrB,GAAKorB,UACjC,UAAY85F,EAAZ,iDACiBA,EADjB,oEAMKllH,EAAGg8B,iBAAkB,cAAez0C,QACzCy/H,EAAUpgI,KAAM,MAAQivH,EAAa,aAAe2R,EAAW,KAI1DxnH,EAAGg8B,iBAAkB,QAAUkpF,EAAU,MAAO39H,QACrDy/H,EAAUpgI,KAAM,MAMXoZ,EAAGg8B,iBAAkB,KAAOkpF,EAAU,MAAO39H,QAClDy/H,EAAUpgI,KAAM,YAOXoZ,EAAGg8B,iBAAkB,YAAaz0C,QACvCy/H,EAAUpgI,KAAM,YAKjB24F,EAAQv1D,EAASvW,cAAe,SAChC8rE,EAAM/0D,aAAc,OAAQ,UAC5BxqB,EAAGurB,YAAag0D,GAAQ/0D,aAAc,OAAQ,KAQ9CyP,EAAgB1O,YAAavrB,GAAK+5B,UAAW,EACM,IAA9C/5B,EAAGg8B,iBAAkB,aAAcz0C,QACvCy/H,EAAUpgI,KAAM,WAAY,aAQ7B24F,EAAQv1D,EAASvW,cAAe,SAChC8rE,EAAM/0D,aAAc,OAAQ,IAC5BxqB,EAAGurB,YAAag0D,GACVv/E,EAAGg8B,iBAAkB,aAAcz0C,QACxCy/H,EAAUpgI,KAAM,MAAQivH,EAAa,QAAUA,EAAa,KAC3DA,EAAa,eAEhB,IAEM2N,EAAQuH,QAQb/D,EAAUpgI,KAAM,QAGjBogI,EAAYA,EAAUz/H,QAAU,IAAI24B,OAAQ8mG,EAAU32F,KAAM,MAM5Dk3F,EAAY,SAAUjuH,EAAGC,GAGxB,GAAKD,IAAMC,EAEV,OADAutH,GAAe,EACR,EAIR,IAAIoE,GAAW5xH,EAAE4sH,yBAA2B3sH,EAAE2sH,wBAC9C,OAAKgF,IASLA,GAAY5xH,EAAE8uC,eAAiB9uC,KAASC,EAAE6uC,eAAiB7uC,GAC1DD,EAAE4sH,wBAAyB3sH,GAG3B,EAGc,EAAV2xH,IACD1H,EAAQ2H,cAAgB5xH,EAAE2sH,wBAAyB5sH,KAAQ4xH,EAOzD5xH,IAAM0wB,GAAY1wB,EAAE8uC,eAAiBq+E,GACzClrF,GAAKzB,SAAU2sF,EAAcntH,IACrB,EAOJC,IAAMywB,GAAYzwB,EAAE6uC,eAAiBq+E,GACzClrF,GAAKzB,SAAU2sF,EAAcltH,GACtB,EAIDstH,EACJhuH,EAAQ9I,KAAM82H,EAAWvtH,GAAMT,EAAQ9I,KAAM82H,EAAWttH,GAC1D,EAGe,EAAV2xH,GAAe,EAAI,EAC3B,EAEOlhG,GAvSCA,CAwST,CAopBA,IAAM3iC,KAlpBNk0C,GAAKpb,QAAU,SAAUirG,EAAMxiF,GAC9B,OAAOrN,GAAM6vF,EAAM,KAAM,KAAMxiF,EAChC,EAEArN,GAAK8vF,gBAAkB,SAAUjH,EAAMgH,GAGtC,GAFAnC,GAAa7E,GAER2C,IACHO,EAAwB8D,EAAO,QAC7BpE,IAAcA,EAAU1mG,KAAM8qG,IAEjC,IACC,IAAIxnH,EAAMuc,EAAQpwB,KAAMq0H,EAAMgH,GAG9B,GAAKxnH,GAAO4/G,EAAQsH,mBAIlB1G,EAAKp6F,UAAuC,KAA3Bo6F,EAAKp6F,SAAS2L,SAChC,OAAO/xB,CAET,CAAE,MAAQilB,IACTy+F,EAAwB8D,GAAM,EAC/B,CAGD,OAAO7vF,GAAM6vF,EAAMphG,EAAU,KAAM,CAAEo6F,IAAS78H,OAAS,CACxD,EAEAg0C,GAAKzB,SAAW,SAAUltB,EAASw3G,GAUlC,OAHOx3G,EAAQw7B,eAAiBx7B,IAAaod,GAC5Ci/F,GAAar8G,GAEPytB,EAAOP,SAAUltB,EAASw3G,EAClC,EAGA7oF,GAAKmtD,KAAO,SAAU07B,EAAM9jH,IAOpB8jH,EAAKh8E,eAAiBg8E,IAAUp6F,GACtCi/F,GAAa7E,GAGd,IAAIr9H,EAAK4/H,EAAK2E,WAAYhrH,EAAKlE,eAG9BkO,EAAMvjB,GAAMmH,EAAO6B,KAAM42H,EAAK2E,WAAYhrH,EAAKlE,eAC9CrV,EAAIq9H,EAAM9jH,GAAOymH,QACjB50D,EAEF,YAAaA,IAAR7nD,EACGA,EAGD85G,EAAK9xF,aAAchyB,EAC3B,EAEAi7B,GAAK1kC,MAAQ,SAAUkwG,GACtB,MAAM,IAAIvpE,MAAO,0CAA4CupE,EAC9D,EAMA1sE,EAAOkxF,WAAa,SAAU74C,GAC7B,IAAI0xC,EACHoH,EAAa,GACbvwG,EAAI,EACJ5zB,EAAI,EAWL,GAJAy/H,GAAgBtD,EAAQiI,WACxB5E,GAAarD,EAAQiI,YAAcrxH,EAAMrK,KAAM2iF,EAAS,GACxDr5E,EAAKtJ,KAAM2iF,EAAS60C,GAEfT,EAAe,CACnB,MAAU1C,EAAO1xC,EAASrrF,KACpB+8H,IAAS1xC,EAASrrF,KACtB4zB,EAAIuwG,EAAW5kI,KAAMS,IAGvB,MAAQ4zB,IACPxiB,EAAO1I,KAAM2iF,EAAS84C,EAAYvwG,GAAK,EAEzC,CAMA,OAFA4rG,EAAY,KAELn0C,CACR,EAEAr4C,EAAOtzC,GAAGwkI,WAAa,WACtB,OAAOllI,KAAKk+H,UAAWlqF,EAAOkxF,WAAYnxH,EAAMlN,MAAO7G,OACxD,EAEAsgI,EAAOtsF,EAAO+wF,KAAO,CAGpBpB,YAAa,GAEb0B,aAAczB,GAEd/2F,MAAO+0F,EAEPqD,WAAY,CAAC,EAEb/vF,KAAM,CAAC,EAEPowF,SAAU,CACT,IAAK,CAAE5oH,IAAK,aAAcomE,OAAO,GACjC,IAAK,CAAEpmE,IAAK,cACZ,IAAK,CAAEA,IAAK,kBAAmBomE,OAAO,GACtC,IAAK,CAAEpmE,IAAK,oBAGb6oH,UAAW,CACVzD,KAAM,SAAUj1F,GAWf,OAVAA,EAAO,GAAMA,EAAO,GAAI/2B,QAASysH,EAAWC,GAG5C31F,EAAO,IAAQA,EAAO,IAAOA,EAAO,IAAOA,EAAO,IAAO,IACvD/2B,QAASysH,EAAWC,GAEF,OAAf31F,EAAO,KACXA,EAAO,GAAM,IAAMA,EAAO,GAAM,KAG1BA,EAAM94B,MAAO,EAAG,EACxB,EAEAiuH,MAAO,SAAUn1F,GAkChB,OAtBAA,EAAO,GAAMA,EAAO,GAAI92B,cAEU,QAA7B82B,EAAO,GAAI94B,MAAO,EAAG,IAGnB84B,EAAO,IACZqI,GAAK1kC,MAAOq8B,EAAO,IAKpBA,EAAO,KAASA,EAAO,GACtBA,EAAO,IAAQA,EAAO,IAAO,GAC7B,GAAqB,SAAfA,EAAO,IAAiC,QAAfA,EAAO,KAEvCA,EAAO,KAAWA,EAAO,GAAMA,EAAO,IAAwB,QAAfA,EAAO,KAG3CA,EAAO,IAClBqI,GAAK1kC,MAAOq8B,EAAO,IAGbA,CACR,EAEAk1F,OAAQ,SAAUl1F,GACjB,IAAI24F,EACHC,GAAY54F,EAAO,IAAOA,EAAO,GAElC,OAAK+0F,EAAUI,MAAM/nG,KAAM4S,EAAO,IAC1B,MAIHA,EAAO,GACXA,EAAO,GAAMA,EAAO,IAAOA,EAAO,IAAO,GAG9B44F,GAAY/D,EAAQznG,KAAMwrG,KAGnCD,EAAShC,GAAUiC,GAAU,MAG7BD,EAASC,EAASjzH,QAAS,IAAKizH,EAASvkI,OAASskI,GAAWC,EAASvkI,UAGxE2rC,EAAO,GAAMA,EAAO,GAAI94B,MAAO,EAAGyxH,GAClC34F,EAAO,GAAM44F,EAAS1xH,MAAO,EAAGyxH,IAI1B34F,EAAM94B,MAAO,EAAG,GACxB,GAGD3N,OAAQ,CAEP4oH,IAAK,SAAU0W,GACd,IAAIC,EAAmBD,EAAiB5vH,QAASysH,EAAWC,GAAYzsH,cACxE,MAA4B,MAArB2vH,EACN,WACC,OAAO,CACR,EACA,SAAU3H,GACT,OAAOl8E,EAAUk8E,EAAM4H,EACxB,CACF,EAEA9D,MAAO,SAAU33F,GAChB,IAAInQ,EAAU8mG,EAAY32F,EAAY,KAEtC,OAAOnQ,IACJA,EAAU,IAAIF,OAAQ,MAAQ21F,EAAa,IAAMtlF,EAClD,IAAMslF,EAAa,SACpBqR,EAAY32F,GAAW,SAAU6zF,GAChC,OAAOhkG,EAAQE,KACY,kBAAnB8jG,EAAK7zF,WAA0B6zF,EAAK7zF,WACb,qBAAtB6zF,EAAK9xF,cACX8xF,EAAK9xF,aAAc,UACpB,GAEH,GACF,EAEA61F,KAAM,SAAU7nH,EAAM2rH,EAAUxc,GAC/B,OAAO,SAAU2U,GAChB,IAAIr1H,EAASwsC,GAAKmtD,KAAM07B,EAAM9jH,GAE9B,OAAe,MAAVvR,EACgB,OAAbk9H,GAEFA,IAINl9H,GAAU,GAEQ,MAAbk9H,EACGl9H,IAAW0gH,EAED,OAAbwc,EACGl9H,IAAW0gH,EAED,OAAbwc,EACGxc,GAAqC,IAA5B1gH,EAAO8J,QAAS42G,GAEf,OAAbwc,EACGxc,GAAS1gH,EAAO8J,QAAS42G,IAAW,EAE1B,OAAbwc,EACGxc,GAAS1gH,EAAOqL,OAAQq1G,EAAMloH,UAAakoH,EAEjC,OAAbwc,GACK,IAAMl9H,EAAOoN,QAASwrH,EAAa,KAAQ,KAClD9uH,QAAS42G,IAAW,EAEL,OAAbwc,IACGl9H,IAAW0gH,GAAS1gH,EAAOqL,MAAO,EAAGq1G,EAAMloH,OAAS,KAAQkoH,EAAQ,KAI7E,CACD,EAEA4Y,MAAO,SAAUj9H,EAAM8gI,EAAMC,EAAWhjD,EAAO3hF,GAC9C,IAAIutH,EAAgC,QAAvB3pH,EAAKgP,MAAO,EAAG,GAC3BgyH,EAA+B,SAArBhhI,EAAKgP,OAAQ,GACvBiyH,EAAkB,YAATH,EAEV,OAAiB,IAAV/iD,GAAwB,IAAT3hF,EAGrB,SAAU48H,GACT,QAASA,EAAKjwG,UACf,EAEA,SAAUiwG,EAAMh3G,EAAUk/G,GACzB,IAAIlxH,EAAOmxH,EAAY7hG,EAAM8hG,EAAWz0H,EACvCgL,EAAMgyG,IAAWqX,EAAU,cAAgB,kBAC3C3lI,EAAS29H,EAAKjwG,WACd7T,EAAO+rH,GAAUjI,EAAKl8E,SAAS9rC,cAC/BqwH,GAAYH,IAAQD,EACpB3yH,GAAO,EAER,GAAKjT,EAAS,CAGb,GAAKsuH,EAAS,CACb,MAAQhyG,EAAM,CACb2nB,EAAO05F,EACP,MAAU15F,EAAOA,EAAM3nB,GACtB,GAAKspH,EACJnkF,EAAUxd,EAAMpqB,GACE,IAAlBoqB,EAAKiL,SAEL,OAAO,EAKT59B,EAAQgL,EAAe,SAAT3X,IAAoB2M,GAAS,aAC5C,CACA,OAAO,CACR,CAKA,GAHAA,EAAQ,CAAEq0H,EAAU3lI,EAAO6kC,WAAa7kC,EAAOykC,WAG1CkhG,GAAWK,EAAW,CAG1BF,EAAa9lI,EAAQy+H,KAAez+H,EAAQy+H,GAAY,CAAC,GACzD9pH,EAAQmxH,EAAYnhI,IAAU,GAC9BohI,EAAYpxH,EAAO,KAAQ6rH,GAAW7rH,EAAO,GAC7C1B,EAAO8yH,GAAapxH,EAAO,GAC3BsvB,EAAO8hG,GAAa/lI,EAAOqjG,WAAY0iC,GAEvC,MAAU9hG,IAAS8hG,GAAa9hG,GAAQA,EAAM3nB,KAG3CrJ,EAAO8yH,EAAY,IAAOz0H,EAAMtQ,MAGlC,GAAuB,IAAlBijC,EAAKiL,YAAoBj8B,GAAQgxB,IAAS05F,EAAO,CACrDmI,EAAYnhI,GAAS,CAAE67H,EAASuF,EAAW9yH,GAC3C,KACD,CAGF,MAYC,GATK+yH,IACJF,EAAanI,EAAMc,KAAed,EAAMc,GAAY,CAAC,GACrD9pH,EAAQmxH,EAAYnhI,IAAU,GAC9BohI,EAAYpxH,EAAO,KAAQ6rH,GAAW7rH,EAAO,GAC7C1B,EAAO8yH,IAKM,IAAT9yH,EAGJ,MAAUgxB,IAAS8hG,GAAa9hG,GAAQA,EAAM3nB,KAC3CrJ,EAAO8yH,EAAY,IAAOz0H,EAAMtQ,MAElC,IAAO4kI,EACNnkF,EAAUxd,EAAMpqB,GACE,IAAlBoqB,EAAKiL,aACHj8B,IAGG+yH,IACJF,EAAa7hG,EAAMw6F,KAChBx6F,EAAMw6F,GAAY,CAAC,GACtBqH,EAAYnhI,GAAS,CAAE67H,EAASvtH,IAG5BgxB,IAAS05F,GACb,MASL,OADA1qH,GAAQlS,EACDkS,IAASyvE,GAAWzvE,EAAOyvE,IAAU,GAAKzvE,EAAOyvE,GAAS,CAClE,CACD,CACF,EAEAi/C,OAAQ,SAAUsE,EAAQljB,GAMzB,IAAI18G,EACH/F,EAAK4/H,EAAKe,QAASgF,IAAY/F,EAAKgG,WAAYD,EAAOtwH,gBACtDm/B,GAAK1kC,MAAO,uBAAyB61H,GAKvC,OAAK3lI,EAAIm+H,GACDn+H,EAAIyiH,GAIPziH,EAAGQ,OAAS,GAChBuF,EAAO,CAAE4/H,EAAQA,EAAQ,GAAIljB,GACtBmd,EAAKgG,WAAWx/H,eAAgBu/H,EAAOtwH,eAC7C6tH,IAAc,SAAUX,EAAMnpG,GAC7B,IAAIysG,EACHC,EAAU9lI,EAAIuiI,EAAM9f,GACpBniH,EAAIwlI,EAAQtlI,OACb,MAAQF,IACPulI,EAAM/zH,EAAQ9I,KAAMu5H,EAAMuD,EAASxlI,IACnCiiI,EAAMsD,KAAWzsG,EAASysG,GAAQC,EAASxlI,GAE7C,IACA,SAAU+8H,GACT,OAAOr9H,EAAIq9H,EAAM,EAAGt3H,EACrB,GAGK/F,CACR,GAGD2gI,QAAS,CAGRoF,IAAK7C,IAAc,SAAUn/F,GAK5B,IAAIy0D,EAAQ,GACX7M,EAAU,GACVq6C,EAAUzkG,GAASwC,EAAS3uB,QAAS6pH,EAAU,OAEhD,OAAO+G,EAAS7H,GACf+E,IAAc,SAAUX,EAAMnpG,EAAS/S,EAAUk/G,GAChD,IAAIlI,EACH4I,EAAYD,EAASzD,EAAM,KAAMgD,EAAK,IACtCjlI,EAAIiiI,EAAK/hI,OAGV,MAAQF,KACA+8H,EAAO4I,EAAW3lI,MACxBiiI,EAAMjiI,KAAS84B,EAAS94B,GAAM+8H,GAGjC,IACA,SAAUA,EAAMh3G,EAAUk/G,GAOzB,OANA/sC,EAAO,GAAM6kC,EACb2I,EAASxtC,EAAO,KAAM+sC,EAAK55C,GAI3B6M,EAAO,GAAM,MACL7M,EAAQjrF,KACjB,CACF,IAEA2G,IAAK67H,IAAc,SAAUn/F,GAC5B,OAAO,SAAUs5F,GAChB,OAAO7oF,GAAMzQ,EAAUs5F,GAAO78H,OAAS,CACxC,CACD,IAEAuyC,SAAUmwF,IAAc,SAAUnjG,GAEjC,OADAA,EAAOA,EAAK3qB,QAASysH,EAAWC,GACzB,SAAUzE,GAChB,OAASA,EAAKx5F,aAAeyP,EAAOvT,KAAMs9F,IAASvrH,QAASiuB,IAAU,CACvE,CACD,IASAmmG,KAAMhD,IAAc,SAAUgD,GAO7B,OAJMjF,EAAY1nG,KAAM2sG,GAAQ,KAC/B1xF,GAAK1kC,MAAO,qBAAuBo2H,GAEpCA,EAAOA,EAAK9wH,QAASysH,EAAWC,GAAYzsH,cACrC,SAAUgoH,GAChB,IAAI8I,EACJ,GACC,GAAOA,EAAWnG,EACjB3C,EAAK6I,KACL7I,EAAK9xF,aAAc,aAAgB8xF,EAAK9xF,aAAc,QAGtD,OADA46F,EAAWA,EAAS9wH,cACb8wH,IAAaD,GAA2C,IAAnCC,EAASr0H,QAASo0H,EAAO,YAE3C7I,EAAOA,EAAKjwG,aAAkC,IAAlBiwG,EAAKzuF,UAC7C,OAAO,CACR,CACD,IAGAxqC,OAAQ,SAAUi5H,GACjB,IAAI/hE,EAAOrzB,EAAOm8D,UAAYn8D,EAAOm8D,SAAS9oC,KAC9C,OAAOA,GAAQA,EAAKjoD,MAAO,KAAQgqH,EAAKtsH,EACzC,EAEA0G,KAAM,SAAU4lH,GACf,OAAOA,IAASnqF,CACjB,EAEA2Z,MAAO,SAAUwwE,GAChB,OAAOA,IAASgF,KACfp/F,EAASmjG,eACL/I,EAAKh5H,MAAQg5H,EAAKx5B,OAASw5B,EAAKgJ,SACtC,EAGA1kF,QAAS2hF,IAAsB,GAC/BtwF,SAAUswF,IAAsB,GAEhC7qC,QAAS,SAAU4kC,GAIlB,OAASl8E,EAAUk8E,EAAM,YAAeA,EAAK5kC,SAC1Ct3C,EAAUk8E,EAAM,aAAgBA,EAAKiJ,QACzC,EAEAA,SAAU,SAAUjJ,GAWnB,OALKA,EAAKjwG,YAETiwG,EAAKjwG,WAAWwrE,eAGQ,IAAlBykC,EAAKiJ,QACb,EAGAC,MAAO,SAAUlJ,GAMhB,IAAMA,EAAOA,EAAK94F,WAAY84F,EAAMA,EAAOA,EAAK/vG,YAC/C,GAAK+vG,EAAKzuF,SAAW,EACpB,OAAO,EAGT,OAAO,CACR,EAEAlvC,OAAQ,SAAU29H,GACjB,OAAQuC,EAAKe,QAAQ4F,MAAOlJ,EAC7B,EAGAmJ,OAAQ,SAAUnJ,GACjB,OAAOqE,EAAQnoG,KAAM8jG,EAAKl8E,SAC3B,EAEAq3C,MAAO,SAAU6kC,GAChB,OAAOoE,EAAQloG,KAAM8jG,EAAKl8E,SAC3B,EAEAkM,OAAQ,SAAUgwE,GACjB,OAAOl8E,EAAUk8E,EAAM,UAA2B,WAAdA,EAAKh5H,MACxC88C,EAAUk8E,EAAM,SAClB,EAEAt9F,KAAM,SAAUs9F,GACf,IAAI17B,EACJ,OAAOxgD,EAAUk8E,EAAM,UAA2B,SAAdA,EAAKh5H,OAKI,OAAxCs9F,EAAO07B,EAAK9xF,aAAc,UACN,SAAvBo2D,EAAKtsF,cACR,EAGA+sE,MAAOohD,IAAwB,WAC9B,MAAO,CAAE,EACV,IAEA/iI,KAAM+iI,IAAwB,SAAUiD,EAAejmI,GACtD,MAAO,CAAEA,EAAS,EACnB,IAEAo9H,GAAI4F,IAAwB,SAAUiD,EAAejmI,EAAQiiH,GAC5D,MAAO,CAAEA,EAAW,EAAIA,EAAWjiH,EAASiiH,EAC7C,IAEAob,KAAM2F,IAAwB,SAAUC,EAAcjjI,GAErD,IADA,IAAIF,EAAI,EACAA,EAAIE,EAAQF,GAAK,EACxBmjI,EAAa5jI,KAAMS,GAEpB,OAAOmjI,CACR,IAEAzF,IAAKwF,IAAwB,SAAUC,EAAcjjI,GAEpD,IADA,IAAIF,EAAI,EACAA,EAAIE,EAAQF,GAAK,EACxBmjI,EAAa5jI,KAAMS,GAEpB,OAAOmjI,CACR,IAEA3oF,GAAI0oF,IAAwB,SAAUC,EAAcjjI,EAAQiiH,GAC3D,IAAIniH,EAUJ,IAPCA,EADImiH,EAAW,EACXA,EAAWjiH,EACJiiH,EAAWjiH,EAClBA,EAEAiiH,IAGKniH,GAAK,GACdmjI,EAAa5jI,KAAMS,GAEpB,OAAOmjI,CACR,IAEApoF,GAAImoF,IAAwB,SAAUC,EAAcjjI,EAAQiiH,GAE3D,IADA,IAAIniH,EAAImiH,EAAW,EAAIA,EAAWjiH,EAASiiH,IACjCniH,EAAIE,GACbijI,EAAa5jI,KAAMS,GAEpB,OAAOmjI,CACR,MAIF7D,EAAKe,QAAQ+F,IAAM9G,EAAKe,QAAQ/C,GAGrB,CAAE+I,OAAO,EAAMC,UAAU,EAAMC,MAAM,EAAMC,UAAU,EAAM9gD,OAAO,GAC5E45C,EAAKe,QAASrgI,GAAM8iI,GAAmB9iI,GAExC,IAAMA,IAAK,CAAEymI,QAAQ,EAAMnsH,OAAO,GACjCglH,EAAKe,QAASrgI,GAAM+iI,GAAoB/iI,GAIzC,SAASslI,KAAc,CAIvB,SAAS9C,GAAU/+F,EAAUijG,GAC5B,IAAIlB,EAAS35F,EAAOwlC,EAAQttE,EAC3B4iI,EAAOxE,EAAQyE,EACf3yH,EAAS8rH,EAAYt8F,EAAW,KAEjC,GAAKxvB,EACJ,OAAOyyH,EAAY,EAAIzyH,EAAOlB,MAAO,GAGtC4zH,EAAQljG,EACR0+F,EAAS,GACTyE,EAAatH,EAAKiF,UAElB,MAAQoC,EAAQ,CA2Bf,IAAM5iI,KAxBAyhI,KAAa35F,EAAQ00F,EAAOtY,KAAM0e,MAClC96F,IAGJ86F,EAAQA,EAAM5zH,MAAO84B,EAAO,GAAI3rC,SAAYymI,GAE7CxE,EAAO5iI,KAAQ8xE,EAAS,KAGzBm0D,GAAU,GAGH35F,EAAQ20F,EAAmBvY,KAAM0e,MACvCnB,EAAU35F,EAAMjpC,QAChByuE,EAAO9xE,KAAM,CACZwC,MAAOyjI,EAGPzhI,KAAM8nC,EAAO,GAAI/2B,QAAS6pH,EAAU,OAErCgI,EAAQA,EAAM5zH,MAAOyyH,EAAQtlI,SAIhBo/H,EAAKl6H,SACXymC,EAAQ+0F,EAAW78H,GAAOkkH,KAAM0e,KAAgBC,EAAY7iI,MAChE8nC,EAAQ+6F,EAAY7iI,GAAQ8nC,MAC9B25F,EAAU35F,EAAMjpC,QAChByuE,EAAO9xE,KAAM,CACZwC,MAAOyjI,EACPzhI,KAAMA,EACN+0B,QAAS+S,IAEV86F,EAAQA,EAAM5zH,MAAOyyH,EAAQtlI,SAI/B,IAAMslI,EACL,KAEF,CAKA,OAAKkB,EACGC,EAAMzmI,OAGPymI,EACNzyF,GAAK1kC,MAAOi0B,GAGZs8F,EAAYt8F,EAAU0+F,GAASpvH,MAAO,EACxC,CAEA,SAAS0vH,GAAYpxD,GAIpB,IAHA,IAAIrxE,EAAI,EACP22B,EAAM06C,EAAOnxE,OACbujC,EAAW,GACJzjC,EAAI22B,EAAK32B,IAChByjC,GAAY4tC,EAAQrxE,GAAI+B,MAEzB,OAAO0hC,CACR,CAEA,SAASq+F,GAAe4D,EAASmB,EAAYtjH,GAC5C,IAAI7H,EAAMmrH,EAAWnrH,IACpBorH,EAAOD,EAAWj9H,KAClB5F,EAAM8iI,GAAQprH,EACdqrH,EAAmBxjH,GAAgB,eAARvf,EAC3BgjI,EAAWn9H,IAEZ,OAAOg9H,EAAW/kD,MAGjB,SAAUi7C,EAAMx3G,EAAS0/G,GACxB,MAAUlI,EAAOA,EAAMrhH,GACtB,GAAuB,IAAlBqhH,EAAKzuF,UAAkBy4F,EAC3B,OAAOrB,EAAS3I,EAAMx3G,EAAS0/G,GAGjC,OAAO,CACR,EAGA,SAAUlI,EAAMx3G,EAAS0/G,GACxB,IAAIgC,EAAU/B,EACbgC,EAAW,CAAEtH,EAASoH,GAGvB,GAAK/B,GACJ,MAAUlI,EAAOA,EAAMrhH,GACtB,IAAuB,IAAlBqhH,EAAKzuF,UAAkBy4F,IACtBrB,EAAS3I,EAAMx3G,EAAS0/G,GAC5B,OAAO,OAKV,MAAUlI,EAAOA,EAAMrhH,GACtB,GAAuB,IAAlBqhH,EAAKzuF,UAAkBy4F,EAG3B,GAFA7B,EAAanI,EAAMc,KAAed,EAAMc,GAAY,CAAC,GAEhDiJ,GAAQjmF,EAAUk8E,EAAM+J,GAC5B/J,EAAOA,EAAMrhH,IAASqhH,MAChB,KAAOkK,EAAW/B,EAAYlhI,KACpCijI,EAAU,KAAQrH,GAAWqH,EAAU,KAAQD,EAG/C,OAASE,EAAU,GAAMD,EAAU,GAOnC,GAHA/B,EAAYlhI,GAAQkjI,EAGbA,EAAU,GAAMxB,EAAS3I,EAAMx3G,EAAS0/G,GAC9C,OAAO,CAET,CAIH,OAAO,CACR,CACF,CAEA,SAASkC,GAAgBC,GACxB,OAAOA,EAASlnI,OAAS,EACxB,SAAU68H,EAAMx3G,EAAS0/G,GACxB,IAAIjlI,EAAIonI,EAASlnI,OACjB,MAAQF,IACP,IAAMonI,EAAUpnI,GAAK+8H,EAAMx3G,EAAS0/G,GACnC,OAAO,EAGT,OAAO,CACR,EACAmC,EAAU,EACZ,CAEA,SAASC,GAAkB5jG,EAAU6jG,EAAUj8C,GAG9C,IAFA,IAAIrrF,EAAI,EACP22B,EAAM2wG,EAASpnI,OACRF,EAAI22B,EAAK32B,IAChBk0C,GAAMzQ,EAAU6jG,EAAUtnI,GAAKqrF,GAEhC,OAAOA,CACR,CAEA,SAASk8C,GAAU5B,EAAWtgI,EAAKD,EAAQmgB,EAAS0/G,GAOnD,IANA,IAAIlI,EACHyK,EAAe,GACfxnI,EAAI,EACJ22B,EAAMgvG,EAAUzlI,OAChBunI,EAAgB,MAAPpiI,EAEFrF,EAAI22B,EAAK32B,KACT+8H,EAAO4I,EAAW3lI,MAClBoF,IAAUA,EAAQ23H,EAAMx3G,EAAS0/G,KACtCuC,EAAajoI,KAAMw9H,GACd0K,GACJpiI,EAAI9F,KAAMS,KAMd,OAAOwnI,CACR,CAEA,SAASE,GAAYnD,EAAW9gG,EAAUiiG,EAASiC,EAAYC,EAAYC,GAO1E,OANKF,IAAeA,EAAY9J,KAC/B8J,EAAaD,GAAYC,IAErBC,IAAeA,EAAY/J,KAC/B+J,EAAaF,GAAYE,EAAYC,IAE/BjF,IAAc,SAAUX,EAAM52C,EAAS9lE,EAAS0/G,GACtD,IAAIvZ,EAAM1rH,EAAG+8H,EAAM+K,EAClBC,EAAS,GACTC,EAAU,GACVC,EAAc58C,EAAQnrF,OAGtBi9H,EAAQ8E,GACPoF,GAAkB5jG,GAAY,IAC7Ble,EAAQ+oB,SAAW,CAAE/oB,GAAYA,EAAS,IAG5C2iH,GAAY3D,IAAetC,GAASx+F,EAEnC05F,EADAoK,GAAUpK,EAAO4K,EAAQxD,EAAWh/G,EAAS0/G,GAsB/C,GAnBKS,GAIJoC,EAAaF,IAAgB3F,EAAOsC,EAAY0D,GAAeN,GAG9D,GAGAt8C,EAGDq6C,EAASwC,EAAWJ,EAAYviH,EAAS0/G,IAEzC6C,EAAaI,EAITP,EAAa,CACjBjc,EAAO6b,GAAUO,EAAYE,GAC7BL,EAAYjc,EAAM,GAAInmG,EAAS0/G,GAG/BjlI,EAAI0rH,EAAKxrH,OACT,MAAQF,KACA+8H,EAAOrR,EAAM1rH,MACnB8nI,EAAYE,EAAShoI,MAAWkoI,EAAWF,EAAShoI,IAAQ+8H,GAG/D,CAEA,GAAKkF,GACJ,GAAK2F,GAAcrD,EAAY,CAC9B,GAAKqD,EAAa,CAGjBlc,EAAO,GACP1rH,EAAI8nI,EAAW5nI,OACf,MAAQF,KACA+8H,EAAO+K,EAAY9nI,KAGzB0rH,EAAKnsH,KAAQ2oI,EAAWloI,GAAM+8H,GAGhC6K,EAAY,KAAQE,EAAa,GAAMpc,EAAMuZ,EAC9C,CAGAjlI,EAAI8nI,EAAW5nI,OACf,MAAQF,KACA+8H,EAAO+K,EAAY9nI,MACvB0rH,EAAOkc,EAAap2H,EAAQ9I,KAAMu5H,EAAMlF,GAASgL,EAAQ/nI,KAAS,IAEpEiiI,EAAMvW,KAAYrgC,EAASqgC,GAASqR,GAGvC,OAIA+K,EAAaP,GACZO,IAAez8C,EACdy8C,EAAW12H,OAAQ62H,EAAaH,EAAW5nI,QAC3C4nI,GAEGF,EACJA,EAAY,KAAMv8C,EAASy8C,EAAY7C,GAEvC1lI,EAAKsG,MAAOwlF,EAASy8C,EAGxB,GACD,CAEA,SAASK,GAAmB92D,GA+B3B,IA9BA,IAAI+2D,EAAc1C,EAAS9xG,EAC1B+C,EAAM06C,EAAOnxE,OACbmoI,EAAkB/I,EAAKgF,SAAUjzD,EAAQ,GAAIttE,MAC7CukI,EAAmBD,GAAmB/I,EAAKgF,SAAU,KACrDtkI,EAAIqoI,EAAkB,EAAI,EAG1BE,EAAezG,IAAe,SAAU/E,GACvC,OAAOA,IAASqL,CACjB,GAAGE,GAAkB,GACrBE,EAAkB1G,IAAe,SAAU/E,GAC1C,OAAOvrH,EAAQ9I,KAAM0/H,EAAcrL,IAAU,CAC9C,GAAGuL,GAAkB,GACrBlB,EAAW,CAAE,SAAUrK,EAAMx3G,EAAS0/G,GAMrC,IAAI1oH,GAAS8rH,IAAqBpD,GAAO1/G,GAAWg6G,MACjD6I,EAAe7iH,GAAU+oB,SAC1Bi6F,EAAcxL,EAAMx3G,EAAS0/G,GAC7BuD,EAAiBzL,EAAMx3G,EAAS0/G,IAKlC,OADAmD,EAAe,KACR7rH,CACR,GAEOvc,EAAI22B,EAAK32B,IAChB,GAAO0lI,EAAUpG,EAAKgF,SAAUjzD,EAAQrxE,GAAI+D,MAC3CqjI,EAAW,CAAEtF,GAAeqF,GAAgBC,GAAY1B,QAClD,CAIN,GAHAA,EAAUpG,EAAKl6H,OAAQisE,EAAQrxE,GAAI+D,MAAO8B,MAAO,KAAMwrE,EAAQrxE,GAAI84B,SAG9D4sG,EAAS7H,GAAY,CAIzB,IADAjqG,IAAM5zB,EACE4zB,EAAI+C,EAAK/C,IAChB,GAAK0rG,EAAKgF,SAAUjzD,EAAQz9C,GAAI7vB,MAC/B,MAGF,OAAO2jI,GACN1nI,EAAI,GAAKmnI,GAAgBC,GACzBpnI,EAAI,GAAKyiI,GAGRpxD,EAAOt+D,MAAO,EAAG/S,EAAI,GACnBwX,OAAQ,CAAEzV,MAAgC,MAAzBsvE,EAAQrxE,EAAI,GAAI+D,KAAe,IAAM,MACvD+Q,QAAS6pH,EAAU,MACrB+G,EACA1lI,EAAI4zB,GAAKu0G,GAAmB92D,EAAOt+D,MAAO/S,EAAG4zB,IAC7CA,EAAI+C,GAAOwxG,GAAqB92D,EAASA,EAAOt+D,MAAO6gB,IACvDA,EAAI+C,GAAO8rG,GAAYpxD,GAEzB,CACA+1D,EAAS7nI,KAAMmmI,EAChB,CAGD,OAAOyB,GAAgBC,EACxB,CAEA,SAASqB,GAA0BC,EAAiBC,GACnD,IAAIC,EAAQD,EAAYzoI,OAAS,EAChC2oI,EAAYH,EAAgBxoI,OAAS,EACrC4oI,EAAe,SAAU7G,EAAM18G,EAAS0/G,EAAK55C,EAAS09C,GACrD,IAAIhM,EAAMnpG,EAAG8xG,EACZsD,EAAe,EACfhpI,EAAI,IACJ2lI,EAAY1D,GAAQ,GACpBgH,EAAa,GACbC,EAAgB3J,EAGhBpC,EAAQ8E,GAAQ4G,GAAavJ,EAAKprF,KAAK85E,IAAK,IAAK+a,GAGjDI,EAAkBvJ,GAA4B,MAAjBsJ,EAAwB,EAAIj2G,KAAKylC,UAAY,GAC1E/hC,EAAMwmG,EAAMj9H,OAeb,IAbK6oI,IAMJxJ,EAAmBh6G,GAAWod,GAAYpd,GAAWwjH,GAO9C/oI,IAAM22B,GAAgC,OAAvBomG,EAAOI,EAAOn9H,IAAeA,IAAM,CACzD,GAAK6oI,GAAa9L,EAAO,CACxBnpG,EAAI,EAMErO,GAAWw3G,EAAKh8E,eAAiBpe,IACtCi/F,GAAa7E,GACbkI,GAAOvF,GAER,MAAUgG,EAAUgD,EAAiB90G,KACpC,GAAK8xG,EAAS3I,EAAMx3G,GAAWod,EAAUsiG,GAAQ,CAChD1lI,EAAKmJ,KAAM2iF,EAAS0xC,GACpB,KACD,CAEIgM,IACJnJ,EAAUuJ,EAEZ,CAGKP,KAGG7L,GAAQ2I,GAAW3I,IACzBiM,IAII/G,GACJ0D,EAAUpmI,KAAMw9H,GAGnB,CAaA,GATAiM,GAAgBhpI,EASX4oI,GAAS5oI,IAAMgpI,EAAe,CAClCp1G,EAAI,EACJ,MAAU8xG,EAAUiD,EAAa/0G,KAChC8xG,EAASC,EAAWsD,EAAY1jH,EAAS0/G,GAG1C,GAAKhD,EAAO,CAGX,GAAK+G,EAAe,EACnB,MAAQhpI,IACC2lI,EAAW3lI,IAAOipI,EAAYjpI,KACrCipI,EAAYjpI,GAAMI,EAAIsI,KAAM2iF,IAM/B49C,EAAa1B,GAAU0B,EACxB,CAGA1pI,EAAKsG,MAAOwlF,EAAS49C,GAGhBF,IAAc9G,GAAQgH,EAAW/oI,OAAS,GAC5C8oI,EAAeL,EAAYzoI,OAAW,GAExC8yC,EAAOkxF,WAAY74C,EAErB,CAQA,OALK09C,IACJnJ,EAAUuJ,EACV5J,EAAmB2J,GAGbvD,CACR,EAED,OAAOiD,EACNhG,GAAckG,GACdA,CACF,CAEA,SAAS7nG,GAASwC,EAAUoI,GAC3B,IAAI7rC,EACH2oI,EAAc,GACdD,EAAkB,GAClBz0H,EAAS+rH,EAAev8F,EAAW,KAEpC,IAAMxvB,EAAS,CAGR43B,IACLA,EAAQ22F,GAAU/+F,IAEnBzjC,EAAI6rC,EAAM3rC,OACV,MAAQF,IACPiU,EAASk0H,GAAmBt8F,EAAO7rC,IAC9BiU,EAAQ4pH,GACZ8K,EAAYppI,KAAM0U,GAElBy0H,EAAgBnpI,KAAM0U,GAKxBA,EAAS+rH,EAAev8F,EACvBglG,GAA0BC,EAAiBC,IAG5C10H,EAAOwvB,SAAWA,CACnB,CACA,OAAOxvB,CACR,CAWA,SAASwnG,GAAQh4E,EAAUle,EAAS8lE,EAAS42C,GAC5C,IAAIjiI,EAAGqxE,EAAQC,EAAOvtE,EAAMmwC,EAC3Bk1F,EAA+B,oBAAb3lG,GAA2BA,EAC7CoI,GAASo2F,GAAQO,GAAY/+F,EAAW2lG,EAAS3lG,UAAYA,GAM9D,GAJA4nD,EAAUA,GAAW,GAIC,IAAjBx/C,EAAM3rC,OAAe,CAIzB,GADAmxE,EAASxlC,EAAO,GAAMA,EAAO,GAAI94B,MAAO,GACnCs+D,EAAOnxE,OAAS,GAAsC,QAA/BoxE,EAAQD,EAAQ,IAAMttE,MAC3B,IAArBwhB,EAAQ+oB,UAAkBoxF,GAAkBJ,EAAKgF,SAAUjzD,EAAQ,GAAIttE,MAAS,CAMjF,GAJAwhB,GAAY+5G,EAAKprF,KAAKm0B,GACrBiJ,EAAMx4C,QAAS,GAAIhkB,QAASysH,EAAWC,GACvCj8G,IACI,IAAM,IACLA,EACL,OAAO8lE,EAGI+9C,IACX7jH,EAAUA,EAAQuH,YAGnB2W,EAAWA,EAAS1wB,MAAOs+D,EAAOzuE,QAAQb,MAAM7B,OACjD,CAGAF,EAAI4gI,EAAUM,aAAajoG,KAAMwK,GAAa,EAAI4tC,EAAOnxE,OACzD,MAAQF,IAAM,CAIb,GAHAsxE,EAAQD,EAAQrxE,GAGXs/H,EAAKgF,SAAYvgI,EAAOutE,EAAMvtE,MAClC,MAED,IAAOmwC,EAAOorF,EAAKprF,KAAMnwC,MAGjBk+H,EAAO/tF,EACbo9B,EAAMx4C,QAAS,GAAIhkB,QAASysH,EAAWC,GACvCF,EAASroG,KAAMo4C,EAAQ,GAAIttE,OAC1Bw+H,GAAah9G,EAAQuH,aAAgBvH,IACjC,CAKL,GAFA8rD,EAAOjgE,OAAQpR,EAAG,GAClByjC,EAAWw+F,EAAK/hI,QAAUuiI,GAAYpxD,IAChC5tC,EAEL,OADAlkC,EAAKsG,MAAOwlF,EAAS42C,GACd52C,EAGR,KACD,CAEF,CACD,CAWA,OAPE+9C,GAAYnoG,GAASwC,EAAUoI,IAChCo2F,EACA18G,GACCm6G,EACDr0C,GACC9lE,GAAW+7G,EAASroG,KAAMwK,IAAc8+F,GAAah9G,EAAQuH,aAAgBvH,GAExE8lE,CACR,CAtlBAi6C,GAAW5sG,UAAY4mG,EAAKr9G,QAAUq9G,EAAKe,QAC3Cf,EAAKgG,WAAa,IAAIA,GA2lBtBnJ,EAAQiI,WAAavG,EAAQxlG,MAAO,IAAKrmB,KAAMkuH,GAAYl3F,KAAM,MAAS60F,EAG1E+D,KAIAzF,EAAQ2H,aAAejB,IAAQ,SAAUlqH,GAGxC,OAA4E,EAArEA,EAAGkmH,wBAAyBl8F,EAASvW,cAAe,YAC5D,IAEA4mB,EAAOkB,KAAOA,GAGdlB,EAAO+wF,KAAM,KAAQ/wF,EAAO+wF,KAAK1D,QACjCrtF,EAAOq2F,OAASr2F,EAAOkxF,WAIvBhwF,GAAKjT,QAAUA,GACfiT,GAAKunE,OAASA,GACdvnE,GAAK0tF,YAAcA,GACnB1tF,GAAKsuF,SAAWA,GAEhBtuF,GAAKlC,OAASgB,EAAOksF,eACrBhrF,GAAKo1F,QAAUt2F,EAAOvT,KACtByU,GAAKq1F,MAAQv2F,EAAOorF,SACpBlqF,GAAKs1F,UAAYx2F,EAAO+wF,KACxB7vF,GAAKioF,QAAUnpF,EAAOmpF,QACtBjoF,GAAKgwF,WAAalxF,EAAOkxF,UAIxB,EAviED,GA0iEA,IAAIxoH,EAAM,SAAUqhH,EAAMrhH,EAAK+tH,GAC9B,IAAIjE,EAAU,GACbkE,OAAqB5+D,IAAV2+D,EAEZ,OAAU1M,EAAOA,EAAMrhH,KAA6B,IAAlBqhH,EAAKzuF,SACtC,GAAuB,IAAlByuF,EAAKzuF,SAAiB,CAC1B,GAAKo7F,GAAY12F,EAAQ+pF,GAAOjuG,GAAI26G,GACnC,MAEDjE,EAAQjmI,KAAMw9H,EACf,CAED,OAAOyI,CACR,EAGImE,EAAW,SAAUxqH,EAAG49G,GAG3B,IAFA,IAAIyI,EAAU,GAENrmH,EAAGA,EAAIA,EAAE6N,YACI,IAAf7N,EAAEmvB,UAAkBnvB,IAAM49G,GAC9ByI,EAAQjmI,KAAM4f,GAIhB,OAAOqmH,CACR,EAGIoE,EAAgB52F,EAAO+wF,KAAKl4F,MAAMq1F,aAElC2I,EAAe,kEAKnB,SAASC,EAAQvoF,EAAUwoF,EAAWtE,GACrC,OAAKz4H,EAAY+8H,GACT/2F,EAAOwqF,KAAMj8E,GAAU,SAAUw7E,EAAM/8H,GAC7C,QAAS+pI,EAAUrhI,KAAMq0H,EAAM/8H,EAAG+8H,KAAW0I,CAC9C,IAIIsE,EAAUz7F,SACP0E,EAAOwqF,KAAMj8E,GAAU,SAAUw7E,GACvC,OAASA,IAASgN,IAAgBtE,CACnC,IAIyB,kBAAdsE,EACJ/2F,EAAOwqF,KAAMj8E,GAAU,SAAUw7E,GACvC,OAASvrH,EAAQ9I,KAAMqhI,EAAWhN,IAAU,IAAQ0I,CACrD,IAIMzyF,EAAO5tC,OAAQ2kI,EAAWxoF,EAAUkkF,EAC5C,CAEAzyF,EAAO5tC,OAAS,SAAU2+H,EAAM5G,EAAOsI,GACtC,IAAI1I,EAAOI,EAAO,GAMlB,OAJKsI,IACJ1B,EAAO,QAAUA,EAAO,KAGH,IAAjB5G,EAAMj9H,QAAkC,IAAlB68H,EAAKzuF,SACxB0E,EAAOkB,KAAK8vF,gBAAiBjH,EAAMgH,GAAS,CAAEhH,GAAS,GAGxD/pF,EAAOkB,KAAKpb,QAASirG,EAAM/wF,EAAOwqF,KAAML,GAAO,SAAUJ,GAC/D,OAAyB,IAAlBA,EAAKzuF,QACb,IACD,EAEA0E,EAAOtzC,GAAG8U,OAAQ,CACjB0/B,KAAM,SAAUzQ,GACf,IAAIzjC,EAAGuc,EACNoa,EAAM33B,KAAKkB,OACXuM,EAAOzN,KAER,GAAyB,kBAAbykC,EACX,OAAOzkC,KAAKk+H,UAAWlqF,EAAQvP,GAAWr+B,QAAQ,WACjD,IAAMpF,EAAI,EAAGA,EAAI22B,EAAK32B,IACrB,GAAKgzC,EAAOP,SAAUhmC,EAAMzM,GAAKhB,MAChC,OAAO,CAGV,KAKD,IAFAud,EAAMvd,KAAKk+H,UAAW,IAEhBl9H,EAAI,EAAGA,EAAI22B,EAAK32B,IACrBgzC,EAAOkB,KAAMzQ,EAAUh3B,EAAMzM,GAAKuc,GAGnC,OAAOoa,EAAM,EAAIqc,EAAOkxF,WAAY3nH,GAAQA,CAC7C,EACAnX,OAAQ,SAAUq+B,GACjB,OAAOzkC,KAAKk+H,UAAW4M,EAAQ9qI,KAAMykC,GAAY,IAAI,GACtD,EACAgiG,IAAK,SAAUhiG,GACd,OAAOzkC,KAAKk+H,UAAW4M,EAAQ9qI,KAAMykC,GAAY,IAAI,GACtD,EACA3U,GAAI,SAAU2U,GACb,QAASqmG,EACR9qI,KAIoB,kBAAbykC,GAAyBmmG,EAAc3wG,KAAMwK,GACnDuP,EAAQvP,GACRA,GAAY,IACb,GACCvjC,MACH,IAQD,IAAI8pI,EAMH3I,EAAa,sCAEbxE,EAAO7pF,EAAOtzC,GAAGm9H,KAAO,SAAUp5F,EAAUle,EAASpO,GACpD,IAAI00B,EAAOkxF,EAGX,IAAMt5F,EACL,OAAOzkC,KAQR,GAHAmY,EAAOA,GAAQ6yH,EAGU,kBAAbvmG,EAAwB,CAanC,GAPCoI,EALsB,MAAlBpI,EAAU,IACsB,MAApCA,EAAUA,EAASvjC,OAAS,IAC5BujC,EAASvjC,QAAU,EAGX,CAAE,KAAMujC,EAAU,MAGlB49F,EAAWpZ,KAAMxkF,IAIrBoI,IAAWA,EAAO,IAAQtmB,EA6CxB,OAAMA,GAAWA,EAAQ4sB,QACtB5sB,GAAWpO,GAAO+8B,KAAMzQ,GAK1BzkC,KAAKF,YAAaymB,GAAU2uB,KAAMzQ,GAhDzC,GAAKoI,EAAO,GAAM,CAYjB,GAXAtmB,EAAUA,aAAmBytB,EAASztB,EAAS,GAAMA,EAIrDytB,EAAOoqF,MAAOp+H,KAAMg0C,EAAOi3F,UAC1Bp+F,EAAO,GACPtmB,GAAWA,EAAQ+oB,SAAW/oB,EAAQw7B,eAAiBx7B,EAAUod,GACjE,IAIIknG,EAAW5wG,KAAM4S,EAAO,KAASmH,EAAOxa,cAAejT,GAC3D,IAAMsmB,KAAStmB,EAGTvY,EAAYhO,KAAM6sC,IACtB7sC,KAAM6sC,GAAStmB,EAASsmB,IAIxB7sC,KAAKqiG,KAAMx1D,EAAOtmB,EAASsmB,IAK9B,OAAO7sC,IAGR,CASC,OARA+9H,EAAOp6F,EAASg2B,eAAgB9sB,EAAO,IAElCkxF,IAGJ/9H,KAAM,GAAM+9H,EACZ/9H,KAAKkB,OAAS,GAERlB,IAcV,CAAO,OAAKykC,EAAS6K,UACpBtvC,KAAM,GAAMykC,EACZzkC,KAAKkB,OAAS,EACPlB,MAIIgO,EAAYy2B,QACDqnC,IAAf3zD,EAAKsnF,MACXtnF,EAAKsnF,MAAOh7D,GAGZA,EAAUuP,GAGLA,EAAOkrF,UAAWz6F,EAAUzkC,KACpC,EAGD69H,EAAKnkG,UAAYsa,EAAOtzC,GAGxBsqI,EAAah3F,EAAQrQ,GAGrB,IAAIunG,EAAe,iCAGlBC,EAAmB,CAClBpyH,UAAU,EACVqyH,UAAU,EACVxgI,MAAM,EACNuL,MAAM,GAoFR,SAASk1H,EAASx7H,EAAK6M,GACtB,OAAU7M,EAAMA,EAAK6M,KAA4B,IAAjB7M,EAAIy/B,UACpC,OAAOz/B,CACR,CApFAmkC,EAAOtzC,GAAG8U,OAAQ,CACjBzN,IAAK,SAAUjD,GACd,IAAIwmI,EAAUt3F,EAAQlvC,EAAQ9E,MAC7BiB,EAAIqqI,EAAQpqI,OAEb,OAAOlB,KAAKoG,QAAQ,WAEnB,IADA,IAAIpF,EAAI,EACAA,EAAIC,EAAGD,IACd,GAAKgzC,EAAOP,SAAUzzC,KAAMsrI,EAAStqI,IACpC,OAAO,CAGV,GACD,EAEAsyC,QAAS,SAAUk3F,EAAWjkH,GAC7B,IAAI1W,EACH7O,EAAI,EACJC,EAAIjB,KAAKkB,OACTslI,EAAU,GACV8E,EAA+B,kBAAdd,GAA0Bx2F,EAAQw2F,GAGpD,IAAMI,EAAc3wG,KAAMuwG,GACzB,KAAQxpI,EAAIC,EAAGD,IACd,IAAM6O,EAAM7P,KAAMgB,GAAK6O,GAAOA,IAAQ0W,EAAS1W,EAAMA,EAAIie,WAGxD,GAAKje,EAAIy/B,SAAW,KAAQg8F,EAC3BA,EAAQjrI,MAAOwP,IAAS,EAGP,IAAjBA,EAAIy/B,UACH0E,EAAOkB,KAAK8vF,gBAAiBn1H,EAAK26H,IAAgB,CAEnDhE,EAAQjmI,KAAMsP,GACd,KACD,CAKH,OAAO7P,KAAKk+H,UAAWsI,EAAQtlI,OAAS,EAAI8yC,EAAOkxF,WAAYsB,GAAYA,EAC5E,EAGAnmI,MAAO,SAAU09H,GAGhB,OAAMA,EAKe,kBAATA,EACJvrH,EAAQ9I,KAAMsqC,EAAQ+pF,GAAQ/9H,KAAM,IAIrCwS,EAAQ9I,KAAM1J,KAGpB+9H,EAAK5qF,OAAS4qF,EAAM,GAAMA,GAZjB/9H,KAAM,IAAOA,KAAM,GAAI8tB,WAAe9tB,KAAK8iF,QAAQyoD,UAAUrqI,QAAU,CAclF,EAEAyI,IAAK,SAAU86B,EAAUle,GACxB,OAAOvmB,KAAKk+H,UACXlqF,EAAOkxF,WACNlxF,EAAOoqF,MAAOp+H,KAAKmD,MAAO6wC,EAAQvP,EAAUle,KAG/C,EAEAilH,QAAS,SAAU/mG,GAClB,OAAOzkC,KAAK2J,IAAiB,MAAZ86B,EAChBzkC,KAAKq+H,WAAar+H,KAAKq+H,WAAWj4H,OAAQq+B,GAE5C,IAQDuP,EAAOqF,KAAM,CACZj5C,OAAQ,SAAU29H,GACjB,IAAI39H,EAAS29H,EAAKjwG,WAClB,OAAO1tB,GAA8B,KAApBA,EAAOkvC,SAAkBlvC,EAAS,IACpD,EACAm4C,QAAS,SAAUwlF,GAClB,OAAOrhH,EAAKqhH,EAAM,aACnB,EACA0N,aAAc,SAAU1N,EAAM3yE,EAAIq/E,GACjC,OAAO/tH,EAAKqhH,EAAM,aAAc0M,EACjC,EACA7/H,KAAM,SAAUmzH,GACf,OAAOsN,EAAStN,EAAM,cACvB,EACA5nH,KAAM,SAAU4nH,GACf,OAAOsN,EAAStN,EAAM,kBACvB,EACA2N,QAAS,SAAU3N,GAClB,OAAOrhH,EAAKqhH,EAAM,cACnB,EACAwN,QAAS,SAAUxN,GAClB,OAAOrhH,EAAKqhH,EAAM,kBACnB,EACA4N,UAAW,SAAU5N,EAAM3yE,EAAIq/E,GAC9B,OAAO/tH,EAAKqhH,EAAM,cAAe0M,EAClC,EACAmB,UAAW,SAAU7N,EAAM3yE,EAAIq/E,GAC9B,OAAO/tH,EAAKqhH,EAAM,kBAAmB0M,EACtC,EACAE,SAAU,SAAU5M,GACnB,OAAO4M,GAAY5M,EAAKjwG,YAAc,CAAC,GAAImX,WAAY84F,EACxD,EACAhlH,SAAU,SAAUglH,GACnB,OAAO4M,EAAU5M,EAAK94F,WACvB,EACAmmG,SAAU,SAAUrN,GACnB,OAA6B,MAAxBA,EAAK8N,iBAKT1iI,EAAU40H,EAAK8N,iBAER9N,EAAK8N,iBAMRhqF,EAAUk8E,EAAM,cACpBA,EAAOA,EAAKr5F,SAAWq5F,GAGjB/pF,EAAOoqF,MAAO,GAAIL,EAAKt6B,YAC/B,IACE,SAAUxpF,EAAMvZ,GAClBszC,EAAOtzC,GAAIuZ,GAAS,SAAUwwH,EAAOhmG,GACpC,IAAI+hG,EAAUxyF,EAAO3tC,IAAKrG,KAAMU,EAAI+pI,GAuBpC,MArB0B,UAArBxwH,EAAKlG,OAAQ,KACjB0wB,EAAWgmG,GAGPhmG,GAAgC,kBAAbA,IACvB+hG,EAAUxyF,EAAO5tC,OAAQq+B,EAAU+hG,IAG/BxmI,KAAKkB,OAAS,IAGZiqI,EAAkBlxH,IACvB+5B,EAAOkxF,WAAYsB,GAIf0E,EAAajxG,KAAMhgB,IACvBusH,EAAQj/B,WAIHvnG,KAAKk+H,UAAWsI,EACxB,CACD,IACA,IAAIsF,EAAkB,oBAKtB,SAASC,EAAen2H,GACvB,IAAI2uG,EAAS,CAAC,EAId,OAHAvwE,EAAOqF,KAAMzjC,EAAQi3B,MAAOi/F,IAAmB,IAAI,SAAUttH,EAAGkiB,GAC/D6jF,EAAQ7jF,IAAS,CAClB,IACO6jF,CACR,CA2NA,SAASynB,EAAUxpI,GAClB,OAAOA,CACR,CACA,SAASypI,EAASC,GACjB,MAAMA,CACP,CAEA,SAASC,EAAYppI,EAAOmO,EAASuwD,EAAQ2qE,GAC5C,IAAI9hI,EAEJ,IAGMvH,GAASiL,EAAc1D,EAASvH,EAAMu7G,SAC1Ch0G,EAAOZ,KAAM3G,GAAQ8H,KAAMqG,GAAUm7H,KAAM5qE,GAGhC1+D,GAASiL,EAAc1D,EAASvH,EAAMuO,MACjDhH,EAAOZ,KAAM3G,EAAOmO,EAASuwD,GAQ7BvwD,EAAQrK,WAAOilE,EAAW,CAAE/oE,GAAQgR,MAAOq4H,GAM7C,CAAE,MAAQrpI,GAIT0+D,EAAO56D,WAAOilE,EAAW,CAAE/oE,GAC5B,CACD,CAzOAixC,EAAOs4F,UAAY,SAAU12H,GAI5BA,EAA6B,kBAAZA,EAChBm2H,EAAen2H,GACfo+B,EAAOx+B,OAAQ,CAAC,EAAGI,GAEpB,IACC22H,EAGAC,EAGAC,EAGAC,EAGAC,EAAO,GAGPh8H,EAAQ,GAGRi8H,GAAe,EAGfC,EAAO,WAQN,IALAH,EAASA,GAAU92H,EAAQwiB,KAI3Bq0G,EAAQF,GAAS,EACT57H,EAAMzP,OAAQ0rI,GAAe,EAAI,CACxCJ,EAAS77H,EAAM/M,QACf,QAAUgpI,EAAcD,EAAKzrI,QAGmC,IAA1DyrI,EAAMC,GAAc/lI,MAAO2lI,EAAQ,GAAKA,EAAQ,KACpD52H,EAAQk3H,cAGRF,EAAcD,EAAKzrI,OACnBsrI,GAAS,EAGZ,CAGM52H,EAAQ42H,SACbA,GAAS,GAGVD,GAAS,EAGJG,IAIHC,EADIH,EACG,GAIA,GAGV,EAGA/+H,EAAO,CAGN9D,IAAK,WA2BJ,OA1BKgjI,IAGCH,IAAWD,IACfK,EAAcD,EAAKzrI,OAAS,EAC5ByP,EAAMpQ,KAAMisI,IAGb,SAAW7iI,EAAKlD,GACfutC,EAAOqF,KAAM5yC,GAAM,SAAU+X,EAAG7B,GAC1B3O,EAAY2O,GACV/G,EAAQy0H,QAAW58H,EAAK1F,IAAK4U,IAClCgwH,EAAKpsI,KAAMoc,GAEDA,GAAOA,EAAIzb,QAA4B,WAAlBy8H,EAAQhhH,IAGxChT,EAAKgT,EAEP,GACA,CAZD,CAYKwL,WAEAqkH,IAAWD,GACfM,KAGK7sI,IACR,EAGAqsB,OAAQ,WAYP,OAXA2nB,EAAOqF,KAAMlxB,WAAW,SAAU3J,EAAG7B,GACpC,IAAItc,EACJ,OAAUA,EAAQ2zC,EAAOmrF,QAASxiH,EAAKgwH,EAAMtsI,KAAa,EACzDssI,EAAKv6H,OAAQ/R,EAAO,GAGfA,GAASusI,GACbA,GAGH,IACO5sI,IACR,EAIA+H,IAAK,SAAUrH,GACd,OAAOA,EACNszC,EAAOmrF,QAASz+H,EAAIisI,IAAU,EAC9BA,EAAKzrI,OAAS,CAChB,EAGA+lI,MAAO,WAIN,OAHK0F,IACJA,EAAO,IAED3sI,IACR,EAKA24D,QAAS,WAGR,OAFA+zE,EAAS/7H,EAAQ,GACjBg8H,EAAOH,EAAS,GACTxsI,IACR,EACA0zC,SAAU,WACT,OAAQi5F,CACT,EAKAI,KAAM,WAKL,OAJAL,EAAS/7H,EAAQ,GACX67H,GAAWD,IAChBI,EAAOH,EAAS,IAEVxsI,IACR,EACA0sI,OAAQ,WACP,QAASA,CACV,EAGAM,SAAU,SAAUzmH,EAAS9f,GAS5B,OARMimI,IACLjmI,EAAOA,GAAQ,GACfA,EAAO,CAAE8f,EAAS9f,EAAKsN,MAAQtN,EAAKsN,QAAUtN,GAC9CkK,EAAMpQ,KAAMkG,GACN8lI,GACLM,KAGK7sI,IACR,EAGA6sI,KAAM,WAEL,OADAp/H,EAAKu/H,SAAUhtI,KAAMmoB,WACdnoB,IACR,EAGAysI,MAAO,WACN,QAASA,CACV,GAGF,OAAOh/H,CACR,EA2CAumC,EAAOx+B,OAAQ,CAEdy3H,SAAU,SAAUC,GACnB,IAAIC,EAAS,CAIX,CAAE,SAAU,WAAYn5F,EAAOs4F,UAAW,UACzCt4F,EAAOs4F,UAAW,UAAY,GAC/B,CAAE,UAAW,OAAQt4F,EAAOs4F,UAAW,eACtCt4F,EAAOs4F,UAAW,eAAiB,EAAG,YACvC,CAAE,SAAU,OAAQt4F,EAAOs4F,UAAW,eACrCt4F,EAAOs4F,UAAW,eAAiB,EAAG,aAExC/rH,EAAQ,UACR+9F,EAAU,CACT/9F,MAAO,WACN,OAAOA,CACR,EACA6sH,OAAQ,WAEP,OADAC,EAASxiI,KAAMsd,WAAYkkH,KAAMlkH,WAC1BnoB,IACR,EACA,MAAS,SAAUU,GAClB,OAAO49G,EAAQhtG,KAAM,KAAM5Q,EAC5B,EAGA4sI,KAAM,WACL,IAAI38F,EAAMxoB,UAEV,OAAO6rB,EAAOi5F,UAAU,SAAUM,GACjCv5F,EAAOqF,KAAM8zF,GAAQ,SAAU/hF,EAAIsrB,GAGlC,IAAIh2E,EAAKsN,EAAY2iC,EAAK+lC,EAAO,MAAW/lC,EAAK+lC,EAAO,IAKxD22D,EAAU32D,EAAO,KAAO,WACvB,IAAI82D,EAAW9sI,GAAMA,EAAGmG,MAAO7G,KAAMmoB,WAChCqlH,GAAYx/H,EAAYw/H,EAASlvB,SACrCkvB,EAASlvB,UACPG,SAAU8uB,EAASE,QACnB5iI,KAAM0iI,EAASr8H,SACfm7H,KAAMkB,EAAS9rE,QAEjB8rE,EAAU72D,EAAO,GAAM,QACtB12E,KACAU,EAAK,CAAE8sI,GAAarlH,UAGvB,GACD,IACAwoB,EAAM,IACP,IAAI2tE,SACL,EACAhtG,KAAM,SAAU2uG,EAAaC,EAAYwtB,GACxC,IAAIC,EAAW,EACf,SAASz8H,EAASooB,EAAO+zG,EAAU/4H,EAASs5H,GAC3C,OAAO,WACN,IAAInrB,EAAOziH,KACVyG,EAAO0hB,UACP0lH,EAAa,WACZ,IAAIL,EAAUl8H,EAKd,KAAKgoB,EAAQq0G,GAAb,CAQA,GAJAH,EAAWl5H,EAAQzN,MAAO47G,EAAMh8G,GAI3B+mI,IAAaH,EAAS/uB,UAC1B,MAAM,IAAI9mE,UAAW,4BAOtBlmC,EAAOk8H,IAKgB,kBAAbA,GACY,oBAAbA,IACRA,EAASl8H,KAGLtD,EAAYsD,GAGXs8H,EACJt8H,EAAK5H,KACJ8jI,EACAt8H,EAASy8H,EAAUN,EAAUrB,EAAU4B,GACvC18H,EAASy8H,EAAUN,EAAUpB,EAAS2B,KAOvCD,IAEAr8H,EAAK5H,KACJ8jI,EACAt8H,EAASy8H,EAAUN,EAAUrB,EAAU4B,GACvC18H,EAASy8H,EAAUN,EAAUpB,EAAS2B,GACtC18H,EAASy8H,EAAUN,EAAUrB,EAC5BqB,EAASS,eASPx5H,IAAY03H,IAChBvpB,OAAO32C,EACPrlE,EAAO,CAAE+mI,KAKRI,GAAWP,EAASU,aAAetrB,EAAMh8G,GA7D5C,CA+DD,EAGA8oB,EAAUq+G,EACTC,EACA,WACC,IACCA,GACD,CAAE,MAAQrrG,GAEJwR,EAAOi5F,SAASe,eACpBh6F,EAAOi5F,SAASe,cAAexrG,EAC9BjT,EAAQ/e,OAML8oB,EAAQ,GAAKq0G,IAIZr5H,IAAY23H,IAChBxpB,OAAO32C,EACPrlE,EAAO,CAAE+7B,IAGV6qG,EAASY,WAAYxrB,EAAMh8G,GAE7B,CACD,EAMG6yB,EACJ/J,KAKKykB,EAAOi5F,SAASiB,aACpB3+G,EAAQ/e,MAAQwjC,EAAOi5F,SAASiB,eAMrBl6F,EAAOi5F,SAASkB,eAC3B5+G,EAAQ/e,MAAQwjC,EAAOi5F,SAASkB,gBAEjCxlG,EAAOV,WAAY1Y,GAErB,CACD,CAEA,OAAOykB,EAAOi5F,UAAU,SAAUM,GAGjCJ,EAAQ,GAAK,GAAIxjI,IAChBuH,EACC,EACAq8H,EACAv/H,EAAY0/H,GACXA,EACA1B,EACDuB,EAASO,aAKXX,EAAQ,GAAK,GAAIxjI,IAChBuH,EACC,EACAq8H,EACAv/H,EAAYiyG,GACXA,EACA+rB,IAKHmB,EAAQ,GAAK,GAAIxjI,IAChBuH,EACC,EACAq8H,EACAv/H,EAAYkyG,GACXA,EACA+rB,GAGJ,IAAI3tB,SACL,EAIAA,QAAS,SAAUt3G,GAClB,OAAc,MAAPA,EAAcgtC,EAAOx+B,OAAQxO,EAAKs3G,GAAYA,CACtD,GAED+uB,EAAW,CAAC,EAkEb,OA/DAr5F,EAAOqF,KAAM8zF,GAAQ,SAAUnsI,EAAG01E,GACjC,IAAIi2D,EAAOj2D,EAAO,GACjB03D,EAAc13D,EAAO,GAKtB4nC,EAAS5nC,EAAO,IAAQi2D,EAAKhjI,IAGxBykI,GACJzB,EAAKhjI,KACJ,WAIC4W,EAAQ6tH,CACT,GAIAjB,EAAQ,EAAInsI,GAAK,GAAI23D,QAIrBw0E,EAAQ,EAAInsI,GAAK,GAAI23D,QAGrBw0E,EAAQ,GAAK,GAAIJ,KAGjBI,EAAQ,GAAK,GAAIJ,MAOnBJ,EAAKhjI,IAAK+sE,EAAO,GAAIm2D,MAKrBQ,EAAU32D,EAAO,IAAQ,WAExB,OADA22D,EAAU32D,EAAO,GAAM,QAAU12E,OAASqtI,OAAWvhE,EAAY9rE,KAAMmoB,WAChEnoB,IACR,EAKAqtI,EAAU32D,EAAO,GAAM,QAAWi2D,EAAKK,QACxC,IAGA1uB,EAAQA,QAAS+uB,GAGZH,GACJA,EAAKxjI,KAAM2jI,EAAUA,GAIfA,CACR,EAGAgB,KAAM,SAAUC,GACf,IAGCC,EAAYpmH,UAAUjnB,OAGtBF,EAAIutI,EAGJC,EAAkBhxH,MAAOxc,GACzBytI,EAAgB16H,EAAMrK,KAAMye,WAG5BumH,EAAU16F,EAAOi5F,WAGjB0B,EAAa,SAAU3tI,GACtB,OAAO,SAAU+B,GAChByrI,EAAiBxtI,GAAMhB,KACvByuI,EAAeztI,GAAMmnB,UAAUjnB,OAAS,EAAI6S,EAAMrK,KAAMye,WAAcplB,IAC5DwrI,GACTG,EAAQX,YAAaS,EAAiBC,EAExC,CACD,EAGD,GAAKF,GAAa,IACjBpC,EAAYmC,EAAaI,EAAQ7jI,KAAM8jI,EAAY3tI,IAAMkQ,QAASw9H,EAAQjtE,QACxE8sE,GAGuB,YAApBG,EAAQnuH,SACZvS,EAAYygI,EAAeztI,IAAOytI,EAAeztI,GAAIsQ,OAErD,OAAOo9H,EAAQp9H,OAKjB,MAAQtQ,IACPmrI,EAAYsC,EAAeztI,GAAK2tI,EAAY3tI,GAAK0tI,EAAQjtE,QAG1D,OAAOitE,EAAQpwB,SAChB,IAMD,IAAIswB,GAAc,yDAKlB56F,EAAOi5F,SAASe,cAAgB,SAAUx9H,EAAOq+H,GAI3ClmG,EAAOp4B,SAAWo4B,EAAOp4B,QAAQ8uF,MAAQ7uF,GAASo+H,GAAY30G,KAAMzpB,EAAMyJ,OAC9E0uB,EAAOp4B,QAAQ8uF,KAAM,8BAAgC7uF,EAAMs+H,QAC1Dt+H,EAAMy8F,MAAO4hC,EAEhB,EAKA76F,EAAO+6F,eAAiB,SAAUv+H,GACjCm4B,EAAOV,YAAY,WAClB,MAAMz3B,CACP,GACD,EAMA,IAAIw+H,GAAYh7F,EAAOi5F,WAkDvB,SAASgC,KACRtrG,EAAS4E,oBAAqB,mBAAoB0mG,IAClDtmG,EAAOJ,oBAAqB,OAAQ0mG,IACpCj7F,EAAOyrD,OACR,CApDAzrD,EAAOtzC,GAAG++F,MAAQ,SAAU/+F,GAY3B,OAVAsuI,GACE19H,KAAM5Q,GAKN+O,OAAO,SAAUe,GACjBwjC,EAAO+6F,eAAgBv+H,EACxB,IAEMxQ,IACR,EAEAg0C,EAAOx+B,OAAQ,CAGdspH,SAAS,EAIToQ,UAAW,EAGXzvC,MAAO,SAAU0vC,KAGF,IAATA,IAAkBn7F,EAAOk7F,UAAYl7F,EAAO8qF,WAKjD9qF,EAAO8qF,SAAU,GAGH,IAATqQ,KAAmBn7F,EAAOk7F,UAAY,GAK3CF,GAAUjB,YAAapqG,EAAU,CAAEqQ,IACpC,IAGDA,EAAOyrD,MAAMnuF,KAAO09H,GAAU19H,KAaD,aAAxBqyB,EAAS0Q,YACa,YAAxB1Q,EAAS0Q,aAA6B1Q,EAASiQ,gBAAgBw7F,SAGjEzmG,EAAOV,WAAY+L,EAAOyrD,QAK1B97D,EAAS8E,iBAAkB,mBAAoBwmG,IAG/CtmG,EAAOF,iBAAkB,OAAQwmG,KAQlC,IAAII,GAAS,SAAUlR,EAAOz9H,EAAIsE,EAAKjC,EAAOusI,EAAWC,EAAUziI,GAClE,IAAI9L,EAAI,EACP22B,EAAMwmG,EAAMj9H,OACZsuI,EAAc,MAAPxqI,EAGR,GAAuB,WAAlB24H,EAAQ34H,GAEZ,IAAMhE,KADNsuI,GAAY,EACDtqI,EACVqqI,GAAQlR,EAAOz9H,EAAIM,EAAGgE,EAAKhE,IAAK,EAAMuuI,EAAUziI,QAI3C,QAAeg/D,IAAV/oE,IACXusI,GAAY,EAENthI,EAAYjL,KACjB+J,GAAM,GAGF0iI,IAGC1iI,GACJpM,EAAGgJ,KAAMy0H,EAAOp7H,GAChBrC,EAAK,OAIL8uI,EAAO9uI,EACPA,EAAK,SAAUq9H,EAAMrrF,EAAM3vC,GAC1B,OAAOysI,EAAK9lI,KAAMsqC,EAAQ+pF,GAAQh7H,EACnC,IAIGrC,GACJ,KAAQM,EAAI22B,EAAK32B,IAChBN,EACCy9H,EAAOn9H,GAAKgE,EAAK8H,EAChB/J,EACAA,EAAM2G,KAAMy0H,EAAOn9H,GAAKA,EAAGN,EAAIy9H,EAAOn9H,GAAKgE,KAMhD,OAAKsqI,EACGnR,EAIHqR,EACG9uI,EAAGgJ,KAAMy0H,GAGVxmG,EAAMj3B,EAAIy9H,EAAO,GAAKn5H,GAAQuqI,CACtC,EAIIE,GAAY,QACfC,GAAa,YAGd,SAASC,GAAYC,EAAM19B,GAC1B,OAAOA,EAAO1hE,aACf,CAKA,SAASq/F,GAAWpzC,GACnB,OAAOA,EAAO3mF,QAAS25H,GAAW,OAAQ35H,QAAS45H,GAAYC,GAChE,CACA,IAAIG,GAAa,SAAU/jH,GAQ1B,OAA0B,IAAnBA,EAAMujB,UAAqC,IAAnBvjB,EAAMujB,YAAsBvjB,EAAMujB,QAClE,EAKA,SAASygG,KACR/vI,KAAK6+H,QAAU7qF,EAAO6qF,QAAUkR,GAAKl9H,KACtC,CAEAk9H,GAAKl9H,IAAM,EAEXk9H,GAAKr2G,UAAY,CAEhB3kB,MAAO,SAAUgX,GAGhB,IAAIhpB,EAAQgpB,EAAO/rB,KAAK6+H,SA4BxB,OAzBM97H,IACLA,EAAQ,CAAC,EAKJ+sI,GAAY/jH,KAIXA,EAAMujB,SACVvjB,EAAO/rB,KAAK6+H,SAAY97H,EAMxBmD,OAAO+a,eAAgB8K,EAAO/rB,KAAK6+H,QAAS,CAC3C97H,MAAOA,EACPygB,cAAc,MAMXzgB,CACR,EACAgB,IAAK,SAAUgoB,EAAOzU,EAAMvU,GAC3B,IAAImnB,EACHnV,EAAQ/U,KAAK+U,MAAOgX,GAIrB,GAAqB,kBAATzU,EACXvC,EAAO86H,GAAWv4H,IAAWvU,OAM7B,IAAMmnB,KAAQ5S,EACbvC,EAAO86H,GAAW3lH,IAAW5S,EAAM4S,GAGrC,OAAOnV,CACR,EACA5R,IAAK,SAAU4oB,EAAO/mB,GACrB,YAAe8mE,IAAR9mE,EACNhF,KAAK+U,MAAOgX,GAGZA,EAAO/rB,KAAK6+H,UAAa9yG,EAAO/rB,KAAK6+H,SAAWgR,GAAW7qI,GAC7D,EACAqqI,OAAQ,SAAUtjH,EAAO/mB,EAAKjC,GAa7B,YAAa+oE,IAAR9mE,GACCA,GAAsB,kBAARA,QAAgC8mE,IAAV/oE,EAElC/C,KAAKmD,IAAK4oB,EAAO/mB,IASzBhF,KAAK+D,IAAKgoB,EAAO/mB,EAAKjC,QAIL+oE,IAAV/oE,EAAsBA,EAAQiC,EACtC,EACAqnB,OAAQ,SAAUN,EAAO/mB,GACxB,IAAIhE,EACH+T,EAAQgX,EAAO/rB,KAAK6+H,SAErB,QAAe/yD,IAAV/2D,EAAL,CAIA,QAAa+2D,IAAR9mE,EAAoB,CAGnBwY,MAAMlY,QAASN,GAInBA,EAAMA,EAAIqB,IAAKwpI,KAEf7qI,EAAM6qI,GAAW7qI,GAIjBA,EAAMA,KAAO+P,EACZ,CAAE/P,GACAA,EAAI6nC,MAAOi/F,IAAmB,IAGlC9qI,EAAIgE,EAAI9D,OAER,MAAQF,WACA+T,EAAO/P,EAAKhE,GAErB,OAGa8qE,IAAR9mE,GAAqBgvC,EAAOgrF,cAAejqH,MAM1CgX,EAAMujB,SACVvjB,EAAO/rB,KAAK6+H,cAAY/yD,SAEjB//C,EAAO/rB,KAAK6+H,SArCrB,CAwCD,EACAmR,QAAS,SAAUjkH,GAClB,IAAIhX,EAAQgX,EAAO/rB,KAAK6+H,SACxB,YAAiB/yD,IAAV/2D,IAAwBi/B,EAAOgrF,cAAejqH,EACtD,GAED,IAAIk7H,GAAW,IAAIF,GAEfG,GAAW,IAAIH,GAcfI,GAAS,gCACZC,GAAa,SAEd,SAASC,GAAS/4H,GACjB,MAAc,SAATA,GAIS,UAATA,IAIS,SAATA,EACG,KAIHA,KAAUA,EAAO,IACbA,EAGJ64H,GAAOl2G,KAAM3iB,GACVi7B,KAAKgE,MAAOj/B,GAGbA,EACR,CAEA,SAASg5H,GAAUvS,EAAM/4H,EAAKsS,GAC7B,IAAI2C,EAIJ,QAAc6xD,IAATx0D,GAAwC,IAAlBymH,EAAKzuF,SAI/B,GAHAr1B,EAAO,QAAUjV,EAAI8Q,QAASs6H,GAAY,OAAQr6H,cAClDuB,EAAOymH,EAAK9xF,aAAchyB,GAEL,kBAAT3C,EAAoB,CAC/B,IACCA,EAAO+4H,GAAS/4H,EACjB,CAAE,MAAQkrB,GAAK,CAGf0tG,GAASnsI,IAAKg6H,EAAM/4H,EAAKsS,EAC1B,MACCA,OAAOw0D,EAGT,OAAOx0D,CACR,CAEA08B,EAAOx+B,OAAQ,CACdw6H,QAAS,SAAUjS,GAClB,OAAOmS,GAASF,QAASjS,IAAUkS,GAASD,QAASjS,EACtD,EAEAzmH,KAAM,SAAUymH,EAAM9jH,EAAM3C,GAC3B,OAAO44H,GAASb,OAAQtR,EAAM9jH,EAAM3C,EACrC,EAEAi5H,WAAY,SAAUxS,EAAM9jH,GAC3Bi2H,GAAS7jH,OAAQ0xG,EAAM9jH,EACxB,EAIAk2F,MAAO,SAAU4tB,EAAM9jH,EAAM3C,GAC5B,OAAO24H,GAASZ,OAAQtR,EAAM9jH,EAAM3C,EACrC,EAEAk5H,YAAa,SAAUzS,EAAM9jH,GAC5Bg2H,GAAS5jH,OAAQ0xG,EAAM9jH,EACxB,IAGD+5B,EAAOtzC,GAAG8U,OAAQ,CACjB8B,KAAM,SAAUtS,EAAKjC,GACpB,IAAI/B,EAAGiZ,EAAM3C,EACZymH,EAAO/9H,KAAM,GACbmX,EAAQ4mH,GAAQA,EAAKv7E,WAGtB,QAAaspB,IAAR9mE,EAAoB,CACxB,GAAKhF,KAAKkB,SACToW,EAAO44H,GAAS/sI,IAAK46H,GAEE,IAAlBA,EAAKzuF,WAAmB2gG,GAAS9sI,IAAK46H,EAAM,iBAAmB,CACnE/8H,EAAImW,EAAMjW,OACV,MAAQF,IAIFmW,EAAOnW,KACXiZ,EAAO9C,EAAOnW,GAAIiZ,KACe,IAA5BA,EAAKzH,QAAS,WAClByH,EAAO41H,GAAW51H,EAAKlG,MAAO,IAC9Bu8H,GAAUvS,EAAM9jH,EAAM3C,EAAM2C,MAI/Bg2H,GAASlsI,IAAKg6H,EAAM,gBAAgB,EACrC,CAGD,OAAOzmH,CACR,CAGA,MAAoB,kBAARtS,EACJhF,KAAKq5C,MAAM,WACjB62F,GAASnsI,IAAK/D,KAAMgF,EACrB,IAGMqqI,GAAQrvI,MAAM,SAAU+C,GAC9B,IAAIuU,EAOJ,GAAKymH,QAAkBjyD,IAAV/oE,EAKZ,OADAuU,EAAO44H,GAAS/sI,IAAK46H,EAAM/4H,QACb8mE,IAATx0D,EACGA,GAKRA,EAAOg5H,GAAUvS,EAAM/4H,QACT8mE,IAATx0D,EACGA,OAIR,GAIDtX,KAAKq5C,MAAM,WAGV62F,GAASnsI,IAAK/D,KAAMgF,EAAKjC,EAC1B,GACD,GAAG,KAAMA,EAAOolB,UAAUjnB,OAAS,EAAG,MAAM,EAC7C,EAEAqvI,WAAY,SAAUvrI,GACrB,OAAOhF,KAAKq5C,MAAM,WACjB62F,GAAS7jH,OAAQrsB,KAAMgF,EACxB,GACD,IAIDgvC,EAAOx+B,OAAQ,CACd7E,MAAO,SAAUotH,EAAMh5H,EAAMuS,GAC5B,IAAI3G,EAEJ,GAAKotH,EAYJ,OAXAh5H,GAASA,GAAQ,MAAS,QAC1B4L,EAAQs/H,GAAS9sI,IAAK46H,EAAMh5H,GAGvBuS,KACE3G,GAAS6M,MAAMlY,QAASgS,GAC7B3G,EAAQs/H,GAASZ,OAAQtR,EAAMh5H,EAAMivC,EAAOkrF,UAAW5nH,IAEvD3G,EAAMpQ,KAAM+W,IAGP3G,GAAS,EAElB,EAEA8/H,QAAS,SAAU1S,EAAMh5H,GACxBA,EAAOA,GAAQ,KAEf,IAAI4L,EAAQqjC,EAAOrjC,MAAOotH,EAAMh5H,GAC/B2rI,EAAc//H,EAAMzP,OACpBR,EAAKiQ,EAAM/M,QACXuX,EAAQ64B,EAAO28F,YAAa5S,EAAMh5H,GAClC6F,EAAO,WACNopC,EAAOy8F,QAAS1S,EAAMh5H,EACvB,EAGW,eAAPrE,IACJA,EAAKiQ,EAAM/M,QACX8sI,KAGIhwI,IAIU,OAATqE,GACJ4L,EAAM6K,QAAS,qBAITL,EAAMra,KACbJ,EAAGgJ,KAAMq0H,EAAMnzH,EAAMuQ,KAGhBu1H,GAAev1H,GACpBA,EAAM8rH,MAAM4F,MAEd,EAGA8D,YAAa,SAAU5S,EAAMh5H,GAC5B,IAAIC,EAAMD,EAAO,aACjB,OAAOkrI,GAAS9sI,IAAK46H,EAAM/4H,IAASirI,GAASZ,OAAQtR,EAAM/4H,EAAK,CAC/DiiI,MAAOjzF,EAAOs4F,UAAW,eAAgB3iI,KAAK,WAC7CsmI,GAAS5jH,OAAQ0xG,EAAM,CAAEh5H,EAAO,QAASC,GAC1C,KAEF,IAGDgvC,EAAOtzC,GAAG8U,OAAQ,CACjB7E,MAAO,SAAU5L,EAAMuS,GACtB,IAAIxJ,EAAS,EAQb,MANqB,kBAAT/I,IACXuS,EAAOvS,EACPA,EAAO,KACP+I,KAGIqa,UAAUjnB,OAAS4M,EAChBkmC,EAAOrjC,MAAO3Q,KAAM,GAAK+E,QAGjB+mE,IAATx0D,EACNtX,KACAA,KAAKq5C,MAAM,WACV,IAAI1oC,EAAQqjC,EAAOrjC,MAAO3Q,KAAM+E,EAAMuS,GAGtC08B,EAAO28F,YAAa3wI,KAAM+E,GAEZ,OAATA,GAAgC,eAAf4L,EAAO,IAC5BqjC,EAAOy8F,QAASzwI,KAAM+E,EAExB,GACF,EACA0rI,QAAS,SAAU1rI,GAClB,OAAO/E,KAAKq5C,MAAM,WACjBrF,EAAOy8F,QAASzwI,KAAM+E,EACvB,GACD,EACA6rI,WAAY,SAAU7rI,GACrB,OAAO/E,KAAK2Q,MAAO5L,GAAQ,KAAM,GAClC,EAIAu5G,QAAS,SAAUv5G,EAAMiC,GACxB,IAAIyqC,EACH+5B,EAAQ,EACRqlE,EAAQ78F,EAAOi5F,WACf1qF,EAAWviD,KACXgB,EAAIhB,KAAKkB,OACTgQ,EAAU,aACCs6D,GACTqlE,EAAM9C,YAAaxrF,EAAU,CAAEA,GAEjC,EAEoB,kBAATx9C,IACXiC,EAAMjC,EACNA,OAAO+mE,GAER/mE,EAAOA,GAAQ,KAEf,MAAQ/D,IACPywC,EAAMw+F,GAAS9sI,IAAKo/C,EAAUvhD,GAAK+D,EAAO,cACrC0sC,GAAOA,EAAIw1F,QACfz7D,IACA/5B,EAAIw1F,MAAMt9H,IAAKuH,IAIjB,OADAA,IACO2/H,EAAMvyB,QAASt3G,EACvB,IAED,IAAI8pI,GAAS,sCAAwCzzH,OAEjD0zH,GAAU,IAAIl3G,OAAQ,iBAAmBi3G,GAAO,cAAe,KAG/DE,GAAY,CAAE,MAAO,QAAS,SAAU,QAExCp9F,GAAkBjQ,EAASiQ,gBAI1Bq9F,GAAa,SAAUlT,GACzB,OAAO/pF,EAAOP,SAAUsqF,EAAKh8E,cAAeg8E,EAC7C,EACAmT,GAAW,CAAEA,UAAU,GAOnBt9F,GAAgBE,cACpBm9F,GAAa,SAAUlT,GACtB,OAAO/pF,EAAOP,SAAUsqF,EAAKh8E,cAAeg8E,IAC3CA,EAAKjqF,YAAao9F,MAAenT,EAAKh8E,aACxC,GAEF,IAAIovF,GAAqB,SAAUpT,EAAMpkH,GAOvC,OAHAokH,EAAOpkH,GAAMokH,EAGiB,SAAvBA,EAAK5sG,MAAMmZ,SACM,KAAvByzF,EAAK5sG,MAAMmZ,SAMX2mG,GAAYlT,IAEsB,SAAlC/pF,EAAOvO,IAAKs4F,EAAM,UACpB,EAID,SAASqT,GAAWrT,EAAM7zG,EAAMmnH,EAAYC,GAC3C,IAAIC,EAAUzgC,EACb0gC,EAAgB,GAChBC,EAAeH,EACd,WACC,OAAOA,EAAMzhI,KACd,EACA,WACC,OAAOmkC,EAAOvO,IAAKs4F,EAAM7zG,EAAM,GAChC,EACDwnH,EAAUD,IACVj9D,EAAO68D,GAAcA,EAAY,KAASr9F,EAAO29F,UAAWznH,GAAS,GAAK,MAG1E0nH,EAAgB7T,EAAKzuF,WAClB0E,EAAO29F,UAAWznH,IAAmB,OAATsqD,IAAkBk9D,IAChDX,GAAQ9nB,KAAMj1E,EAAOvO,IAAKs4F,EAAM7zG,IAElC,GAAK0nH,GAAiBA,EAAe,KAAQp9D,EAAO,CAInDk9D,GAAoB,EAGpBl9D,EAAOA,GAAQo9D,EAAe,GAG9BA,GAAiBF,GAAW,EAE5B,MAAQF,IAIPx9F,EAAO7iB,MAAO4sG,EAAM7zG,EAAM0nH,EAAgBp9D,IACnC,EAAIs8B,IAAY,GAAMA,EAAQ2gC,IAAiBC,GAAW,MAAW,IAC3EF,EAAgB,GAEjBI,GAAgC9gC,EAIjC8gC,GAAgC,EAChC59F,EAAO7iB,MAAO4sG,EAAM7zG,EAAM0nH,EAAgBp9D,GAG1C68D,EAAaA,GAAc,EAC5B,CAeA,OAbKA,IACJO,GAAiBA,IAAkBF,GAAW,EAG9CH,EAAWF,EAAY,GACtBO,GAAkBP,EAAY,GAAM,GAAMA,EAAY,IACrDA,EAAY,GACTC,IACJA,EAAM98D,KAAOA,EACb88D,EAAM5/H,MAAQkgI,EACdN,EAAM3/H,IAAM4/H,IAGPA,CACR,CAGA,IAAIM,GAAoB,CAAC,EAEzB,SAASC,GAAmB/T,GAC3B,IAAIrR,EACHhpF,EAAMq6F,EAAKh8E,cACXF,EAAWk8E,EAAKl8E,SAChBvX,EAAUunG,GAAmBhwF,GAE9B,OAAKvX,IAILoiF,EAAOhpF,EAAIiG,KAAKzE,YAAaxB,EAAItW,cAAey0B,IAChDvX,EAAU0J,EAAOvO,IAAKinF,EAAM,WAE5BA,EAAK5+F,WAAWiW,YAAa2oF,GAEZ,SAAZpiF,IACJA,EAAU,SAEXunG,GAAmBhwF,GAAavX,EAEzBA,EACR,CAEA,SAASynG,GAAUxvF,EAAUrC,GAO5B,IANA,IAAI5V,EAASyzF,EACZ14H,EAAS,GACThF,EAAQ,EACRa,EAASqhD,EAASrhD,OAGXb,EAAQa,EAAQb,IACvB09H,EAAOx7E,EAAUliD,GACX09H,EAAK5sG,QAIXmZ,EAAUyzF,EAAK5sG,MAAMmZ,QAChB4V,GAKa,SAAZ5V,IACJjlC,EAAQhF,GAAU4vI,GAAS9sI,IAAK46H,EAAM,YAAe,KAC/C14H,EAAQhF,KACb09H,EAAK5sG,MAAMmZ,QAAU,KAGK,KAAvByzF,EAAK5sG,MAAMmZ,SAAkB6mG,GAAoBpT,KACrD14H,EAAQhF,GAAUyxI,GAAmB/T,KAGrB,SAAZzzF,IACJjlC,EAAQhF,GAAU,OAGlB4vI,GAASlsI,IAAKg6H,EAAM,UAAWzzF,KAMlC,IAAMjqC,EAAQ,EAAGA,EAAQa,EAAQb,IACR,MAAnBgF,EAAQhF,KACZkiD,EAAUliD,GAAQ8wB,MAAMmZ,QAAUjlC,EAAQhF,IAI5C,OAAOkiD,CACR,CAEAvO,EAAOtzC,GAAG8U,OAAQ,CACjB0qC,KAAM,WACL,OAAO6xF,GAAU/xI,MAAM,EACxB,EACAigD,KAAM,WACL,OAAO8xF,GAAU/xI,KAClB,EACAw5C,OAAQ,SAAUj5B,GACjB,MAAsB,mBAAVA,EACJA,EAAQvgB,KAAKkgD,OAASlgD,KAAKigD,OAG5BjgD,KAAKq5C,MAAM,WACZ83F,GAAoBnxI,MACxBg0C,EAAQh0C,MAAOkgD,OAEflM,EAAQh0C,MAAOigD,MAEjB,GACD,IAED,IAAI+xF,GAAmB,wBAEnBC,GAAa,iCAEbC,GAAgB,sCAIpB,WACC,IAAIC,EAAWxuG,EAASyuG,yBACvB/9E,EAAM89E,EAASjtG,YAAavB,EAASvW,cAAe,QACpD8rE,EAAQv1D,EAASvW,cAAe,SAMjC8rE,EAAM/0D,aAAc,OAAQ,SAC5B+0D,EAAM/0D,aAAc,UAAW,WAC/B+0D,EAAM/0D,aAAc,OAAQ,KAE5BkwB,EAAInvB,YAAag0D,GAIjBikC,EAAQkV,WAAah+E,EAAIvvB,WAAW,GAAOA,WAAW,GAAOD,UAAUs0D,QAIvE9kC,EAAItvB,UAAY,yBAChBo4F,EAAQmV,iBAAmBj+E,EAAIvvB,WAAW,GAAOD,UAAU5c,aAK3DosC,EAAItvB,UAAY,oBAChBo4F,EAAQ9jC,SAAWhlC,EAAIxvB,SACvB,EA7BD,GAiCA,IAAI0tG,GAAU,CAKbC,MAAO,CAAE,EAAG,UAAW,YACvBt+E,IAAK,CAAE,EAAG,oBAAqB,uBAC/Bu+E,GAAI,CAAE,EAAG,iBAAkB,oBAC3BC,GAAI,CAAE,EAAG,qBAAsB,yBAE/BC,SAAU,CAAE,EAAG,GAAI,KAYpB,SAASC,GAAQrsH,EAASyd,GAIzB,IAAIzmB,EAYJ,OATCA,EAD4C,qBAAjCgJ,EAAQo3F,qBACbp3F,EAAQo3F,qBAAsB35E,GAAO,KAEI,qBAA7Bzd,EAAQovB,iBACpBpvB,EAAQovB,iBAAkB3R,GAAO,KAGjC,QAGM8nC,IAAR9nC,GAAqBA,GAAO6d,EAAUt7B,EAASyd,GAC5CgQ,EAAOoqF,MAAO,CAAE73G,GAAWhJ,GAG5BA,CACR,CAIA,SAASs1H,GAAe1U,EAAO2U,GAI9B,IAHA,IAAI9xI,EAAI,EACPC,EAAIk9H,EAAMj9H,OAEHF,EAAIC,EAAGD,IACdivI,GAASlsI,IACRo6H,EAAOn9H,GACP,cACC8xI,GAAe7C,GAAS9sI,IAAK2vI,EAAa9xI,GAAK,cAGnD,CA7CAuxI,GAAQQ,MAAQR,GAAQS,MAAQT,GAAQU,SAAWV,GAAQW,QAAUX,GAAQC,MAC7ED,GAAQY,GAAKZ,GAAQG,GAGfvV,EAAQ9jC,SACbk5C,GAAQa,SAAWb,GAAQl5C,OAAS,CAAE,EAAG,+BAAgC,cA2C1E,IAAIg6C,GAAQ,YAEZ,SAASC,GAAenV,EAAO53G,EAASm3F,EAAS61B,EAAWC,GAO3D,IANA,IAAIzV,EAAMtsF,EAAKzN,EAAKz6B,EAAM6jC,EAAUxY,EACnCu9G,EAAW5rH,EAAQ6rH,yBACnBqB,EAAQ,GACRzyI,EAAI,EACJC,EAAIk9H,EAAMj9H,OAEHF,EAAIC,EAAGD,IAGd,GAFA+8H,EAAOI,EAAOn9H,GAET+8H,GAAiB,IAATA,EAGZ,GAAwB,WAAnBJ,EAAQI,GAIZ/pF,EAAOoqF,MAAOqV,EAAO1V,EAAKzuF,SAAW,CAAEyuF,GAASA,QAG1C,GAAMsV,GAAMp5G,KAAM8jG,GAIlB,CACNtsF,EAAMA,GAAO0gG,EAASjtG,YAAa3e,EAAQ6G,cAAe,QAG1D4W,GAAQiuG,GAAShpB,KAAM8U,IAAU,CAAE,GAAI,KAAQ,GAAIhoH,cACnDxM,EAAOgpI,GAASvuG,IAASuuG,GAAQI,SACjClhG,EAAI1M,UAAYx7B,EAAM,GAAMyqC,EAAO0/F,cAAe3V,GAASx0H,EAAM,GAGjEqrB,EAAIrrB,EAAM,GACV,MAAQqrB,IACP6c,EAAMA,EAAI5M,UAKXmP,EAAOoqF,MAAOqV,EAAOhiG,EAAIgyD,YAGzBhyD,EAAM0gG,EAASltG,WAGfwM,EAAIlN,YAAc,EACnB,MA1BCkvG,EAAMlzI,KAAMgmB,EAAQ6d,eAAgB25F,IA+BvCoU,EAAS5tG,YAAc,GAEvBvjC,EAAI,EACJ,MAAU+8H,EAAO0V,EAAOzyI,KAGvB,GAAKuyI,GAAav/F,EAAOmrF,QAASpB,EAAMwV,IAAe,EACjDC,GACJA,EAAQjzI,KAAMw9H,QAgBhB,GAXA3wF,EAAW6jG,GAAYlT,GAGvBtsF,EAAMmhG,GAAQT,EAASjtG,YAAa64F,GAAQ,UAGvC3wF,GACJylG,GAAephG,GAIXisE,EAAU,CACd9oF,EAAI,EACJ,MAAUmpG,EAAOtsF,EAAK7c,KAChBs9G,GAAYj4G,KAAM8jG,EAAKh5H,MAAQ,KACnC24G,EAAQn9G,KAAMw9H,EAGjB,CAGD,OAAOoU,CACR,CAGA,IAAIwB,GAAiB,sBAErB,SAASC,KACR,OAAO,CACR,CAEA,SAASC,KACR,OAAO,CACR,CAEA,SAASjzI,GAAIm9H,EAAMrzD,EAAOjmC,EAAUntB,EAAM5W,EAAIq1C,GAC7C,IAAI+9F,EAAQ/uI,EAGZ,GAAsB,kBAAV2lE,EAAqB,CAShC,IAAM3lE,IANmB,kBAAb0/B,IAGXntB,EAAOA,GAAQmtB,EACfA,OAAWqnC,GAEEpB,EACb9pE,GAAIm9H,EAAMh5H,EAAM0/B,EAAUntB,EAAMozD,EAAO3lE,GAAQgxC,GAEhD,OAAOgoF,CACR,CAqBA,GAnBa,MAARzmH,GAAsB,MAAN5W,GAGpBA,EAAK+jC,EACLntB,EAAOmtB,OAAWqnC,GACD,MAANprE,IACc,kBAAb+jC,GAGX/jC,EAAK4W,EACLA,OAAOw0D,IAIPprE,EAAK4W,EACLA,EAAOmtB,EACPA,OAAWqnC,KAGD,IAAPprE,EACJA,EAAKmzI,QACC,IAAMnzI,EACZ,OAAOq9H,EAeR,OAZa,IAARhoF,IACJ+9F,EAASpzI,EACTA,EAAK,SAAU6S,GAId,OADAygC,IAASnzC,IAAK0S,GACPugI,EAAOjtI,MAAO7G,KAAMmoB,UAC5B,EAGAznB,EAAGg/H,KAAOoU,EAAOpU,OAAUoU,EAAOpU,KAAO1rF,EAAO0rF,SAE1C3B,EAAK1kF,MAAM,WACjBrF,EAAOzgC,MAAM5J,IAAK3J,KAAM0qE,EAAOhqE,EAAI4W,EAAMmtB,EAC1C,GACD,CA6aA,SAASsvG,GAAgBp6H,EAAI5U,EAAMivI,GAG5BA,GAQN/D,GAASlsI,IAAK4V,EAAI5U,GAAM,GACxBivC,EAAOzgC,MAAM5J,IAAKgQ,EAAI5U,EAAM,CAC3B2iB,WAAW,EACXpT,QAAS,SAAUf,GAClB,IAAI7K,EACHurI,EAAQhE,GAAS9sI,IAAKnD,KAAM+E,GAE7B,GAAyB,EAAlBwO,EAAM2gI,WAAmBl0I,KAAM+E,IAGrC,GAAMkvI,GA4BQjgG,EAAOzgC,MAAMq6H,QAAS7oI,IAAU,CAAC,GAAIovI,cAClD5gI,EAAM46C,uBAhBN,GARA8lF,EAAQlgI,EAAMrK,KAAMye,WACpB8nH,GAASlsI,IAAK/D,KAAM+E,EAAMkvI,GAG1Bj0I,KAAM+E,KACN2D,EAASunI,GAAS9sI,IAAKnD,KAAM+E,GAC7BkrI,GAASlsI,IAAK/D,KAAM+E,GAAM,GAErBkvI,IAAUvrI,EAMd,OAHA6K,EAAMg6B,2BACNh6B,EAAM8iC,iBAEC3tC,OAeEurI,IAGXhE,GAASlsI,IAAK/D,KAAM+E,EAAMivC,EAAOzgC,MAAM7R,QACtCuyI,EAAO,GACPA,EAAMlgI,MAAO,GACb/T,OAWDuT,EAAM46C,kBACN56C,EAAM0iC,8BAAgC29F,GAExC,UAvEkC9nE,IAA7BmkE,GAAS9sI,IAAKwW,EAAI5U,IACtBivC,EAAOzgC,MAAM5J,IAAKgQ,EAAI5U,EAAM6uI,GAwE/B,CApfA5/F,EAAOzgC,MAAQ,CAEd29B,OAAQ,CAAC,EAETvnC,IAAK,SAAUo0H,EAAMrzD,EAAOp2D,EAASgD,EAAMmtB,GAE1C,IAAI2vG,EAAaC,EAAa5iG,EAC7B6iG,EAAQ1pH,EAAG2pH,EACX3G,EAAS4G,EAAUzvI,EAAM0vI,EAAYC,EACrCC,EAAW1E,GAAS9sI,IAAK46H,GAG1B,GAAM+R,GAAY/R,GAAlB,CAKKzpH,EAAQA,UACZ8/H,EAAc9/H,EACdA,EAAU8/H,EAAY9/H,QACtBmwB,EAAW2vG,EAAY3vG,UAKnBA,GACJuP,EAAOkB,KAAK8vF,gBAAiBpxF,GAAiBnP,GAIzCnwB,EAAQorH,OACbprH,EAAQorH,KAAO1rF,EAAO0rF,SAIf4U,EAASK,EAASL,UACzBA,EAASK,EAASL,OAASpuI,OAAO+Y,OAAQ,QAEnCo1H,EAAcM,EAASC,UAC9BP,EAAcM,EAASC,OAAS,SAAUpyG,GAIzC,MAAyB,qBAAXwR,GAA0BA,EAAOzgC,MAAMshI,YAAcryG,EAAEz9B,KACpEivC,EAAOzgC,MAAMuhI,SAASjuI,MAAOk3H,EAAM51G,gBAAc2jD,CACnD,GAIDpB,GAAUA,GAAS,IAAK79B,MAAOi/F,IAAmB,CAAE,IACpDlhH,EAAI8/C,EAAMxpE,OACV,MAAQ0pB,IACP6mB,EAAMkiG,GAAe1qB,KAAMv+C,EAAO9/C,KAAS,GAC3C7lB,EAAO2vI,EAAWjjG,EAAK,GACvBgjG,GAAehjG,EAAK,IAAO,IAAKpY,MAAO,KAAMrmB,OAGvCjO,IAKN6oI,EAAU55F,EAAOzgC,MAAMq6H,QAAS7oI,IAAU,CAAC,EAG3CA,GAAS0/B,EAAWmpG,EAAQuG,aAAevG,EAAQmH,WAAchwI,EAGjE6oI,EAAU55F,EAAOzgC,MAAMq6H,QAAS7oI,IAAU,CAAC,EAG3CwvI,EAAYvgG,EAAOx+B,OAAQ,CAC1BzQ,KAAMA,EACN2vI,SAAUA,EACVp9H,KAAMA,EACNhD,QAASA,EACTorH,KAAMprH,EAAQorH,KACdj7F,SAAUA,EACVy9F,aAAcz9F,GAAYuP,EAAO+wF,KAAKl4F,MAAMq1F,aAAajoG,KAAMwK,GAC/D/c,UAAW+sH,EAAWzqG,KAAM,MAC1BoqG,IAGKI,EAAWF,EAAQvvI,MAC1ByvI,EAAWF,EAAQvvI,GAAS,GAC5ByvI,EAASQ,cAAgB,EAGnBpH,EAAQzxG,QACiD,IAA9DyxG,EAAQzxG,MAAMzyB,KAAMq0H,EAAMzmH,EAAMm9H,EAAYJ,IAEvCtW,EAAKt1F,kBACTs1F,EAAKt1F,iBAAkB1jC,EAAMsvI,IAK3BzG,EAAQjkI,MACZikI,EAAQjkI,IAAID,KAAMq0H,EAAMwW,GAElBA,EAAUjgI,QAAQorH,OACvB6U,EAAUjgI,QAAQorH,KAAOprH,EAAQorH,OAK9Bj7F,EACJ+vG,EAASpiI,OAAQoiI,EAASQ,gBAAiB,EAAGT,GAE9CC,EAASj0I,KAAMg0I,GAIhBvgG,EAAOzgC,MAAM29B,OAAQnsC,IAAS,EAnG/B,CAsGD,EAGAsnB,OAAQ,SAAU0xG,EAAMrzD,EAAOp2D,EAASmwB,EAAUwwG,GAEjD,IAAIrgH,EAAGsgH,EAAWzjG,EACjB6iG,EAAQ1pH,EAAG2pH,EACX3G,EAAS4G,EAAUzvI,EAAM0vI,EAAYC,EACrCC,EAAW1E,GAASD,QAASjS,IAAUkS,GAAS9sI,IAAK46H,GAEtD,GAAM4W,IAAeL,EAASK,EAASL,QAAvC,CAKA5pE,GAAUA,GAAS,IAAK79B,MAAOi/F,IAAmB,CAAE,IACpDlhH,EAAI8/C,EAAMxpE,OACV,MAAQ0pB,IAMP,GALA6mB,EAAMkiG,GAAe1qB,KAAMv+C,EAAO9/C,KAAS,GAC3C7lB,EAAO2vI,EAAWjjG,EAAK,GACvBgjG,GAAehjG,EAAK,IAAO,IAAKpY,MAAO,KAAMrmB,OAGvCjO,EAAN,CAOA6oI,EAAU55F,EAAOzgC,MAAMq6H,QAAS7oI,IAAU,CAAC,EAC3CA,GAAS0/B,EAAWmpG,EAAQuG,aAAevG,EAAQmH,WAAchwI,EACjEyvI,EAAWF,EAAQvvI,IAAU,GAC7B0sC,EAAMA,EAAK,IACV,IAAI5X,OAAQ,UAAY46G,EAAWzqG,KAAM,iBAAoB,WAG9DkrG,EAAYtgH,EAAI4/G,EAAStzI,OACzB,MAAQ0zB,IACP2/G,EAAYC,EAAU5/G,IAEfqgH,GAAeP,IAAaH,EAAUG,UACzCpgI,GAAWA,EAAQorH,OAAS6U,EAAU7U,MACtCjuF,IAAOA,EAAIxX,KAAMs6G,EAAU7sH,YAC3B+c,GAAYA,IAAa8vG,EAAU9vG,WACxB,OAAbA,IAAqB8vG,EAAU9vG,YAChC+vG,EAASpiI,OAAQwiB,EAAG,GAEf2/G,EAAU9vG,UACd+vG,EAASQ,gBAELpH,EAAQvhH,QACZuhH,EAAQvhH,OAAO3iB,KAAMq0H,EAAMwW,IAOzBW,IAAcV,EAAStzI,SACrB0sI,EAAQuH,WACkD,IAA/DvH,EAAQuH,SAASzrI,KAAMq0H,EAAM0W,EAAYE,EAASC,SAElD5gG,EAAOohG,YAAarX,EAAMh5H,EAAM4vI,EAASC,eAGnCN,EAAQvvI,GAtChB,MAJC,IAAMA,KAAQuvI,EACbtgG,EAAOzgC,MAAM8Y,OAAQ0xG,EAAMh5H,EAAO2lE,EAAO9/C,GAAKtW,EAASmwB,GAAU,GA8C/DuP,EAAOgrF,cAAesV,IAC1BrE,GAAS5jH,OAAQ0xG,EAAM,gBA5DxB,CA8DD,EAEA+W,SAAU,SAAUO,GAEnB,IAAIr0I,EAAG4zB,EAAGrX,EAAKipH,EAAS+N,EAAWe,EAClC7uI,EAAO,IAAI+W,MAAO2K,UAAUjnB,QAG5BqS,EAAQygC,EAAOzgC,MAAMgiI,IAAKF,GAE1Bb,GACCvE,GAAS9sI,IAAKnD,KAAM,WAAckG,OAAO+Y,OAAQ,OAC/C1L,EAAMxO,OAAU,GACnB6oI,EAAU55F,EAAOzgC,MAAMq6H,QAASr6H,EAAMxO,OAAU,CAAC,EAKlD,IAFA0B,EAAM,GAAM8M,EAENvS,EAAI,EAAGA,EAAImnB,UAAUjnB,OAAQF,IAClCyF,EAAMzF,GAAMmnB,UAAWnnB,GAMxB,GAHAuS,EAAMkiC,eAAiBz1C,MAGlB4tI,EAAQ4H,cAA2D,IAA5C5H,EAAQ4H,YAAY9rI,KAAM1J,KAAMuT,GAA5D,CAKA+hI,EAAethG,EAAOzgC,MAAMihI,SAAS9qI,KAAM1J,KAAMuT,EAAOihI,GAGxDxzI,EAAI,EACJ,OAAUwlI,EAAU8O,EAAct0I,QAAYuS,EAAMyiC,uBAAyB,CAC5EziC,EAAMkiI,cAAgBjP,EAAQzI,KAE9BnpG,EAAI,EACJ,OAAU2/G,EAAY/N,EAAQgO,SAAU5/G,QACtCrhB,EAAM0iC,gCAID1iC,EAAMmiI,aAAsC,IAAxBnB,EAAU7sH,YACnCnU,EAAMmiI,WAAWz7G,KAAMs6G,EAAU7sH,aAEjCnU,EAAMghI,UAAYA,EAClBhhI,EAAM+D,KAAOi9H,EAAUj9H,KAEvBiG,IAAUy2B,EAAOzgC,MAAMq6H,QAAS2G,EAAUG,WAAc,CAAC,GAAIE,QAC5DL,EAAUjgI,SAAUzN,MAAO2/H,EAAQzI,KAAMt3H,QAE7BqlE,IAARvuD,IAC4B,KAAzBhK,EAAM7K,OAAS6U,KACrBhK,EAAM8iC,iBACN9iC,EAAM46C,mBAKX,CAOA,OAJKy/E,EAAQ+H,cACZ/H,EAAQ+H,aAAajsI,KAAM1J,KAAMuT,GAG3BA,EAAM7K,MAxCb,CAyCD,EAEA8rI,SAAU,SAAUjhI,EAAOihI,GAC1B,IAAIxzI,EAAGuzI,EAAWpU,EAAKyV,EAAiBC,EACvCP,EAAe,GACfN,EAAgBR,EAASQ,cACzBnlI,EAAM0D,EAAMzO,OAGb,GAAKkwI,GAIJnlI,EAAIy/B,YAOc,UAAf/7B,EAAMxO,MAAoBwO,EAAMw6C,QAAU,GAE7C,KAAQl+C,IAAQ7P,KAAM6P,EAAMA,EAAIie,YAAc9tB,KAI7C,GAAsB,IAAjB6P,EAAIy/B,WAAoC,UAAf/7B,EAAMxO,OAAqC,IAAjB8K,EAAI6jC,UAAsB,CAGjF,IAFAkiG,EAAkB,GAClBC,EAAmB,CAAC,EACd70I,EAAI,EAAGA,EAAIg0I,EAAeh0I,IAC/BuzI,EAAYC,EAAUxzI,GAGtBm/H,EAAMoU,EAAU9vG,SAAW,SAEMqnC,IAA5B+pE,EAAkB1V,KACtB0V,EAAkB1V,GAAQoU,EAAUrS,aACnCluF,EAAQmsF,EAAKngI,MAAOK,MAAOwP,IAAS,EACpCmkC,EAAOkB,KAAMirF,EAAKngI,KAAM,KAAM,CAAE6P,IAAQ3O,QAErC20I,EAAkB1V,IACtByV,EAAgBr1I,KAAMg0I,GAGnBqB,EAAgB10I,QACpBo0I,EAAa/0I,KAAM,CAAEw9H,KAAMluH,EAAK2kI,SAAUoB,GAE5C,CAUF,OALA/lI,EAAM7P,KACDg1I,EAAgBR,EAAStzI,QAC7Bo0I,EAAa/0I,KAAM,CAAEw9H,KAAMluH,EAAK2kI,SAAUA,EAASzgI,MAAOihI,KAGpDM,CACR,EAEAQ,QAAS,SAAU77H,EAAMgB,GACxB/U,OAAO+a,eAAgB+yB,EAAOd,MAAMxZ,UAAWzf,EAAM,CACpDsJ,YAAY,EACZC,cAAc,EAEdrgB,IAAK6K,EAAYiN,GAChB,WACC,GAAKjb,KAAK+1I,cACT,OAAO96H,EAAMjb,KAAK+1I,cAEpB,EACA,WACC,GAAK/1I,KAAK+1I,cACT,OAAO/1I,KAAK+1I,cAAe97H,EAE7B,EAEDlW,IAAK,SAAUhB,GACdmD,OAAO+a,eAAgBjhB,KAAMia,EAAM,CAClCsJ,YAAY,EACZC,cAAc,EACdotB,UAAU,EACV7tC,MAAOA,GAET,GAEF,EAEAwyI,IAAK,SAAUQ,GACd,OAAOA,EAAe/hG,EAAO6qF,SAC5BkX,EACA,IAAI/hG,EAAOd,MAAO6iG,EACpB,EAEAnI,QAAS,CACRoI,KAAM,CAGLC,UAAU,GAEXp9E,MAAO,CAGN18B,MAAO,SAAU7kB,GAIhB,IAAIqC,EAAK3Z,MAAQsX,EAWjB,OARK06H,GAAe/3G,KAAMtgB,EAAG5U,OAC5B4U,EAAGk/C,OAAShX,EAAUloC,EAAI,UAG1Bo6H,GAAgBp6H,EAAI,SAAS,IAIvB,CACR,EACAjY,QAAS,SAAU4V,GAIlB,IAAIqC,EAAK3Z,MAAQsX,EAUjB,OAPK06H,GAAe/3G,KAAMtgB,EAAG5U,OAC5B4U,EAAGk/C,OAAShX,EAAUloC,EAAI,UAE1Bo6H,GAAgBp6H,EAAI,UAId,CACR,EAIAg5H,SAAU,SAAUp/H,GACnB,IAAIzO,EAASyO,EAAMzO,OACnB,OAAOktI,GAAe/3G,KAAMn1B,EAAOC,OAClCD,EAAO+zD,OAAShX,EAAU/8C,EAAQ,UAClCmrI,GAAS9sI,IAAK2B,EAAQ,UACtB+8C,EAAU/8C,EAAQ,IACpB,GAGDoxI,aAAc,CACbP,aAAc,SAAUpiI,QAIDu4D,IAAjBv4D,EAAM7K,QAAwB6K,EAAMwiI,gBACxCxiI,EAAMwiI,cAAcI,YAAc5iI,EAAM7K,OAE1C,KAwFHsrC,EAAOohG,YAAc,SAAUrX,EAAMh5H,EAAM6vI,GAGrC7W,EAAKx1F,qBACTw1F,EAAKx1F,oBAAqBxjC,EAAM6vI,EAElC,EAEA5gG,EAAOd,MAAQ,SAAUihD,EAAKzgF,GAG7B,KAAQ1T,gBAAgBg0C,EAAOd,OAC9B,OAAO,IAAIc,EAAOd,MAAOihD,EAAKzgF,GAI1BygF,GAAOA,EAAIpvF,MACf/E,KAAK+1I,cAAgB5hD,EACrBn0F,KAAK+E,KAAOovF,EAAIpvF,KAIhB/E,KAAKk2C,mBAAqBi+C,EAAI79C,uBACHw1B,IAAzBqoB,EAAI79C,mBAGgB,IAApB69C,EAAIgiD,YACLvC,GACAC,GAKD7zI,KAAK8E,OAAWqvF,EAAIrvF,QAAkC,IAAxBqvF,EAAIrvF,OAAOwqC,SACxC6kD,EAAIrvF,OAAOgpB,WACXqmE,EAAIrvF,OAEL9E,KAAKy1I,cAAgBthD,EAAIshD,cACzBz1I,KAAKw1C,cAAgB2+C,EAAI3+C,eAIzBx1C,KAAK+E,KAAOovF,EAIRzgF,GACJsgC,EAAOx+B,OAAQxV,KAAM0T,GAItB1T,KAAKo2I,UAAYjiD,GAAOA,EAAIiiD,WAAappG,KAAKC,MAG9CjtC,KAAMg0C,EAAO6qF,UAAY,CAC1B,EAIA7qF,EAAOd,MAAMxZ,UAAY,CACxB55B,YAAak0C,EAAOd,MACpBgD,mBAAoB29F,GACpB79F,qBAAsB69F,GACtB59F,8BAA+B49F,GAC/BwC,aAAa,EAEbhgG,eAAgB,WACf,IAAI7T,EAAIxiC,KAAK+1I,cAEb/1I,KAAKk2C,mBAAqB09F,GAErBpxG,IAAMxiC,KAAKq2I,aACf7zG,EAAE6T,gBAEJ,EACA8X,gBAAiB,WAChB,IAAI3rB,EAAIxiC,KAAK+1I,cAEb/1I,KAAKg2C,qBAAuB49F,GAEvBpxG,IAAMxiC,KAAKq2I,aACf7zG,EAAE2rB,iBAEJ,EACA5gB,yBAA0B,WACzB,IAAI/K,EAAIxiC,KAAK+1I,cAEb/1I,KAAKi2C,8BAAgC29F,GAEhCpxG,IAAMxiC,KAAKq2I,aACf7zG,EAAE+K,2BAGHvtC,KAAKmuD,iBACN,GAIDna,EAAOqF,KAAM,CACZi9F,QAAQ,EACRngG,SAAS,EACTC,YAAY,EACZmgG,gBAAgB,EAChBC,SAAS,EACTjc,QAAQ,EACRkc,YAAY,EACZC,SAAS,EACTC,OAAO,EACPC,OAAO,EACP5mF,UAAU,EACV6V,MAAM,EACN,MAAQ,EACR1R,MAAM,EACN0iF,UAAU,EACV7xI,KAAK,EACL8xI,SAAS,EACT/oF,QAAQ,EACRgpF,SAAS,EACTn8F,SAAS,EACTo8F,SAAS,EACTxsD,SAAS,EACTC,SAAS,EACTwsD,WAAW,EACX/7F,aAAa,EACbg8F,SAAS,EACTC,SAAS,EACTC,eAAe,EACfC,WAAW,EACXx8F,SAAS,EACTy8F,OAAO,GACLtjG,EAAOzgC,MAAMuiI,SAEhB9hG,EAAOqF,KAAM,CAAEkU,MAAO,UAAWuG,KAAM,aAAc,SAAU/uD,EAAMovI,GAEpE,SAASoD,EAAoBlC,GAC5B,GAAK1xG,EAAS6zG,aAAe,CAS5B,IAAI5C,EAAS3E,GAAS9sI,IAAKnD,KAAM,UAChCuT,EAAQygC,EAAOzgC,MAAMgiI,IAAKF,GAC3B9hI,EAAMxO,KAA4B,YAArBswI,EAAYtwI,KAAqB,QAAU,OACxDwO,EAAM8iI,aAAc,EAGpBzB,EAAQS,GAMH9hI,EAAMzO,SAAWyO,EAAMkiI,eAK3Bb,EAAQrhI,EAEV,MAICygC,EAAOzgC,MAAMkkI,SAAUtD,EAAckB,EAAYvwI,OAChDkvC,EAAOzgC,MAAMgiI,IAAKF,GAErB,CAEArhG,EAAOzgC,MAAMq6H,QAAS7oI,GAAS,CAG9Bo3B,MAAO,WAEN,IAAIu7G,EAOJ,GAFA3D,GAAgB/zI,KAAM+E,GAAM,IAEvB4+B,EAAS6zG,aAcb,OAAO,EARPE,EAAWzH,GAAS9sI,IAAKnD,KAAMm0I,GACzBuD,GACL13I,KAAKyoC,iBAAkB0rG,EAAcoD,GAEtCtH,GAASlsI,IAAK/D,KAAMm0I,GAAgBuD,GAAY,GAAM,EAMxD,EACAh2I,QAAS,WAMR,OAHAqyI,GAAgB/zI,KAAM+E,IAGf,CACR,EAEAowI,SAAU,WACT,IAAIuC,EAEJ,IAAK/zG,EAAS6zG,aAWb,OAAO,EAVPE,EAAWzH,GAAS9sI,IAAKnD,KAAMm0I,GAAiB,EAC1CuD,EAILzH,GAASlsI,IAAK/D,KAAMm0I,EAAcuD,IAHlC13I,KAAKuoC,oBAAqB4rG,EAAcoD,GACxCtH,GAAS5jH,OAAQrsB,KAAMm0I,GAS1B,EAIAxB,SAAU,SAAUp/H,GACnB,OAAO08H,GAAS9sI,IAAKoQ,EAAMzO,OAAQC,EACpC,EAEAovI,aAAcA,GAefngG,EAAOzgC,MAAMq6H,QAASuG,GAAiB,CACtCh4G,MAAO,WAIN,IAAIuH,EAAM1jC,KAAK+hD,eAAiB/hD,KAAK2jC,UAAY3jC,KAChD23I,EAAah0G,EAAS6zG,aAAex3I,KAAO0jC,EAC5Cg0G,EAAWzH,GAAS9sI,IAAKw0I,EAAYxD,GAMhCuD,IACA/zG,EAAS6zG,aACbx3I,KAAKyoC,iBAAkB0rG,EAAcoD,GAErC7zG,EAAI+E,iBAAkB1jC,EAAMwyI,GAAoB,IAGlDtH,GAASlsI,IAAK4zI,EAAYxD,GAAgBuD,GAAY,GAAM,EAC7D,EACAvC,SAAU,WACT,IAAIzxG,EAAM1jC,KAAK+hD,eAAiB/hD,KAAK2jC,UAAY3jC,KAChD23I,EAAah0G,EAAS6zG,aAAex3I,KAAO0jC,EAC5Cg0G,EAAWzH,GAAS9sI,IAAKw0I,EAAYxD,GAAiB,EAEjDuD,EAQLzH,GAASlsI,IAAK4zI,EAAYxD,EAAcuD,IAPnC/zG,EAAS6zG,aACbx3I,KAAKuoC,oBAAqB4rG,EAAcoD,GAExC7zG,EAAI6E,oBAAqBxjC,EAAMwyI,GAAoB,GAEpDtH,GAAS5jH,OAAQsrH,EAAYxD,GAI/B,EAEF,IAUAngG,EAAOqF,KAAM,CACZzE,WAAY,YACZC,WAAY,WACZ+iG,aAAc,cACdC,aAAc,eACZ,SAAUr9B,EAAM+6B,GAClBvhG,EAAOzgC,MAAMq6H,QAASpzB,GAAS,CAC9B25B,aAAcoB,EACdR,SAAUQ,EAEVX,OAAQ,SAAUrhI,GACjB,IAAIgK,EACHzY,EAAS9E,KACT83I,EAAUvkI,EAAMiiC,cAChB++F,EAAYhhI,EAAMghI,UASnB,OALMuD,IAAaA,IAAYhzI,GAAWkvC,EAAOP,SAAU3uC,EAAQgzI,MAClEvkI,EAAMxO,KAAOwvI,EAAUG,SACvBn3H,EAAMg3H,EAAUjgI,QAAQzN,MAAO7G,KAAMmoB,WACrC5U,EAAMxO,KAAOwwI,GAEPh4H,CACR,EAEF,IAEAy2B,EAAOtzC,GAAG8U,OAAQ,CAEjB5U,GAAI,SAAU8pE,EAAOjmC,EAAUntB,EAAM5W,GACpC,OAAOE,GAAIZ,KAAM0qE,EAAOjmC,EAAUntB,EAAM5W,EACzC,EACAq1C,IAAK,SAAU20B,EAAOjmC,EAAUntB,EAAM5W,GACrC,OAAOE,GAAIZ,KAAM0qE,EAAOjmC,EAAUntB,EAAM5W,EAAI,EAC7C,EACAG,IAAK,SAAU6pE,EAAOjmC,EAAU/jC,GAC/B,IAAI6zI,EAAWxvI,EACf,GAAK2lE,GAASA,EAAMr0B,gBAAkBq0B,EAAM6pE,UAW3C,OARAA,EAAY7pE,EAAM6pE,UAClBvgG,EAAQ02B,EAAMj1B,gBAAiB50C,IAC9B0zI,EAAU7sH,UACT6sH,EAAUG,SAAW,IAAMH,EAAU7sH,UACrC6sH,EAAUG,SACXH,EAAU9vG,SACV8vG,EAAUjgI,SAEJtU,KAER,GAAsB,kBAAV0qE,EAAqB,CAGhC,IAAM3lE,KAAQ2lE,EACb1qE,KAAKa,IAAKkE,EAAM0/B,EAAUimC,EAAO3lE,IAElC,OAAO/E,IACR,CAUA,OATkB,IAAbykC,GAA0C,oBAAbA,IAGjC/jC,EAAK+jC,EACLA,OAAWqnC,IAEA,IAAPprE,IACJA,EAAKmzI,IAEC7zI,KAAKq5C,MAAM,WACjBrF,EAAOzgC,MAAM8Y,OAAQrsB,KAAM0qE,EAAOhqE,EAAI+jC,EACvC,GACD,IAID,IAKCszG,GAAe,wBAGfC,GAAW,oCAEXC,GAAe,6BAGhB,SAASC,GAAoBna,EAAMr5F,GAClC,OAAKmd,EAAUk8E,EAAM,UACpBl8E,EAA+B,KAArBnd,EAAQ4K,SAAkB5K,EAAUA,EAAQO,WAAY,OAE3D+O,EAAQ+pF,GAAOhlH,SAAU,SAAW,IAGrCglH,CACR,CAGA,SAASoa,GAAepa,GAEvB,OADAA,EAAKh5H,MAAyC,OAAhCg5H,EAAK9xF,aAAc,SAAsB,IAAM8xF,EAAKh5H,KAC3Dg5H,CACR,CACA,SAASqa,GAAera,GAOvB,MAN2C,WAApCA,EAAKh5H,MAAQ,IAAKgP,MAAO,EAAG,GAClCgqH,EAAKh5H,KAAOg5H,EAAKh5H,KAAKgP,MAAO,GAE7BgqH,EAAK9zF,gBAAiB,QAGhB8zF,CACR,CAEA,SAASsa,GAAgBlkD,EAAKmT,GAC7B,IAAItmG,EAAGC,EAAG8D,EAAMuzI,EAAUC,EAAUC,EAAUlE,EAE9C,GAAuB,IAAlBhtC,EAAKh4D,SAAV,CAKA,GAAK2gG,GAASD,QAAS77C,KACtBmkD,EAAWrI,GAAS9sI,IAAKgxF,GACzBmgD,EAASgE,EAAShE,OAEbA,GAGJ,IAAMvvI,KAFNkrI,GAAS5jH,OAAQi7E,EAAM,iBAETgtC,EACb,IAAMtzI,EAAI,EAAGC,EAAIqzI,EAAQvvI,GAAO7D,OAAQF,EAAIC,EAAGD,IAC9CgzC,EAAOzgC,MAAM5J,IAAK29F,EAAMviG,EAAMuvI,EAAQvvI,GAAQ/D,IAO7CkvI,GAASF,QAAS77C,KACtBokD,EAAWrI,GAASb,OAAQl7C,GAC5BqkD,EAAWxkG,EAAOx+B,OAAQ,CAAC,EAAG+iI,GAE9BrI,GAASnsI,IAAKujG,EAAMkxC,GAvBrB,CAyBD,CAGA,SAASC,GAAUtkD,EAAKmT,GACvB,IAAIzlD,EAAWylD,EAAKzlD,SAAS9rC,cAGX,UAAb8rC,GAAwBmwF,GAAe/3G,KAAMk6D,EAAIpvF,MACrDuiG,EAAKnO,QAAUhF,EAAIgF,QAGK,UAAbt3C,GAAqC,aAAbA,IACnCylD,EAAKr/E,aAAeksE,EAAIlsE,aAE1B,CAEA,SAASywH,GAAUC,EAAYlyI,EAAMyD,EAAUspI,GAG9C/sI,EAAOs2H,EAAMt2H,GAEb,IAAI0rI,EAAUrvD,EAAO46B,EAASk7B,EAAYv0G,EAAMX,EAC/C1iC,EAAI,EACJC,EAAI03I,EAAWz3I,OACf23I,EAAW53I,EAAI,EACf8B,EAAQ0D,EAAM,GACdqyI,EAAkB9qI,EAAYjL,GAG/B,GAAK+1I,GACD73I,EAAI,GAAsB,kBAAV8B,IAChBo6H,EAAQkV,YAAc2F,GAAS/9G,KAAMl3B,GACxC,OAAO41I,EAAWt/F,MAAM,SAAUh5C,GACjC,IAAIoN,EAAOkrI,EAAWra,GAAIj+H,GACrBy4I,IACJryI,EAAM,GAAM1D,EAAM2G,KAAM1J,KAAMK,EAAOoN,EAAKmoD,SAE3C8iF,GAAUjrI,EAAMhH,EAAMyD,EAAUspI,EACjC,IAGD,GAAKvyI,IACJkxI,EAAWmB,GAAe7sI,EAAMkyI,EAAY,GAAI52F,eAAe,EAAO42F,EAAYnF,GAClF1wD,EAAQqvD,EAASltG,WAEmB,IAA/BktG,EAAS1uC,WAAWviG,SACxBixI,EAAWrvD,GAIPA,GAAS0wD,GAAU,CAOvB,IANA91B,EAAU1pE,EAAO3tC,IAAKusI,GAAQT,EAAU,UAAYgG,IACpDS,EAAal7B,EAAQx8G,OAKbF,EAAIC,EAAGD,IACdqjC,EAAO8tG,EAEFnxI,IAAM63I,IACVx0G,EAAO2P,EAAOlW,MAAOuG,GAAM,GAAM,GAG5Bu0G,GAIJ5kG,EAAOoqF,MAAO1gB,EAASk1B,GAAQvuG,EAAM,YAIvCn6B,EAASR,KAAMivI,EAAY33I,GAAKqjC,EAAMrjC,GAGvC,GAAK43I,EAOJ,IANAl1G,EAAMg6E,EAASA,EAAQx8G,OAAS,GAAI6gD,cAGpC/N,EAAO3tC,IAAKq3G,EAAS06B,IAGfp3I,EAAI,EAAGA,EAAI43I,EAAY53I,IAC5BqjC,EAAOq5E,EAAS18G,GACXkxI,GAAYj4G,KAAMoK,EAAKt/B,MAAQ,MAClCkrI,GAASZ,OAAQhrG,EAAM,eACxB2P,EAAOP,SAAU/P,EAAKW,KAEjBA,EAAK8vD,KAA8C,YAArC9vD,EAAKt/B,MAAQ,IAAKgR,cAG/Bi+B,EAAO+kG,WAAa10G,EAAKk5F,UAC7BvpF,EAAO+kG,SAAU10G,EAAK8vD,IAAK,CAC1BmpC,MAAOj5F,EAAKi5F,OAASj5F,EAAK4H,aAAc,UACtCvI,GASJ85F,EAASn5F,EAAKE,YAAYzuB,QAASmiI,GAAc,IAAM5zG,EAAMX,GAKlE,CAGD,OAAOi1G,CACR,CAEA,SAAStsH,GAAQ0xG,EAAMt5F,EAAUu0G,GAKhC,IAJA,IAAI30G,EACHovG,EAAQhvG,EAAWuP,EAAO5tC,OAAQq+B,EAAUs5F,GAASA,EACrD/8H,EAAI,EAE4B,OAAvBqjC,EAAOovG,EAAOzyI,IAAeA,IAChCg4I,GAA8B,IAAlB30G,EAAKiL,UACtB0E,EAAOilG,UAAWrG,GAAQvuG,IAGtBA,EAAKvW,aACJkrH,GAAY/H,GAAY5sG,IAC5BwuG,GAAeD,GAAQvuG,EAAM,WAE9BA,EAAKvW,WAAWiW,YAAaM,IAI/B,OAAO05F,CACR,CAEA/pF,EAAOx+B,OAAQ,CACdk+H,cAAe,SAAU99E,GACxB,OAAOA,CACR,EAEA93B,MAAO,SAAUigG,EAAMmb,EAAeC,GACrC,IAAIn4I,EAAGC,EAAGm4I,EAAaC,EACtBv7G,EAAQigG,EAAKj5F,WAAW,GACxBw0G,EAASrI,GAAYlT,GAGtB,IAAMZ,EAAQmV,iBAAsC,IAAlBvU,EAAKzuF,UAAoC,KAAlByuF,EAAKzuF,YAC3D0E,EAAOorF,SAAUrB,GAOnB,IAHAsb,EAAezG,GAAQ90G,GACvBs7G,EAAcxG,GAAQ7U,GAEhB/8H,EAAI,EAAGC,EAAIm4I,EAAYl4I,OAAQF,EAAIC,EAAGD,IAC3Cy3I,GAAUW,EAAap4I,GAAKq4I,EAAcr4I,IAK5C,GAAKk4I,EACJ,GAAKC,EAIJ,IAHAC,EAAcA,GAAexG,GAAQ7U,GACrCsb,EAAeA,GAAgBzG,GAAQ90G,GAEjC98B,EAAI,EAAGC,EAAIm4I,EAAYl4I,OAAQF,EAAIC,EAAGD,IAC3Cq3I,GAAgBe,EAAap4I,GAAKq4I,EAAcr4I,SAGjDq3I,GAAgBta,EAAMjgG,GAWxB,OANAu7G,EAAezG,GAAQ90G,EAAO,UACzBu7G,EAAan4I,OAAS,GAC1B2xI,GAAewG,GAAeC,GAAU1G,GAAQ7U,EAAM,WAIhDjgG,CACR,EAEAm7G,UAAW,SAAU9a,GAKpB,IAJA,IAAI7mH,EAAMymH,EAAMh5H,EACf6oI,EAAU55F,EAAOzgC,MAAMq6H,QACvB5sI,EAAI,OAE6B8qE,KAAxBiyD,EAAOI,EAAOn9H,IAAqBA,IAC5C,GAAK8uI,GAAY/R,GAAS,CACzB,GAAOzmH,EAAOymH,EAAMkS,GAASpR,SAAc,CAC1C,GAAKvnH,EAAKg9H,OACT,IAAMvvI,KAAQuS,EAAKg9H,OACb1G,EAAS7oI,GACbivC,EAAOzgC,MAAM8Y,OAAQ0xG,EAAMh5H,GAI3BivC,EAAOohG,YAAarX,EAAMh5H,EAAMuS,EAAKs9H,QAOxC7W,EAAMkS,GAASpR,cAAY/yD,CAC5B,CACKiyD,EAAMmS,GAASrR,WAInBd,EAAMmS,GAASrR,cAAY/yD,EAE7B,CAEF,IAGD93B,EAAOtzC,GAAG8U,OAAQ,CACjB+jI,OAAQ,SAAU90G,GACjB,OAAOpY,GAAQrsB,KAAMykC,GAAU,EAChC,EAEApY,OAAQ,SAAUoY,GACjB,OAAOpY,GAAQrsB,KAAMykC,EACtB,EAEAhE,KAAM,SAAU19B,GACf,OAAOssI,GAAQrvI,MAAM,SAAU+C,GAC9B,YAAiB+oE,IAAV/oE,EACNixC,EAAOvT,KAAMzgC,MACbA,KAAKinI,QAAQ5tF,MAAM,WACK,IAAlBr5C,KAAKsvC,UAAoC,KAAlBtvC,KAAKsvC,UAAqC,IAAlBtvC,KAAKsvC,WACxDtvC,KAAKukC,YAAcxhC,EAErB,GACF,GAAG,KAAMA,EAAOolB,UAAUjnB,OAC3B,EAEAguD,OAAQ,WACP,OAAOwpF,GAAU14I,KAAMmoB,WAAW,SAAU41G,GAC3C,GAAuB,IAAlB/9H,KAAKsvC,UAAoC,KAAlBtvC,KAAKsvC,UAAqC,IAAlBtvC,KAAKsvC,SAAiB,CACzE,IAAIxqC,EAASozI,GAAoBl4I,KAAM+9H,GACvCj5H,EAAOogC,YAAa64F,EACrB,CACD,GACD,EAEA7iH,QAAS,WACR,OAAOw9H,GAAU14I,KAAMmoB,WAAW,SAAU41G,GAC3C,GAAuB,IAAlB/9H,KAAKsvC,UAAoC,KAAlBtvC,KAAKsvC,UAAqC,IAAlBtvC,KAAKsvC,SAAiB,CACzE,IAAIxqC,EAASozI,GAAoBl4I,KAAM+9H,GACvCj5H,EAAOg/B,aAAci6F,EAAMj5H,EAAOmgC,WACnC,CACD,GACD,EAEAN,OAAQ,WACP,OAAO+zG,GAAU14I,KAAMmoB,WAAW,SAAU41G,GACtC/9H,KAAK8tB,YACT9tB,KAAK8tB,WAAWgW,aAAci6F,EAAM/9H,KAEtC,GACD,EAEAiiG,MAAO,WACN,OAAOy2C,GAAU14I,KAAMmoB,WAAW,SAAU41G,GACtC/9H,KAAK8tB,YACT9tB,KAAK8tB,WAAWgW,aAAci6F,EAAM/9H,KAAKguB,YAE3C,GACD,EAEAi5G,MAAO,WAIN,IAHA,IAAIlJ,EACH/8H,EAAI,EAE2B,OAAtB+8H,EAAO/9H,KAAMgB,IAAeA,IACd,IAAlB+8H,EAAKzuF,WAGT0E,EAAOilG,UAAWrG,GAAQ7U,GAAM,IAGhCA,EAAKx5F,YAAc,IAIrB,OAAOvkC,IACR,EAEA89B,MAAO,SAAUo7G,EAAeC,GAI/B,OAHAD,EAAiC,MAAjBA,GAAgCA,EAChDC,EAAyC,MAArBA,EAA4BD,EAAgBC,EAEzDn5I,KAAKqG,KAAK,WAChB,OAAO2tC,EAAOlW,MAAO99B,KAAMk5I,EAAeC,EAC3C,GACD,EAEAvjF,KAAM,SAAU7yD,GACf,OAAOssI,GAAQrvI,MAAM,SAAU+C,GAC9B,IAAIg7H,EAAO/9H,KAAM,IAAO,CAAC,EACxBgB,EAAI,EACJC,EAAIjB,KAAKkB,OAEV,QAAe4qE,IAAV/oE,GAAyC,IAAlBg7H,EAAKzuF,SAChC,OAAOyuF,EAAKh5F,UAIb,GAAsB,kBAAVhiC,IAAuBg1I,GAAa99G,KAAMl3B,KACpDwvI,IAAWN,GAAShpB,KAAMlmH,IAAW,CAAE,GAAI,KAAQ,GAAIgT,eAAkB,CAE1EhT,EAAQixC,EAAO0/F,cAAe3wI,GAE9B,IACC,KAAQ/B,EAAIC,EAAGD,IACd+8H,EAAO/9H,KAAMgB,IAAO,CAAC,EAGE,IAAlB+8H,EAAKzuF,WACT0E,EAAOilG,UAAWrG,GAAQ7U,GAAM,IAChCA,EAAKh5F,UAAYhiC,GAInBg7H,EAAO,CAGR,CAAE,MAAQv7F,GAAK,CAChB,CAEKu7F,GACJ/9H,KAAKinI,QAAQ/3E,OAAQnsD,EAEvB,GAAG,KAAMA,EAAOolB,UAAUjnB,OAC3B,EAEAs4I,YAAa,WACZ,IAAIhG,EAAU,GAGd,OAAOkF,GAAU14I,KAAMmoB,WAAW,SAAU41G,GAC3C,IAAI39H,EAASJ,KAAK8tB,WAEbkmB,EAAOmrF,QAASn/H,KAAMwzI,GAAY,IACtCx/F,EAAOilG,UAAWrG,GAAQ5yI,OACrBI,GACJA,EAAO02F,aAAcinC,EAAM/9H,MAK9B,GAAGwzI,EACJ,IAGDx/F,EAAOqF,KAAM,CACZogG,SAAU,SACVC,UAAW,UACX51G,aAAc,SACd61G,YAAa,QACbC,WAAY,gBACV,SAAU3/H,EAAM4/H,GAClB7lG,EAAOtzC,GAAIuZ,GAAS,SAAUwqB,GAO7B,IANA,IAAI05F,EACH5gH,EAAM,GACNwP,EAASinB,EAAQvP,GACjBtjC,EAAO4rB,EAAO7rB,OAAS,EACvBF,EAAI,EAEGA,GAAKG,EAAMH,IAClBm9H,EAAQn9H,IAAMG,EAAOnB,KAAOA,KAAK89B,OAAO,GACxCkW,EAAQjnB,EAAQ/rB,IAAO64I,GAAY1b,GAInC59H,EAAKsG,MAAO0W,EAAK4gH,EAAMh7H,OAGxB,OAAOnD,KAAKk+H,UAAW3gH,EACxB,CACD,IACA,IAAIu8H,GAAY,IAAIjgH,OAAQ,KAAOi3G,GAAO,kBAAmB,KAEzDiJ,GAAc,MAGdC,GAAY,SAAUjc,GAKxB,IAAIl4D,EAAOk4D,EAAKh8E,cAAcC,YAM9B,OAJM6jB,GAASA,EAAKo0E,SACnBp0E,EAAOl9B,GAGDk9B,EAAKj9B,iBAAkBm1F,EAC/B,EAEGmc,GAAO,SAAUnc,EAAMnoH,EAAS1L,GACnC,IAAIqT,EAAKtD,EACRkgI,EAAM,CAAC,EAGR,IAAMlgI,KAAQrE,EACbukI,EAAKlgI,GAAS8jH,EAAK5sG,MAAOlX,GAC1B8jH,EAAK5sG,MAAOlX,GAASrE,EAASqE,GAM/B,IAAMA,KAHNsD,EAAMrT,EAASR,KAAMq0H,GAGPnoH,EACbmoH,EAAK5sG,MAAOlX,GAASkgI,EAAKlgI,GAG3B,OAAOsD,CACR,EAGI68H,GAAY,IAAIvgH,OAAQm3G,GAAUhnG,KAAM,KAAO,KAiJnD,SAASqwG,GAAQtc,EAAM9jH,EAAM5X,GAC5B,IAAIwhD,EAAOy2F,EAAUC,EAAUh9H,EAC9Bi9H,EAAeT,GAAY9/G,KAAMhgB,GAMjCkX,EAAQ4sG,EAAK5sG,MAoEd,OAlEA9uB,EAAWA,GAAY23I,GAAWjc,GAK7B17H,IAWJkb,EAAMlb,EAASgxC,iBAAkBp5B,IAAU5X,EAAU4X,GAEhDugI,GAAgBj9H,IAkBpBA,EAAMA,EAAIzH,QAAS6pH,EAAU,YAAU7zD,GAG3B,KAARvuD,GAAe0zH,GAAYlT,KAC/BxgH,EAAMy2B,EAAO7iB,MAAO4sG,EAAM9jH,KAQrBkjH,EAAQsd,kBAAoBX,GAAU7/G,KAAM1c,IAAS68H,GAAUngH,KAAMhgB,KAG1E4pC,EAAQ1yB,EAAM0yB,MACdy2F,EAAWnpH,EAAMmpH,SACjBC,EAAWppH,EAAMopH,SAGjBppH,EAAMmpH,SAAWnpH,EAAMopH,SAAWppH,EAAM0yB,MAAQtmC,EAChDA,EAAMlb,EAASwhD,MAGf1yB,EAAM0yB,MAAQA,EACd1yB,EAAMmpH,SAAWA,EACjBnpH,EAAMopH,SAAWA,SAIJzuE,IAARvuD,EAINA,EAAM,GACNA,CACF,CAGA,SAASm9H,GAAcC,EAAaC,GAGnC,MAAO,CACNz3I,IAAK,WACJ,IAAKw3I,IASL,OAAS36I,KAAKmD,IAAMy3I,GAAS/zI,MAAO7G,KAAMmoB,kBALlCnoB,KAAKmD,GAMd,EAEF,EAnPA,WAIC,SAAS03I,IAGR,GAAMxmF,EAAN,CAIA5lC,EAAU0C,MAAM6Z,QAAU,+EAE1BqpB,EAAIljC,MAAM6Z,QACT,4HAGD4I,GAAgB1O,YAAazW,GAAYyW,YAAamvB,GAEtD,IAAIymF,EAAWnyG,EAAOC,iBAAkByrB,GACxC0mF,EAAoC,OAAjBD,EAASzrG,IAG5B2rG,EAAsE,KAA9CC,EAAoBH,EAAS9wD,YAIrD31B,EAAIljC,MAAM+yB,MAAQ,MAClBg3F,EAA6D,KAAzCD,EAAoBH,EAAS52F,OAIjDi3F,EAAgE,KAAzCF,EAAoBH,EAASj3F,OAMpDwQ,EAAIljC,MAAMuxB,SAAW,WACrB04F,EAAiE,KAA9CH,EAAoB5mF,EAAIzQ,YAAc,GAEzDhQ,GAAgB7P,YAAatV,GAI7B4lC,EAAM,IApCN,CAqCD,CAEA,SAAS4mF,EAAoBI,GAC5B,OAAOpnH,KAAKmvB,MAAOvS,WAAYwqG,GAChC,CAEA,IAAIN,EAAkBI,EAAsBC,EAAkBF,EAC7DI,EAAyBN,EACzBvsH,EAAYkV,EAASvW,cAAe,OACpCinC,EAAM1wB,EAASvW,cAAe,OAGzBinC,EAAIljC,QAMVkjC,EAAIljC,MAAMmxD,eAAiB,cAC3BjuB,EAAIvvB,WAAW,GAAO3T,MAAMmxD,eAAiB,GAC7C66C,EAAQoe,gBAA+C,gBAA7BlnF,EAAIljC,MAAMmxD,eAEpCtuC,EAAOx+B,OAAQ2nH,EAAS,CACvBqe,kBAAmB,WAElB,OADAX,IACOM,CACR,EACAV,eAAgB,WAEf,OADAI,IACOK,CACR,EACAO,cAAe,WAEd,OADAZ,IACOE,CACR,EACAW,mBAAoB,WAEnB,OADAb,IACOG,CACR,EACAW,cAAe,WAEd,OADAd,IACOO,CACR,EAWAQ,qBAAsB,WACrB,IAAIC,EAAOpJ,EAAIqJ,EAASC,EAmCxB,OAlCgC,MAA3BT,IACJO,EAAQl4G,EAASvW,cAAe,SAChCqlH,EAAK9uG,EAASvW,cAAe,MAC7B0uH,EAAUn4G,EAASvW,cAAe,OAElCyuH,EAAM1qH,MAAM6Z,QAAU,2DACtBynG,EAAGthH,MAAM6Z,QAAU,0CAKnBynG,EAAGthH,MAAM2yB,OAAS,MAClBg4F,EAAQ3qH,MAAM2yB,OAAS,MAQvBg4F,EAAQ3qH,MAAMmZ,QAAU,QAExBsJ,GACE1O,YAAa22G,GACb32G,YAAautG,GACbvtG,YAAa42G,GAEfC,EAAUpzG,EAAOC,iBAAkB6pG,GACnC6I,EAA4BlrG,SAAU2rG,EAAQj4F,OAAQ,IACrD1T,SAAU2rG,EAAQpzD,eAAgB,IAClCv4C,SAAU2rG,EAAQlzD,kBAAmB,MAAW4pD,EAAG7oG,aAEpDgK,GAAgB7P,YAAa83G,IAEvBP,CACR,IAED,EA1ID,GAsPA,IAAIU,GAAc,CAAE,SAAU,MAAO,MACpCC,GAAat4G,EAASvW,cAAe,OAAQ+D,MAC7C+qH,GAAc,CAAC,EAGhB,SAASC,GAAgBliI,GAGxB,IAAImiI,EAAUniI,EAAM,GAAIu2B,cAAgBv2B,EAAKlG,MAAO,GACnD/S,EAAIg7I,GAAY96I,OAEjB,MAAQF,IAEP,GADAiZ,EAAO+hI,GAAah7I,GAAMo7I,EACrBniI,KAAQgiI,GACZ,OAAOhiI,CAGV,CAGA,SAASoiI,GAAepiI,GACvB,IAAIqiI,EAAQtoG,EAAOuoG,SAAUtiI,IAAUiiI,GAAajiI,GAEpD,OAAKqiI,IAGAriI,KAAQgiI,GACLhiI,EAEDiiI,GAAajiI,GAASkiI,GAAgBliI,IAAUA,EACxD,CAGA,IAKCuiI,GAAe,4BACfC,GAAU,CAAE/5F,SAAU,WAAY8oC,WAAY,SAAUlhD,QAAS,SACjEoyG,GAAqB,CACpBxzD,cAAe,IACfoD,WAAY,OAGd,SAASqwD,GAAmBle,EAAO17H,EAAO65I,GAIzC,IAAI9iH,EAAUi3G,GAAQ9nB,KAAMlmH,GAC5B,OAAO+2B,EAGN7F,KAAKoV,IAAK,EAAGvP,EAAS,IAAQ8iH,GAAY,KAAU9iH,EAAS,IAAO,MACpE/2B,CACF,CAEA,SAAS85I,GAAoB9e,EAAM+e,EAAWzpC,EAAK0pC,EAAar0G,EAAQs0G,GACvE,IAAIh8I,EAAkB,UAAd87I,EAAwB,EAAI,EACnC15E,EAAQ,EACRoQ,EAAQ,EACRypE,EAAc,EAGf,GAAK5pC,KAAU0pC,EAAc,SAAW,WACvC,OAAO,EAGR,KAAQ/7I,EAAI,EAAGA,GAAK,EAKN,WAARqyG,IACJ4pC,GAAejpG,EAAOvO,IAAKs4F,EAAM1qB,EAAM29B,GAAWhwI,IAAK,EAAM0nC,IAIxDq0G,GAmBQ,YAAR1pC,IACJ7/B,GAASx/B,EAAOvO,IAAKs4F,EAAM,UAAYiT,GAAWhwI,IAAK,EAAM0nC,IAIjD,WAAR2qE,IACJ7/B,GAASx/B,EAAOvO,IAAKs4F,EAAM,SAAWiT,GAAWhwI,GAAM,SAAS,EAAM0nC,MAtBvE8qC,GAASx/B,EAAOvO,IAAKs4F,EAAM,UAAYiT,GAAWhwI,IAAK,EAAM0nC,GAGhD,YAAR2qE,EACJ7/B,GAASx/B,EAAOvO,IAAKs4F,EAAM,SAAWiT,GAAWhwI,GAAM,SAAS,EAAM0nC,GAItE06B,GAASpvB,EAAOvO,IAAKs4F,EAAM,SAAWiT,GAAWhwI,GAAM,SAAS,EAAM0nC,IAoCzE,OAhBMq0G,GAAeC,GAAe,IAInCxpE,GAASv/C,KAAKoV,IAAK,EAAGpV,KAAKqyC,KAC1By3D,EAAM,SAAW+e,EAAW,GAAItsG,cAAgBssG,EAAU/oI,MAAO,IACjEipI,EACAxpE,EACApQ,EACA,MAIM,GAGDoQ,EAAQypE,CAChB,CAEA,SAASC,GAAkBnf,EAAM+e,EAAW15E,GAG3C,IAAI16B,EAASsxG,GAAWjc,GAIvBof,GAAmBhgB,EAAQqe,qBAAuBp4E,EAClD25E,EAAcI,GACsC,eAAnDnpG,EAAOvO,IAAKs4F,EAAM,aAAa,EAAOr1F,GACvC00G,EAAmBL,EAEnB94H,EAAMo2H,GAAQtc,EAAM+e,EAAWp0G,GAC/B20G,EAAa,SAAWP,EAAW,GAAItsG,cAAgBssG,EAAU/oI,MAAO,GAIzE,GAAK+lI,GAAU7/G,KAAMhW,GAAQ,CAC5B,IAAMm/C,EACL,OAAOn/C,EAERA,EAAM,MACP,CAwCA,QAlCQk5G,EAAQqe,qBAAuBuB,IAMrC5f,EAAQye,wBAA0B/5F,EAAUk8E,EAAM,OAI3C,SAAR95G,IAIC4sB,WAAY5sB,IAA0D,WAAjD+vB,EAAOvO,IAAKs4F,EAAM,WAAW,EAAOr1F,KAG1Dq1F,EAAK3qF,iBAAiBlyC,SAEtB67I,EAAiE,eAAnD/oG,EAAOvO,IAAKs4F,EAAM,aAAa,EAAOr1F,GAKpD00G,EAAmBC,KAActf,EAC5Bqf,IACJn5H,EAAM85G,EAAMsf,KAKdp5H,EAAM4sB,WAAY5sB,IAAS,EAGlBA,EACR44H,GACC9e,EACA+e,EACA15E,IAAW25E,EAAc,SAAW,WACpCK,EACA10G,EAGAzkB,GAEE,IACL,CAuTA,SAASq5H,GAAOvf,EAAMnoH,EAASsU,EAAMvY,EAAK4rI,GACzC,OAAO,IAAID,GAAM5jH,UAAUmkG,KAAME,EAAMnoH,EAASsU,EAAMvY,EAAK4rI,EAC5D,CAvTAvpG,EAAOx+B,OAAQ,CAIdgoI,SAAU,CACTzxD,QAAS,CACR5oF,IAAK,SAAU46H,EAAM17H,GACpB,GAAKA,EAAW,CAGf,IAAIkb,EAAM88H,GAAQtc,EAAM,WACxB,MAAe,KAARxgH,EAAa,IAAMA,CAC3B,CACD,IAKFo0H,UAAW,CACV8L,yBAAyB,EACzBC,aAAa,EACbC,kBAAkB,EAClBC,aAAa,EACbC,UAAU,EACVC,YAAY,EACZxxD,YAAY,EACZyxD,UAAU,EACVC,YAAY,EACZC,eAAe,EACfC,iBAAiB,EACjBC,SAAS,EACTC,YAAY,EACZC,cAAc,EACd/0D,YAAY,EACZyC,SAAS,EACTF,OAAO,EACPyyD,SAAS,EACTxtC,OAAO,EACPytC,QAAQ,EACR5yD,QAAQ,EACR6yD,MAAM,EAGNC,aAAa,EACbC,cAAc,EACdC,aAAa,EACbC,kBAAkB,EAClBC,eAAe,GAKhBtC,SAAU,CAAC,EAGXprH,MAAO,SAAU4sG,EAAM9jH,EAAMlX,EAAOqgE,GAGnC,GAAM26D,GAA0B,IAAlBA,EAAKzuF,UAAoC,IAAlByuF,EAAKzuF,UAAmByuF,EAAK5sG,MAAlE,CAKA,IAAI5T,EAAKxY,EAAMoW,EACd2jI,EAAWjP,GAAW51H,GACtBugI,EAAeT,GAAY9/G,KAAMhgB,GACjCkX,EAAQ4sG,EAAK5sG,MAad,GARMqpH,IACLvgI,EAAOoiI,GAAeyC,IAIvB3jI,EAAQ64B,EAAOwpG,SAAUvjI,IAAU+5B,EAAOwpG,SAAUsB,QAGrChzE,IAAV/oE,EA0CJ,OAAKoY,GAAS,QAASA,QACwB2wD,KAA5CvuD,EAAMpC,EAAMhY,IAAK46H,GAAM,EAAO36D,IAEzB7lD,EAID4T,EAAOlX,GAhDdlV,SAAchC,EAGA,WAATgC,IAAuBwY,EAAMwzH,GAAQ9nB,KAAMlmH,KAAawa,EAAK,KACjExa,EAAQquI,GAAWrT,EAAM9jH,EAAMsD,GAG/BxY,EAAO,UAIM,MAAThC,GAAiBA,IAAUA,IAOlB,WAATgC,GAAsBy1I,IAC1Bz3I,GAASwa,GAAOA,EAAK,KAASy2B,EAAO29F,UAAWmN,GAAa,GAAK,OAI7D3hB,EAAQoe,iBAA6B,KAAVx4I,GAAiD,IAAjCkX,EAAKzH,QAAS,gBAC9D2e,EAAOlX,GAAS,WAIXkB,GAAY,QAASA,QACsB2wD,KAA9C/oE,EAAQoY,EAAMpX,IAAKg6H,EAAMh7H,EAAOqgE,MAE7Bo3E,EACJrpH,EAAM+Z,YAAajxB,EAAMlX,GAEzBouB,EAAOlX,GAASlX,GAtDnB,CAsED,EAEA0iC,IAAK,SAAUs4F,EAAM9jH,EAAMmpD,EAAO16B,GACjC,IAAIzkB,EAAKg6G,EAAK9iH,EACb2jI,EAAWjP,GAAW51H,GACtBugI,EAAeT,GAAY9/G,KAAMhgB,GA4BlC,OAvBMugI,IACLvgI,EAAOoiI,GAAeyC,IAIvB3jI,EAAQ64B,EAAOwpG,SAAUvjI,IAAU+5B,EAAOwpG,SAAUsB,GAG/C3jI,GAAS,QAASA,IACtB8I,EAAM9I,EAAMhY,IAAK46H,GAAM,EAAM36D,SAIjB0I,IAAR7nD,IACJA,EAAMo2H,GAAQtc,EAAM9jH,EAAMyuB,IAId,WAARzkB,GAAoBhK,KAAQyiI,KAChCz4H,EAAMy4H,GAAoBziI,IAIZ,KAAVmpD,GAAgBA,GACpB66D,EAAMptF,WAAY5sB,IACD,IAAVm/C,GAAkB27E,SAAU9gB,GAAQA,GAAO,EAAIh6G,GAGhDA,CACR,IAGD+vB,EAAOqF,KAAM,CAAE,SAAU,UAAW,SAAU+R,EAAI0xF,GACjD9oG,EAAOwpG,SAAUV,GAAc,CAC9B35I,IAAK,SAAU46H,EAAM17H,EAAU+gE,GAC9B,GAAK/gE,EAIJ,OAAOm6I,GAAaviH,KAAM+Z,EAAOvO,IAAKs4F,EAAM,aAQxCA,EAAK3qF,iBAAiBlyC,QAAW68H,EAAKhvF,wBAAwB8U,MAIjEq5F,GAAkBnf,EAAM+e,EAAW15E,GAHnC82E,GAAMnc,EAAM0e,IAAS,WACpB,OAAOS,GAAkBnf,EAAM+e,EAAW15E,EAC3C,GAGH,EAEAr/D,IAAK,SAAUg6H,EAAMh7H,EAAOqgE,GAC3B,IAAItpC,EACH4O,EAASsxG,GAAWjc,GAIpBihB,GAAsB7hB,EAAQwe,iBACT,aAApBjzG,EAAOga,SAGRy6F,EAAkB6B,GAAsB57E,EACxC25E,EAAcI,GACsC,eAAnDnpG,EAAOvO,IAAKs4F,EAAM,aAAa,EAAOr1F,GACvCk0G,EAAWx5E,EACVy5E,GACC9e,EACA+e,EACA15E,EACA25E,EACAr0G,GAED,EAqBF,OAjBKq0G,GAAeiC,IACnBpC,GAAY3oH,KAAKqyC,KAChBy3D,EAAM,SAAW+e,EAAW,GAAItsG,cAAgBssG,EAAU/oI,MAAO,IACjE88B,WAAYnI,EAAQo0G,IACpBD,GAAoB9e,EAAM+e,EAAW,UAAU,EAAOp0G,GACtD,KAKGk0G,IAAc9iH,EAAUi3G,GAAQ9nB,KAAMlmH,KACb,QAA3B+2B,EAAS,IAAO,QAElBikG,EAAK5sG,MAAO2rH,GAAc/5I,EAC1BA,EAAQixC,EAAOvO,IAAKs4F,EAAM+e,IAGpBH,GAAmB5e,EAAMh7H,EAAO65I,EACxC,EAEF,IAEA5oG,EAAOwpG,SAASxzD,WAAa0wD,GAAcvd,EAAQue,oBAClD,SAAU3d,EAAM17H,GACf,GAAKA,EACJ,OAASwuC,WAAYwpG,GAAQtc,EAAM,gBAClCA,EAAKhvF,wBAAwBI,KAC5B+qG,GAAMnc,EAAM,CAAE/zC,WAAY,IAAK,WAC9B,OAAO+zC,EAAKhvF,wBAAwBI,IACrC,KACE,IAEN,IAID6E,EAAOqF,KAAM,CACZuJ,OAAQ,GACRgD,QAAS,GACTu9C,OAAQ,UACN,SAAU5gB,EAAQga,GACpBvoD,EAAOwpG,SAAUj7D,EAASga,GAAW,CACpC0iD,OAAQ,SAAUl8I,GAOjB,IANA,IAAI/B,EAAI,EACPk+I,EAAW,CAAC,EAGZC,EAAyB,kBAAVp8I,EAAqBA,EAAMs2B,MAAO,KAAQ,CAAEt2B,GAEpD/B,EAAI,EAAGA,IACdk+I,EAAU38D,EAASyuD,GAAWhwI,GAAMu7F,GACnC4iD,EAAOn+I,IAAOm+I,EAAOn+I,EAAI,IAAOm+I,EAAO,GAGzC,OAAOD,CACR,GAGe,WAAX38D,IACJvuC,EAAOwpG,SAAUj7D,EAASga,GAASx4F,IAAM44I,GAE3C,IAEA3oG,EAAOtzC,GAAG8U,OAAQ,CACjBiwB,IAAK,SAAUxrB,EAAMlX,GACpB,OAAOssI,GAAQrvI,MAAM,SAAU+9H,EAAM9jH,EAAMlX,GAC1C,IAAI2lC,EAAQ/Q,EACXtxB,EAAM,CAAC,EACPrF,EAAI,EAEL,GAAKwc,MAAMlY,QAAS2U,GAAS,CAI5B,IAHAyuB,EAASsxG,GAAWjc,GACpBpmG,EAAM1d,EAAK/Y,OAEHF,EAAI22B,EAAK32B,IAChBqF,EAAK4T,EAAMjZ,IAAQgzC,EAAOvO,IAAKs4F,EAAM9jH,EAAMjZ,IAAK,EAAO0nC,GAGxD,OAAOriC,CACR,CAEA,YAAiBylE,IAAV/oE,EACNixC,EAAO7iB,MAAO4sG,EAAM9jH,EAAMlX,GAC1BixC,EAAOvO,IAAKs4F,EAAM9jH,EACpB,GAAGA,EAAMlX,EAAOolB,UAAUjnB,OAAS,EACpC,IAOD8yC,EAAOspG,MAAQA,GAEfA,GAAM5jH,UAAY,CACjB55B,YAAaw9I,GACbzf,KAAM,SAAUE,EAAMnoH,EAASsU,EAAMvY,EAAK4rI,EAAQ/oE,GACjDx0E,KAAK+9H,KAAOA,EACZ/9H,KAAKkqB,KAAOA,EACZlqB,KAAKu9I,OAASA,GAAUvpG,EAAOupG,OAAO5K,SACtC3yI,KAAK4V,QAAUA,EACf5V,KAAK0R,MAAQ1R,KAAKitC,IAAMjtC,KAAK6P,MAC7B7P,KAAK2R,IAAMA,EACX3R,KAAKw0E,KAAOA,IAAUxgC,EAAO29F,UAAWznH,GAAS,GAAK,KACvD,EACAra,IAAK,WACJ,IAAIsL,EAAQmiI,GAAM8B,UAAWp/I,KAAKkqB,MAElC,OAAO/O,GAASA,EAAMhY,IACrBgY,EAAMhY,IAAKnD,MACXs9I,GAAM8B,UAAUzM,SAASxvI,IAAKnD,KAChC,EACAS,IAAK,SAAU4+I,GACd,IAAIC,EACHnkI,EAAQmiI,GAAM8B,UAAWp/I,KAAKkqB,MAoB/B,OAlBKlqB,KAAK4V,QAAQ8vB,SACjB1lC,KAAKqvH,IAAMiwB,EAAQtrG,EAAOupG,OAAQv9I,KAAKu9I,QACtC8B,EAASr/I,KAAK4V,QAAQ8vB,SAAW25G,EAAS,EAAG,EAAGr/I,KAAK4V,QAAQ8vB,UAG9D1lC,KAAKqvH,IAAMiwB,EAAQD,EAEpBr/I,KAAKitC,KAAQjtC,KAAK2R,IAAM3R,KAAK0R,OAAU4tI,EAAQt/I,KAAK0R,MAE/C1R,KAAK4V,QAAQ+rD,MACjB3hE,KAAK4V,QAAQ+rD,KAAKj4D,KAAM1J,KAAK+9H,KAAM/9H,KAAKitC,IAAKjtC,MAGzCmb,GAASA,EAAMpX,IACnBoX,EAAMpX,IAAK/D,MAEXs9I,GAAM8B,UAAUzM,SAAS5uI,IAAK/D,MAExBA,IACR,GAGDs9I,GAAM5jH,UAAUmkG,KAAKnkG,UAAY4jH,GAAM5jH,UAEvC4jH,GAAM8B,UAAY,CACjBzM,SAAU,CACTxvI,IAAK,SAAUmuI,GACd,IAAI5oI,EAIJ,OAA6B,IAAxB4oI,EAAMvT,KAAKzuF,UACa,MAA5BgiG,EAAMvT,KAAMuT,EAAMpnH,OAAoD,MAAlConH,EAAMvT,KAAK5sG,MAAOmgH,EAAMpnH,MACrDonH,EAAMvT,KAAMuT,EAAMpnH,OAO1BxhB,EAASsrC,EAAOvO,IAAK6rG,EAAMvT,KAAMuT,EAAMpnH,KAAM,IAGrCxhB,GAAqB,SAAXA,EAAwBA,EAAJ,EACvC,EACA3E,IAAK,SAAUutI,GAKTt9F,EAAOurG,GAAG59E,KAAM2vE,EAAMpnH,MAC1B8pB,EAAOurG,GAAG59E,KAAM2vE,EAAMpnH,MAAQonH,GACK,IAAxBA,EAAMvT,KAAKzuF,WACtB0E,EAAOwpG,SAAUlM,EAAMpnH,OAC6B,MAAnDonH,EAAMvT,KAAK5sG,MAAOkrH,GAAe/K,EAAMpnH,OAGxConH,EAAMvT,KAAMuT,EAAMpnH,MAASonH,EAAMrkG,IAFjC+G,EAAO7iB,MAAOmgH,EAAMvT,KAAMuT,EAAMpnH,KAAMonH,EAAMrkG,IAAMqkG,EAAM98D,KAI1D,IAMF8oE,GAAM8B,UAAUz3F,UAAY21F,GAAM8B,UAAU33F,WAAa,CACxD1jD,IAAK,SAAUutI,GACTA,EAAMvT,KAAKzuF,UAAYgiG,EAAMvT,KAAKjwG,aACtCwjH,EAAMvT,KAAMuT,EAAMpnH,MAASonH,EAAMrkG,IAEnC,GAGD+G,EAAOupG,OAAS,CACfiC,OAAQ,SAAUnuI,GACjB,OAAOA,CACR,EACAouI,MAAO,SAAUpuI,GAChB,MAAO,GAAM4iB,KAAK+vD,IAAK3yE,EAAI4iB,KAAKgjD,IAAO,CACxC,EACA07D,SAAU,SAGX3+F,EAAOurG,GAAKjC,GAAM5jH,UAAUmkG,KAG5B7pF,EAAOurG,GAAG59E,KAAO,CAAC,EAKlB,IACC+9E,GAAOC,GACPC,GAAW,yBACXC,GAAO,cAER,SAASC,KACHH,MACqB,IAApBh8G,EAASia,QAAoBjV,EAAOhB,sBACxCgB,EAAOhB,sBAAuBm4G,IAE9Bn3G,EAAOV,WAAY63G,GAAU9rG,EAAOurG,GAAG5iG,UAGxC3I,EAAOurG,GAAGQ,OAEZ,CAGA,SAASC,KAIR,OAHAr3G,EAAOV,YAAY,WAClBy3G,QAAQ5zE,CACT,IACS4zE,GAAQ1yG,KAAKC,KACvB,CAGA,SAASgzG,GAAOl7I,EAAMm7I,GACrB,IAAI5I,EACHt2I,EAAI,EACJmW,EAAQ,CAAE2sC,OAAQ/+C,GAKnB,IADAm7I,EAAeA,EAAe,EAAI,EAC1Bl/I,EAAI,EAAGA,GAAK,EAAIk/I,EACvB5I,EAAQtG,GAAWhwI,GACnBmW,EAAO,SAAWmgI,GAAUngI,EAAO,UAAYmgI,GAAUvyI,EAO1D,OAJKm7I,IACJ/oI,EAAM40E,QAAU50E,EAAM0sC,MAAQ9+C,GAGxBoS,CACR,CAEA,SAASgpI,GAAap9I,EAAOmnB,EAAMytC,GAKlC,IAJA,IAAI25E,EACHqH,GAAeyH,GAAUC,SAAUn2H,IAAU,IAAK1R,OAAQ4nI,GAAUC,SAAU,MAC9EhgJ,EAAQ,EACRa,EAASy3I,EAAWz3I,OACbb,EAAQa,EAAQb,IACvB,GAAOixI,EAAQqH,EAAYt4I,GAAQqJ,KAAMiuD,EAAWztC,EAAMnnB,GAGzD,OAAOuuI,CAGV,CAEA,SAASgP,GAAkBviB,EAAMrqH,EAAO8kG,GACvC,IAAItuF,EAAMnnB,EAAOy2C,EAAQr+B,EAAOolI,EAASC,EAAWC,EAAgBn2G,EACnEo2G,EAAQ,UAAWhtI,GAAS,WAAYA,EACxCitI,EAAO3gJ,KACPw6G,EAAO,CAAC,EACRrpF,EAAQ4sG,EAAK5sG,MACbysB,EAASmgF,EAAKzuF,UAAY6hG,GAAoBpT,GAC9C6iB,EAAW3Q,GAAS9sI,IAAK46H,EAAM,UA6BhC,IAAM7zG,KA1BAsuF,EAAK7nG,QACVwK,EAAQ64B,EAAO28F,YAAa5S,EAAM,MACX,MAAlB5iH,EAAM0lI,WACV1lI,EAAM0lI,SAAW,EACjBN,EAAUplI,EAAM8rH,MAAM4F,KACtB1xH,EAAM8rH,MAAM4F,KAAO,WACZ1xH,EAAM0lI,UACXN,GAEF,GAEDplI,EAAM0lI,WAENF,EAAKvT,QAAQ,WAGZuT,EAAKvT,QAAQ,WACZjyH,EAAM0lI,WACA7sG,EAAOrjC,MAAOotH,EAAM,MAAO78H,QAChCia,EAAM8rH,MAAM4F,MAEd,GACD,KAIan5H,EAEb,GADA3Q,EAAQ2Q,EAAOwW,GACV01H,GAAS3lH,KAAMl3B,GAAU,CAG7B,UAFO2Q,EAAOwW,GACdsvB,EAASA,GAAoB,WAAVz2C,EACdA,KAAY66C,EAAS,OAAS,QAAW,CAI7C,GAAe,SAAV76C,IAAoB69I,QAAiC90E,IAArB80E,EAAU12H,GAK9C,SAJA0zB,GAAS,CAMX,CACA48D,EAAMtwF,GAAS02H,GAAYA,EAAU12H,IAAU8pB,EAAO7iB,MAAO4sG,EAAM7zG,EACpE,CAKD,GADAs2H,GAAaxsG,EAAOgrF,cAAetrH,GAC7B8sI,IAAaxsG,EAAOgrF,cAAexkB,GA8DzC,IAAMtwF,KAzDDw2H,GAA2B,IAAlB3iB,EAAKzuF,WAMlBkpE,EAAKzwD,SAAW,CAAE52B,EAAM42B,SAAU52B,EAAM62B,UAAW72B,EAAM82B,WAGzDw4F,EAAiBG,GAAYA,EAASt2G,QACf,MAAlBm2G,IACJA,EAAiBxQ,GAAS9sI,IAAK46H,EAAM,YAEtCzzF,EAAU0J,EAAOvO,IAAKs4F,EAAM,WACX,SAAZzzF,IACCm2G,EACJn2G,EAAUm2G,GAIV1O,GAAU,CAAEhU,IAAQ,GACpB0iB,EAAiB1iB,EAAK5sG,MAAMmZ,SAAWm2G,EACvCn2G,EAAU0J,EAAOvO,IAAKs4F,EAAM,WAC5BgU,GAAU,CAAEhU,OAKG,WAAZzzF,GAAoC,iBAAZA,GAAgD,MAAlBm2G,IACrB,SAAhCzsG,EAAOvO,IAAKs4F,EAAM,WAGhByiB,IACLG,EAAK91I,MAAM,WACVsmB,EAAMmZ,QAAUm2G,CACjB,IACuB,MAAlBA,IACJn2G,EAAUnZ,EAAMmZ,QAChBm2G,EAA6B,SAAZn2G,EAAqB,GAAKA,IAG7CnZ,EAAMmZ,QAAU,iBAKdkuE,EAAKzwD,WACT52B,EAAM42B,SAAW,SACjB44F,EAAKvT,QAAQ,WACZj8G,EAAM42B,SAAWywD,EAAKzwD,SAAU,GAChC52B,EAAM62B,UAAYwwD,EAAKzwD,SAAU,GACjC52B,EAAM82B,UAAYuwD,EAAKzwD,SAAU,EAClC,KAIDy4F,GAAY,EACEhmC,EAGPgmC,IACAI,EACC,WAAYA,IAChBhjG,EAASgjG,EAAShjG,QAGnBgjG,EAAW3Q,GAASZ,OAAQtR,EAAM,SAAU,CAAEzzF,QAASm2G,IAInDjnG,IACJonG,EAAShjG,QAAUA,GAIfA,GACJm0F,GAAU,CAAEhU,IAAQ,GAKrB4iB,EAAK91I,MAAM,WASV,IAAMqf,KAJA0zB,GACLm0F,GAAU,CAAEhU,IAEbkS,GAAS5jH,OAAQ0xG,EAAM,UACTvjB,EACbxmE,EAAO7iB,MAAO4sG,EAAM7zG,EAAMswF,EAAMtwF,GAElC,KAIDs2H,EAAYL,GAAaviG,EAASgjG,EAAU12H,GAAS,EAAGA,EAAMy2H,GACtDz2H,KAAQ02H,IACfA,EAAU12H,GAASs2H,EAAU9uI,MACxBksC,IACJ4iG,EAAU7uI,IAAM6uI,EAAU9uI,MAC1B8uI,EAAU9uI,MAAQ,GAItB,CAEA,SAASovI,GAAYptI,EAAOqtI,GAC3B,IAAI1gJ,EAAO4Z,EAAMsjI,EAAQx6I,EAAOoY,EAGhC,IAAM9a,KAASqT,EAed,GAdAuG,EAAO41H,GAAWxvI,GAClBk9I,EAASwD,EAAe9mI,GACxBlX,EAAQ2Q,EAAOrT,GACVmd,MAAMlY,QAASvC,KACnBw6I,EAASx6I,EAAO,GAChBA,EAAQ2Q,EAAOrT,GAAU0C,EAAO,IAG5B1C,IAAU4Z,IACdvG,EAAOuG,GAASlX,SACT2Q,EAAOrT,IAGf8a,EAAQ64B,EAAOwpG,SAAUvjI,GACpBkB,GAAS,WAAYA,EAMzB,IAAM9a,KALN0C,EAAQoY,EAAM8jI,OAAQl8I,UACf2Q,EAAOuG,GAIClX,EACN1C,KAASqT,IAChBA,EAAOrT,GAAU0C,EAAO1C,GACxB0gJ,EAAe1gJ,GAAUk9I,QAI3BwD,EAAe9mI,GAASsjI,CAG3B,CAEA,SAAS6C,GAAWriB,EAAMjJ,EAAYl/G,GACrC,IAAIlN,EACHs4I,EACA3gJ,EAAQ,EACRa,EAASk/I,GAAUa,WAAW//I,OAC9BmsI,EAAWr5F,EAAOi5F,WAAWG,QAAQ,kBAG7B2S,EAAKhiB,IACb,IACAgiB,EAAO,WACN,GAAKiB,EACJ,OAAO,EAYR,IAVA,IAAIE,EAAcxB,IAASM,KAC1BzR,EAAYt6G,KAAKoV,IAAK,EAAGsuB,EAAUwpF,UAAYxpF,EAAUjyB,SAAWw7G,GAIpEx0B,EAAO6hB,EAAY52E,EAAUjyB,UAAY,EACzC25G,EAAU,EAAI3yB,EACdrsH,EAAQ,EACRa,EAASy2D,EAAUypF,OAAOlgJ,OAEnBb,EAAQa,EAAQb,IACvBs3D,EAAUypF,OAAQ/gJ,GAAQI,IAAK4+I,GAMhC,OAHAhS,EAASS,WAAY/P,EAAM,CAAEpmE,EAAW0nF,EAAS9Q,IAG5C8Q,EAAU,GAAKn+I,EACZqtI,GAIFrtI,GACLmsI,EAASS,WAAY/P,EAAM,CAAEpmE,EAAW,EAAG,IAI5C01E,EAASU,YAAahQ,EAAM,CAAEpmE,KACvB,EACR,EACAA,EAAY01E,EAAS/uB,QAAS,CAC7Byf,KAAMA,EACNrqH,MAAOsgC,EAAOx+B,OAAQ,CAAC,EAAGs/G,GAC1Btc,KAAMxkE,EAAOx+B,QAAQ,EAAM,CAC1BurI,cAAe,CAAC,EAChBxD,OAAQvpG,EAAOupG,OAAO5K,UACpB/8H,GACHyrI,mBAAoBvsB,EACpBwsB,gBAAiB1rI,EACjBurI,UAAWzB,IAASM,KACpBt6G,SAAU9vB,EAAQ8vB,SAClB07G,OAAQ,GACRjB,YAAa,SAAUj2H,EAAMvY,GAC5B,IAAI2/H,EAAQt9F,EAAOspG,MAAOvf,EAAMpmE,EAAU6gD,KAAMtuF,EAAMvY,EACrDgmD,EAAU6gD,KAAKuoC,cAAe72H,IAAUytC,EAAU6gD,KAAK+kC,QAExD,OADA5lF,EAAUypF,OAAO7gJ,KAAM+wI,GAChBA,CACR,EACAxwI,KAAM,SAAUygJ,GACf,IAAIlhJ,EAAQ,EAIXa,EAASqgJ,EAAU5pF,EAAUypF,OAAOlgJ,OAAS,EAC9C,GAAK8/I,EACJ,OAAOhhJ,KAGR,IADAghJ,GAAU,EACF3gJ,EAAQa,EAAQb,IACvBs3D,EAAUypF,OAAQ/gJ,GAAQI,IAAK,GAUhC,OANK8gJ,GACJlU,EAASS,WAAY/P,EAAM,CAAEpmE,EAAW,EAAG,IAC3C01E,EAASU,YAAahQ,EAAM,CAAEpmE,EAAW4pF,KAEzClU,EAASY,WAAYlQ,EAAM,CAAEpmE,EAAW4pF,IAElCvhJ,IACR,IAED0T,EAAQikD,EAAUjkD,MAInB,IAFAotI,GAAYptI,EAAOikD,EAAU6gD,KAAKuoC,eAE1B1gJ,EAAQa,EAAQb,IAEvB,GADAqI,EAAS03I,GAAUa,WAAY5gJ,GAAQqJ,KAAMiuD,EAAWomE,EAAMrqH,EAAOikD,EAAU6gD,MAC1E9vG,EAKJ,OAJKsF,EAAYtF,EAAO5H,QACvBkzC,EAAO28F,YAAah5E,EAAUomE,KAAMpmE,EAAU6gD,KAAK7nG,OAAQ7P,KAC1D4H,EAAO5H,KAAKyQ,KAAM7I,IAEbA,EAyBT,OArBAsrC,EAAO3tC,IAAKqN,EAAOysI,GAAaxoF,GAE3B3pD,EAAY2pD,EAAU6gD,KAAK9mG,QAC/BimD,EAAU6gD,KAAK9mG,MAAMhI,KAAMq0H,EAAMpmE,GAIlCA,EACE8mD,SAAU9mD,EAAU6gD,KAAKiG,UACzB5zG,KAAM8sD,EAAU6gD,KAAK3tG,KAAM8sD,EAAU6gD,KAAKlV,UAC1C+oC,KAAM10E,EAAU6gD,KAAK6zB,MACrBe,OAAQz1E,EAAU6gD,KAAK40B,QAEzBp5F,EAAOurG,GAAGiC,MACTxtG,EAAOx+B,OAAQuqI,EAAM,CACpBhiB,KAAMA,EACN4iB,KAAMhpF,EACNhnD,MAAOgnD,EAAU6gD,KAAK7nG,SAIjBgnD,CACR,CAEA3jB,EAAOosG,UAAYpsG,EAAOx+B,OAAQ4qI,GAAW,CAE5CC,SAAU,CACT,IAAK,CAAE,SAAUn2H,EAAMnnB,GACtB,IAAIuuI,EAAQtxI,KAAKmgJ,YAAaj2H,EAAMnnB,GAEpC,OADAquI,GAAWE,EAAMvT,KAAM7zG,EAAM6mH,GAAQ9nB,KAAMlmH,GAASuuI,GAC7CA,CACR,IAGDmQ,QAAS,SAAU/tI,EAAOxJ,GACpB8D,EAAY0F,IAChBxJ,EAAWwJ,EACXA,EAAQ,CAAE,MAEVA,EAAQA,EAAMm5B,MAAOi/F,GAOtB,IAJA,IAAI5hH,EACH7pB,EAAQ,EACRa,EAASwS,EAAMxS,OAERb,EAAQa,EAAQb,IACvB6pB,EAAOxW,EAAOrT,GACd+/I,GAAUC,SAAUn2H,GAASk2H,GAAUC,SAAUn2H,IAAU,GAC3Dk2H,GAAUC,SAAUn2H,GAAO1O,QAAStR,EAEtC,EAEA+2I,WAAY,CAAEX,IAEdoB,UAAW,SAAUx3I,EAAUgR,GACzBA,EACJklI,GAAUa,WAAWzlI,QAAStR,GAE9Bk2I,GAAUa,WAAW1gJ,KAAM2J,EAE7B,IAGD8pC,EAAO2tG,MAAQ,SAAUA,EAAOpE,EAAQ78I,GACvC,IAAI2iB,EAAMs+H,GAA0B,kBAAVA,EAAqB3tG,EAAOx+B,OAAQ,CAAC,EAAGmsI,GAAU,CAC3Er+C,SAAU5iG,IAAOA,GAAM68I,GACtBvvI,EAAY2zI,IAAWA,EACxBj8G,SAAUi8G,EACVpE,OAAQ78I,GAAM68I,GAAUA,IAAWvvI,EAAYuvI,IAAYA,GAoC5D,OAhCKvpG,EAAOurG,GAAG1+I,IACdwiB,EAAIqiB,SAAW,EAGc,kBAAjBriB,EAAIqiB,WACVriB,EAAIqiB,YAAYsO,EAAOurG,GAAGqC,OAC9Bv+H,EAAIqiB,SAAWsO,EAAOurG,GAAGqC,OAAQv+H,EAAIqiB,UAGrCriB,EAAIqiB,SAAWsO,EAAOurG,GAAGqC,OAAOjP,UAMjB,MAAbtvH,EAAI1S,QAA+B,IAAd0S,EAAI1S,QAC7B0S,EAAI1S,MAAQ,MAIb0S,EAAI82H,IAAM92H,EAAIigF,SAEdjgF,EAAIigF,SAAW,WACTt1F,EAAYqV,EAAI82H,MACpB92H,EAAI82H,IAAIzwI,KAAM1J,MAGVqjB,EAAI1S,OACRqjC,EAAOy8F,QAASzwI,KAAMqjB,EAAI1S,MAE5B,EAEO0S,CACR,EAEA2wB,EAAOtzC,GAAG8U,OAAQ,CACjBqsI,OAAQ,SAAUF,EAAO58H,EAAIw4H,EAAQrzI,GAGpC,OAAOlK,KAAKoG,OAAQ+qI,IAAqB1rG,IAAK,UAAW,GAAIya,OAG3DvuC,MAAMmwI,QAAS,CAAE/1D,QAAShnE,GAAM48H,EAAOpE,EAAQrzI,EAClD,EACA43I,QAAS,SAAU53H,EAAMy3H,EAAOpE,EAAQrzI,GACvC,IAAI+8H,EAAQjzF,EAAOgrF,cAAe90G,GACjC63H,EAAS/tG,EAAO2tG,MAAOA,EAAOpE,EAAQrzI,GACtC83I,EAAc,WAGb,IAAIrB,EAAOP,GAAWpgJ,KAAMg0C,EAAOx+B,OAAQ,CAAC,EAAG0U,GAAQ63H,IAGlD9a,GAASgJ,GAAS9sI,IAAKnD,KAAM,YACjC2gJ,EAAK7/I,MAAM,EAEb,EAID,OAFAkhJ,EAAYC,OAASD,EAEd/a,IAA0B,IAAjB8a,EAAOpxI,MACtB3Q,KAAKq5C,KAAM2oG,GACXhiJ,KAAK2Q,MAAOoxI,EAAOpxI,MAAOqxI,EAC5B,EACAlhJ,KAAM,SAAUiE,EAAM6rI,EAAY2Q,GACjC,IAAIW,EAAY,SAAU/mI,GACzB,IAAIra,EAAOqa,EAAMra,YACVqa,EAAMra,KACbA,EAAMygJ,EACP,EAWA,MATqB,kBAATx8I,IACXw8I,EAAU3Q,EACVA,EAAa7rI,EACbA,OAAO+mE,GAEH8kE,GACJ5wI,KAAK2Q,MAAO5L,GAAQ,KAAM,IAGpB/E,KAAKq5C,MAAM,WACjB,IAAIo3F,GAAU,EACbpwI,EAAgB,MAAR0E,GAAgBA,EAAO,aAC/Bo9I,EAASnuG,EAAOmuG,OAChB7qI,EAAO24H,GAAS9sI,IAAKnD,MAEtB,GAAKK,EACCiX,EAAMjX,IAAWiX,EAAMjX,GAAQS,MACnCohJ,EAAW5qI,EAAMjX,SAGlB,IAAMA,KAASiX,EACTA,EAAMjX,IAAWiX,EAAMjX,GAAQS,MAAQ++I,GAAK5lH,KAAM55B,IACtD6hJ,EAAW5qI,EAAMjX,IAKpB,IAAMA,EAAQ8hJ,EAAOjhJ,OAAQb,KACvB8hJ,EAAQ9hJ,GAAQ09H,OAAS/9H,MACnB,MAAR+E,GAAgBo9I,EAAQ9hJ,GAAQsQ,QAAU5L,IAE5Co9I,EAAQ9hJ,GAAQsgJ,KAAK7/I,KAAMygJ,GAC3B9Q,GAAU,EACV0R,EAAO/vI,OAAQ/R,EAAO,KAOnBowI,GAAY8Q,GAChBvtG,EAAOy8F,QAASzwI,KAAM+E,EAExB,GACD,EACAk9I,OAAQ,SAAUl9I,GAIjB,OAHc,IAATA,IACJA,EAAOA,GAAQ,MAET/E,KAAKq5C,MAAM,WACjB,IAAIh5C,EACHiX,EAAO24H,GAAS9sI,IAAKnD,MACrB2Q,EAAQ2G,EAAMvS,EAAO,SACrBoW,EAAQ7D,EAAMvS,EAAO,cACrBo9I,EAASnuG,EAAOmuG,OAChBjhJ,EAASyP,EAAQA,EAAMzP,OAAS,EAajC,IAVAoW,EAAK2qI,QAAS,EAGdjuG,EAAOrjC,MAAO3Q,KAAM+E,EAAM,IAErBoW,GAASA,EAAMra,MACnBqa,EAAMra,KAAK4I,KAAM1J,MAAM,GAIlBK,EAAQ8hJ,EAAOjhJ,OAAQb,KACvB8hJ,EAAQ9hJ,GAAQ09H,OAAS/9H,MAAQmiJ,EAAQ9hJ,GAAQsQ,QAAU5L,IAC/Do9I,EAAQ9hJ,GAAQsgJ,KAAK7/I,MAAM,GAC3BqhJ,EAAO/vI,OAAQ/R,EAAO,IAKxB,IAAMA,EAAQ,EAAGA,EAAQa,EAAQb,IAC3BsQ,EAAOtQ,IAAWsQ,EAAOtQ,GAAQ4hJ,QACrCtxI,EAAOtQ,GAAQ4hJ,OAAOv4I,KAAM1J,aAKvBsX,EAAK2qI,MACb,GACD,IAGDjuG,EAAOqF,KAAM,CAAE,SAAU,OAAQ,SAAU,SAAU+R,EAAInxC,GACxD,IAAImoI,EAAQpuG,EAAOtzC,GAAIuZ,GACvB+5B,EAAOtzC,GAAIuZ,GAAS,SAAU0nI,EAAOpE,EAAQrzI,GAC5C,OAAgB,MAATy3I,GAAkC,mBAAVA,EAC9BS,EAAMv7I,MAAO7G,KAAMmoB,WACnBnoB,KAAK8hJ,QAAS7B,GAAOhmI,GAAM,GAAQ0nI,EAAOpE,EAAQrzI,EACpD,CACD,IAGA8pC,EAAOqF,KAAM,CACZgpG,UAAWpC,GAAO,QAClBqC,QAASrC,GAAO,QAChBsC,YAAatC,GAAO,UACpBuC,OAAQ,CAAEz2D,QAAS,QACnB02D,QAAS,CAAE12D,QAAS,QACpB22D,WAAY,CAAE32D,QAAS,YACrB,SAAU9xE,EAAMvG,GAClBsgC,EAAOtzC,GAAIuZ,GAAS,SAAU0nI,EAAOpE,EAAQrzI,GAC5C,OAAOlK,KAAK8hJ,QAASpuI,EAAOiuI,EAAOpE,EAAQrzI,EAC5C,CACD,IAEA8pC,EAAOmuG,OAAS,GAChBnuG,EAAOurG,GAAGQ,KAAO,WAChB,IAAIyB,EACHxgJ,EAAI,EACJmhJ,EAASnuG,EAAOmuG,OAIjB,IAFAzC,GAAQ1yG,KAAKC,MAELjsC,EAAImhJ,EAAOjhJ,OAAQF,IAC1BwgJ,EAAQW,EAAQnhJ,GAGVwgJ,KAAWW,EAAQnhJ,KAAQwgJ,GAChCW,EAAO/vI,OAAQpR,IAAK,GAIhBmhJ,EAAOjhJ,QACZ8yC,EAAOurG,GAAGz+I,OAEX4+I,QAAQ5zE,CACT,EAEA93B,EAAOurG,GAAGiC,MAAQ,SAAUA,GAC3BxtG,EAAOmuG,OAAO5hJ,KAAMihJ,GACpBxtG,EAAOurG,GAAG7tI,OACX,EAEAsiC,EAAOurG,GAAG5iG,SAAW,GACrB3I,EAAOurG,GAAG7tI,MAAQ,WACZiuI,KAILA,IAAa,EACbG,KACD,EAEA9rG,EAAOurG,GAAGz+I,KAAO,WAChB6+I,GAAa,IACd,EAEA3rG,EAAOurG,GAAGqC,OAAS,CAClBe,KAAM,IACNC,KAAM,IAGNjQ,SAAU,KAKX3+F,EAAOtzC,GAAGm3D,MAAQ,SAAUi0B,EAAM/mF,GAIjC,OAHA+mF,EAAO93C,EAAOurG,IAAKvrG,EAAOurG,GAAGqC,OAAQ91D,IAAiBA,EACtD/mF,EAAOA,GAAQ,KAER/E,KAAK2Q,MAAO5L,GAAM,SAAU6F,EAAMuQ,GACxC,IAAI+sB,EAAUS,EAAOV,WAAYr9B,EAAMkhF,GACvC3wE,EAAMra,KAAO,WACZ6nC,EAAO6V,aAActW,EACtB,CACD,GACD,EAGA,WACC,IAAIgxD,EAAQv1D,EAASvW,cAAe,SACnCqvF,EAAS94E,EAASvW,cAAe,UACjC/J,EAAMo5F,EAAOv3E,YAAavB,EAASvW,cAAe,WAEnD8rE,EAAMn0F,KAAO,WAIbo4H,EAAQ0lB,QAA0B,KAAhB3pD,EAAMn2F,MAIxBo6H,EAAQ2lB,YAAcz/H,EAAI2jH,SAI1B9tC,EAAQv1D,EAASvW,cAAe,SAChC8rE,EAAMn2F,MAAQ,IACdm2F,EAAMn0F,KAAO,QACbo4H,EAAQ4lB,WAA6B,MAAhB7pD,EAAMn2F,KAC3B,CArBD,GAwBA,IAAIigJ,GACH/d,GAAajxF,EAAO+wF,KAAKE,WAE1BjxF,EAAOtzC,GAAG8U,OAAQ,CACjB6sF,KAAM,SAAUpoF,EAAMlX,GACrB,OAAOssI,GAAQrvI,KAAMg0C,EAAOquD,KAAMpoF,EAAMlX,EAAOolB,UAAUjnB,OAAS,EACnE,EAEA+hJ,WAAY,SAAUhpI,GACrB,OAAOja,KAAKq5C,MAAM,WACjBrF,EAAOivG,WAAYjjJ,KAAMia,EAC1B,GACD,IAGD+5B,EAAOx+B,OAAQ,CACd6sF,KAAM,SAAU07B,EAAM9jH,EAAMlX,GAC3B,IAAIwa,EAAKpC,EACR+nI,EAAQnlB,EAAKzuF,SAGd,GAAe,IAAV4zG,GAAyB,IAAVA,GAAyB,IAAVA,EAKnC,MAAkC,qBAAtBnlB,EAAK9xF,aACT+H,EAAO9pB,KAAM6zG,EAAM9jH,EAAMlX,IAKlB,IAAVmgJ,GAAgBlvG,EAAOorF,SAAUrB,KACrC5iH,EAAQ64B,EAAOmvG,UAAWlpI,EAAKlE,iBAC5Bi+B,EAAO+wF,KAAKl4F,MAAMo1F,KAAKhoG,KAAMhgB,GAAS+oI,QAAWl3E,SAGtCA,IAAV/oE,EACW,OAAVA,OACJixC,EAAOivG,WAAYllB,EAAM9jH,GAIrBkB,GAAS,QAASA,QACuB2wD,KAA3CvuD,EAAMpC,EAAMpX,IAAKg6H,EAAMh7H,EAAOkX,IACzBsD,GAGRwgH,EAAK55F,aAAclqB,EAAMlX,EAAQ,IAC1BA,GAGHoY,GAAS,QAASA,GAA+C,QAApCoC,EAAMpC,EAAMhY,IAAK46H,EAAM9jH,IACjDsD,GAGRA,EAAMy2B,EAAOkB,KAAKmtD,KAAM07B,EAAM9jH,GAGhB,MAAPsD,OAAcuuD,EAAYvuD,GAClC,EAEA4lI,UAAW,CACVp+I,KAAM,CACLhB,IAAK,SAAUg6H,EAAMh7H,GACpB,IAAMo6H,EAAQ4lB,YAAwB,UAAVhgJ,GAC3B8+C,EAAUk8E,EAAM,SAAY,CAC5B,IAAI95G,EAAM85G,EAAKh7H,MAKf,OAJAg7H,EAAK55F,aAAc,OAAQphC,GACtBkhB,IACJ85G,EAAKh7H,MAAQkhB,GAEPlhB,CACR,CACD,IAIFkgJ,WAAY,SAAUllB,EAAMh7H,GAC3B,IAAIkX,EACHjZ,EAAI,EAIJoiJ,EAAYrgJ,GAASA,EAAM8pC,MAAOi/F,GAEnC,GAAKsX,GAA+B,IAAlBrlB,EAAKzuF,SACtB,MAAUr1B,EAAOmpI,EAAWpiJ,KAC3B+8H,EAAK9zF,gBAAiBhwB,EAGzB,IAID+oI,GAAW,CACVj/I,IAAK,SAAUg6H,EAAMh7H,EAAOkX,GAQ3B,OAPe,IAAVlX,EAGJixC,EAAOivG,WAAYllB,EAAM9jH,GAEzB8jH,EAAK55F,aAAclqB,EAAMA,GAEnBA,CACR,GAGD+5B,EAAOqF,KAAMrF,EAAO+wF,KAAKl4F,MAAMo1F,KAAK5kH,OAAOwvB,MAAO,SAAU,SAAUue,EAAInxC,GACzE,IAAI/M,EAAS+3H,GAAYhrH,IAAU+5B,EAAOkB,KAAKmtD,KAE/C4iC,GAAYhrH,GAAS,SAAU8jH,EAAM9jH,EAAMswH,GAC1C,IAAIhtH,EAAKq3H,EACRyO,EAAgBppI,EAAKlE,cAYtB,OAVMw0H,IAGLqK,EAAS3P,GAAYoe,GACrBpe,GAAYoe,GAAkB9lI,EAC9BA,EAAqC,MAA/BrQ,EAAQ6wH,EAAM9jH,EAAMswH,GACzB8Y,EACA,KACDpe,GAAYoe,GAAkBzO,GAExBr3H,CACR,CACD,IAKA,IAAI+lI,GAAa,sCAChBC,GAAa,gBAwIb,SAASC,GAAkBzgJ,GAC1B,IAAIsvE,EAAStvE,EAAM8pC,MAAOi/F,IAAmB,GAC7C,OAAOz5D,EAAOroC,KAAM,IACrB,CAGD,SAASy5G,GAAU1lB,GAClB,OAAOA,EAAK9xF,cAAgB8xF,EAAK9xF,aAAc,UAAa,EAC7D,CAEA,SAASy3G,GAAgB3gJ,GACxB,OAAKya,MAAMlY,QAASvC,GACZA,EAEc,kBAAVA,GACJA,EAAM8pC,MAAOi/F,IAEd,EACR,CAxJA93F,EAAOtzC,GAAG8U,OAAQ,CACjB0U,KAAM,SAAUjQ,EAAMlX,GACrB,OAAOssI,GAAQrvI,KAAMg0C,EAAO9pB,KAAMjQ,EAAMlX,EAAOolB,UAAUjnB,OAAS,EACnE,EAEAyiJ,WAAY,SAAU1pI,GACrB,OAAOja,KAAKq5C,MAAM,kBACVr5C,KAAMg0C,EAAO4vG,QAAS3pI,IAAUA,EACxC,GACD,IAGD+5B,EAAOx+B,OAAQ,CACd0U,KAAM,SAAU6zG,EAAM9jH,EAAMlX,GAC3B,IAAIwa,EAAKpC,EACR+nI,EAAQnlB,EAAKzuF,SAGd,GAAe,IAAV4zG,GAAyB,IAAVA,GAAyB,IAAVA,EAWnC,OAPe,IAAVA,GAAgBlvG,EAAOorF,SAAUrB,KAGrC9jH,EAAO+5B,EAAO4vG,QAAS3pI,IAAUA,EACjCkB,EAAQ64B,EAAOorG,UAAWnlI,SAGZ6xD,IAAV/oE,EACCoY,GAAS,QAASA,QACuB2wD,KAA3CvuD,EAAMpC,EAAMpX,IAAKg6H,EAAMh7H,EAAOkX,IACzBsD,EAGCwgH,EAAM9jH,GAASlX,EAGpBoY,GAAS,QAASA,GAA+C,QAApCoC,EAAMpC,EAAMhY,IAAK46H,EAAM9jH,IACjDsD,EAGDwgH,EAAM9jH,EACd,EAEAmlI,UAAW,CACVrY,SAAU,CACT5jI,IAAK,SAAU46H,GAMd,IAAI8lB,EAAW7vG,EAAOkB,KAAKmtD,KAAM07B,EAAM,YAEvC,OAAK8lB,EACGzzG,SAAUyzG,EAAU,IAI3BP,GAAWrpH,KAAM8jG,EAAKl8E,WACtB0hG,GAAWtpH,KAAM8jG,EAAKl8E,WACtBk8E,EAAKx5B,KAEE,GAGA,CACT,IAIFq/C,QAAS,CACR,IAAO,UACP,MAAS,eAYLzmB,EAAQ2lB,cACb9uG,EAAOorG,UAAUpY,SAAW,CAC3B7jI,IAAK,SAAU46H,GAId,IAAI39H,EAAS29H,EAAKjwG,WAIlB,OAHK1tB,GAAUA,EAAO0tB,YACrB1tB,EAAO0tB,WAAWwrE,cAEZ,IACR,EACAv1F,IAAK,SAAUg6H,GAId,IAAI39H,EAAS29H,EAAKjwG,WACb1tB,IACJA,EAAOk5F,cAEFl5F,EAAO0tB,YACX1tB,EAAO0tB,WAAWwrE,cAGrB,IAIFtlD,EAAOqF,KAAM,CACZ,WACA,WACA,YACA,cACA,cACA,UACA,UACA,SACA,cACA,oBACE,WACFrF,EAAO4vG,QAAS5jJ,KAAK+V,eAAkB/V,IACxC,IA2BAg0C,EAAOtzC,GAAG8U,OAAQ,CACjBsuI,SAAU,SAAU/gJ,GACnB,IAAIghJ,EAAYl0I,EAAKm0I,EAAU95G,EAAWlpC,EAAGijJ,EAE7C,OAAKj2I,EAAYjL,GACT/C,KAAKq5C,MAAM,SAAUzkB,GAC3Bof,EAAQh0C,MAAO8jJ,SAAU/gJ,EAAM2G,KAAM1J,KAAM40B,EAAG6uH,GAAUzjJ,OACzD,KAGD+jJ,EAAaL,GAAgB3gJ,GAExBghJ,EAAW7iJ,OACRlB,KAAKq5C,MAAM,WAIjB,GAHA2qG,EAAWP,GAAUzjJ,MACrB6P,EAAwB,IAAlB7P,KAAKsvC,UAAoB,IAAMk0G,GAAkBQ,GAAa,IAE/Dn0I,EAAM,CACV,IAAM7O,EAAI,EAAGA,EAAI+iJ,EAAW7iJ,OAAQF,IACnCkpC,EAAY65G,EAAY/iJ,GACnB6O,EAAI2C,QAAS,IAAM03B,EAAY,KAAQ,IAC3Cr6B,GAAOq6B,EAAY,KAKrB+5G,EAAaT,GAAkB3zI,GAC1Bm0I,IAAaC,GACjBjkJ,KAAKmkC,aAAc,QAAS8/G,EAE9B,CACD,IAGMjkJ,KACR,EAEAkkJ,YAAa,SAAUnhJ,GACtB,IAAIghJ,EAAYl0I,EAAKm0I,EAAU95G,EAAWlpC,EAAGijJ,EAE7C,OAAKj2I,EAAYjL,GACT/C,KAAKq5C,MAAM,SAAUzkB,GAC3Bof,EAAQh0C,MAAOkkJ,YAAanhJ,EAAM2G,KAAM1J,KAAM40B,EAAG6uH,GAAUzjJ,OAC5D,IAGKmoB,UAAUjnB,QAIhB6iJ,EAAaL,GAAgB3gJ,GAExBghJ,EAAW7iJ,OACRlB,KAAKq5C,MAAM,WAMjB,GALA2qG,EAAWP,GAAUzjJ,MAGrB6P,EAAwB,IAAlB7P,KAAKsvC,UAAoB,IAAMk0G,GAAkBQ,GAAa,IAE/Dn0I,EAAM,CACV,IAAM7O,EAAI,EAAGA,EAAI+iJ,EAAW7iJ,OAAQF,IAAM,CACzCkpC,EAAY65G,EAAY/iJ,GAGxB,MAAQ6O,EAAI2C,QAAS,IAAM03B,EAAY,MAAS,EAC/Cr6B,EAAMA,EAAIiG,QAAS,IAAMo0B,EAAY,IAAK,IAE5C,CAGA+5G,EAAaT,GAAkB3zI,GAC1Bm0I,IAAaC,GACjBjkJ,KAAKmkC,aAAc,QAAS8/G,EAE9B,CACD,IAGMjkJ,MA/BCA,KAAKqiG,KAAM,QAAS,GAgC7B,EAEA8hD,YAAa,SAAUphJ,EAAOqhJ,GAC7B,IAAIL,EAAY75G,EAAWlpC,EAAGyM,EAC7B1I,SAAchC,EACdshJ,EAAwB,WAATt/I,GAAqByY,MAAMlY,QAASvC,GAEpD,OAAKiL,EAAYjL,GACT/C,KAAKq5C,MAAM,SAAUr4C,GAC3BgzC,EAAQh0C,MAAOmkJ,YACdphJ,EAAM2G,KAAM1J,KAAMgB,EAAGyiJ,GAAUzjJ,MAAQokJ,GACvCA,EAEF,IAGwB,mBAAbA,GAA0BC,EAC9BD,EAAWpkJ,KAAK8jJ,SAAU/gJ,GAAU/C,KAAKkkJ,YAAanhJ,IAG9DghJ,EAAaL,GAAgB3gJ,GAEtB/C,KAAKq5C,MAAM,WACjB,GAAKgrG,EAKJ,IAFA52I,EAAOumC,EAAQh0C,MAETgB,EAAI,EAAGA,EAAI+iJ,EAAW7iJ,OAAQF,IACnCkpC,EAAY65G,EAAY/iJ,GAGnByM,EAAK62I,SAAUp6G,GACnBz8B,EAAKy2I,YAAah6G,GAElBz8B,EAAKq2I,SAAU55G,aAKI4hC,IAAV/oE,GAAgC,YAATgC,IAClCmlC,EAAYu5G,GAAUzjJ,MACjBkqC,GAGJ+lG,GAASlsI,IAAK/D,KAAM,gBAAiBkqC,GAOjClqC,KAAKmkC,cACTnkC,KAAKmkC,aAAc,QAClB+F,IAAuB,IAAVnnC,EACZ,GACAktI,GAAS9sI,IAAKnD,KAAM,kBAAqB,IAI9C,IACD,EAEAskJ,SAAU,SAAU7/G,GACnB,IAAIyF,EAAW6zF,EACd/8H,EAAI,EAELkpC,EAAY,IAAMzF,EAAW,IAC7B,MAAUs5F,EAAO/9H,KAAMgB,KACtB,GAAuB,IAAlB+8H,EAAKzuF,WACP,IAAMk0G,GAAkBC,GAAU1lB,IAAW,KAAMvrH,QAAS03B,IAAe,EAC7E,OAAO,EAIT,OAAO,CACR,IAMD,IAAIq6G,GAAU,MAEdvwG,EAAOtzC,GAAG8U,OAAQ,CACjByO,IAAK,SAAUlhB,GACd,IAAIoY,EAAOoC,EAAKu7H,EACf/a,EAAO/9H,KAAM,GAEd,OAAMmoB,UAAUjnB,QA0BhB43I,EAAkB9qI,EAAYjL,GAEvB/C,KAAKq5C,MAAM,SAAUr4C,GAC3B,IAAIijB,EAEmB,IAAlBjkB,KAAKsvC,WAKTrrB,EADI60H,EACE/1I,EAAM2G,KAAM1J,KAAMgB,EAAGgzC,EAAQh0C,MAAOikB,OAEpClhB,EAIK,MAAPkhB,EACJA,EAAM,GAEoB,kBAARA,EAClBA,GAAO,GAEIzG,MAAMlY,QAAS2e,KAC1BA,EAAM+vB,EAAO3tC,IAAK4d,GAAK,SAAUlhB,GAChC,OAAgB,MAATA,EAAgB,GAAKA,EAAQ,EACrC,KAGDoY,EAAQ64B,EAAOwwG,SAAUxkJ,KAAK+E,OAAUivC,EAAOwwG,SAAUxkJ,KAAK6hD,SAAS9rC,eAGjEoF,GAAY,QAASA,QAA+C2wD,IAApC3wD,EAAMpX,IAAK/D,KAAMikB,EAAK,WAC3DjkB,KAAK+C,MAAQkhB,GAEf,KA3DM85G,GACJ5iH,EAAQ64B,EAAOwwG,SAAUzmB,EAAKh5H,OAC7BivC,EAAOwwG,SAAUzmB,EAAKl8E,SAAS9rC,eAE3BoF,GACJ,QAASA,QACgC2wD,KAAvCvuD,EAAMpC,EAAMhY,IAAK46H,EAAM,UAElBxgH,GAGRA,EAAMwgH,EAAKh7H,MAGS,kBAARwa,EACJA,EAAIzH,QAASyuI,GAAS,IAIhB,MAAPhnI,EAAc,GAAKA,SAG3B,CAsCF,IAGDy2B,EAAOx+B,OAAQ,CACdgvI,SAAU,CACTnrD,OAAQ,CACPl2F,IAAK,SAAU46H,GAEd,IAAI95G,EAAM+vB,EAAOkB,KAAKmtD,KAAM07B,EAAM,SAClC,OAAc,MAAP95G,EACNA,EAMAu/H,GAAkBxvG,EAAOvT,KAAMs9F,GACjC,GAEDthB,OAAQ,CACPt5G,IAAK,SAAU46H,GACd,IAAIh7H,EAAOs2F,EAAQr4F,EAClB4U,EAAUmoH,EAAKnoH,QACfvV,EAAQ09H,EAAKzkC,cACbvjD,EAAoB,eAAdgoF,EAAKh5H,KACXM,EAAS0wC,EAAM,KAAO,GACtB1M,EAAM0M,EAAM11C,EAAQ,EAAIuV,EAAQ1U,OAUjC,IAPCF,EADIX,EAAQ,EACRgpC,EAGA0M,EAAM11C,EAAQ,EAIXW,EAAIqoC,EAAKroC,IAKhB,GAJAq4F,EAASzjF,EAAS5U,IAIXq4F,EAAO2tC,UAAYhmI,IAAMX,KAG7Bg5F,EAAO3lD,YACL2lD,EAAOvrE,WAAW4lB,WACnBmO,EAAUw3C,EAAOvrE,WAAY,aAAiB,CAMjD,GAHA/qB,EAAQixC,EAAQqlD,GAASp1E,MAGpB8xB,EACJ,OAAOhzC,EAIRsC,EAAO9E,KAAMwC,EACd,CAGD,OAAOsC,CACR,EAEAtB,IAAK,SAAUg6H,EAAMh7H,GACpB,IAAI0hJ,EAAWprD,EACdzjF,EAAUmoH,EAAKnoH,QACfvQ,EAAS2uC,EAAOkrF,UAAWn8H,GAC3B/B,EAAI4U,EAAQ1U,OAEb,MAAQF,IACPq4F,EAASzjF,EAAS5U,IAIbq4F,EAAO2tC,SACXhzF,EAAOmrF,QAASnrF,EAAOwwG,SAASnrD,OAAOl2F,IAAKk2F,GAAUh0F,IAAY,KAElEo/I,GAAY,GAUd,OAHMA,IACL1mB,EAAKzkC,eAAiB,GAEhBj0F,CACR,MAMH2uC,EAAOqF,KAAM,CAAE,QAAS,aAAc,WACrCrF,EAAOwwG,SAAUxkJ,MAAS,CACzB+D,IAAK,SAAUg6H,EAAMh7H,GACpB,GAAKya,MAAMlY,QAASvC,GACnB,OAASg7H,EAAK5kC,QAAUnlD,EAAOmrF,QAASnrF,EAAQ+pF,GAAO95G,MAAOlhB,IAAW,CAE3E,GAEKo6H,EAAQ0lB,UACb7uG,EAAOwwG,SAAUxkJ,MAAOmD,IAAM,SAAU46H,GACvC,OAAwC,OAAjCA,EAAK9xF,aAAc,SAAqB,KAAO8xF,EAAKh7H,KAC5D,EAEF,IAMA,IAAI+hG,GAAWn8D,EAAOm8D,SAElBw4B,GAAQ,CAAEoC,KAAM1yF,KAAKC,OAErBy3G,GAAW,KAKf1wG,EAAO2wG,SAAW,SAAUrtI,GAC3B,IAAI2uH,EAAK2e,EACT,IAAMttI,GAAwB,kBAATA,EACpB,OAAO,KAKR,IACC2uH,GAAQ,IAAIt9F,EAAOiuB,WAAcC,gBAAiBv/C,EAAM,WACzD,CAAE,MAAQkrB,GAAK,CAYf,OAVAoiH,EAAkB3e,GAAOA,EAAItoB,qBAAsB,eAAiB,GAC9DsoB,IAAO2e,GACZ5wG,EAAOxjC,MAAO,iBACbo0I,EACC5wG,EAAO3tC,IAAKu+I,EAAgBnhD,YAAY,SAAU9pF,GACjD,OAAOA,EAAG4qB,WACX,IAAIyF,KAAM,MACV1yB,IAGI2uH,CACR,EAGA,IAAI4e,GAAc,kCACjBC,GAA0B,SAAUtiH,GACnCA,EAAE2rB,iBACH,EAEDna,EAAOx+B,OAAQw+B,EAAOzgC,MAAO,CAE5B7R,QAAS,SAAU6R,EAAO+D,EAAMymH,EAAMgnB,GAErC,IAAI/jJ,EAAG6O,EAAK4hC,EAAKuzG,EAAYC,EAAQrQ,EAAQhH,EAASsX,EACrDC,EAAY,CAAEpnB,GAAQp6F,GACtB5+B,EAAO8C,EAAO6B,KAAM6J,EAAO,QAAWA,EAAMxO,KAAOwO,EACnDkhI,EAAa5sI,EAAO6B,KAAM6J,EAAO,aAAgBA,EAAMmU,UAAU2R,MAAO,KAAQ,GAKjF,GAHAxpB,EAAMq1I,EAAczzG,EAAMssF,EAAOA,GAAQp6F,EAGlB,IAAlBo6F,EAAKzuF,UAAoC,IAAlByuF,EAAKzuF,WAK5Bu1G,GAAY5qH,KAAMl1B,EAAOivC,EAAOzgC,MAAMshI,aAItC9vI,EAAKyN,QAAS,MAAS,IAG3BiiI,EAAa1vI,EAAKs0B,MAAO,KACzBt0B,EAAO0vI,EAAW7wI,QAClB6wI,EAAWzhI,QAEZiyI,EAASlgJ,EAAKyN,QAAS,KAAQ,GAAK,KAAOzN,EAG3CwO,EAAQA,EAAOygC,EAAO6qF,SACrBtrH,EACA,IAAIygC,EAAOd,MAAOnuC,EAAuB,kBAAVwO,GAAsBA,GAGtDA,EAAM2gI,UAAY6Q,EAAe,EAAI,EACrCxxI,EAAMmU,UAAY+sH,EAAWzqG,KAAM,KACnCz2B,EAAMmiI,WAAaniI,EAAMmU,UACxB,IAAImS,OAAQ,UAAY46G,EAAWzqG,KAAM,iBAAoB,WAC7D,KAGDz2B,EAAM7K,YAASojE,EACTv4D,EAAMzO,SACXyO,EAAMzO,OAASi5H,GAIhBzmH,EAAe,MAARA,EACN,CAAE/D,GACFygC,EAAOkrF,UAAW5nH,EAAM,CAAE/D,IAG3Bq6H,EAAU55F,EAAOzgC,MAAMq6H,QAAS7oI,IAAU,CAAC,EACrCggJ,IAAgBnX,EAAQlsI,UAAmD,IAAxCksI,EAAQlsI,QAAQmF,MAAOk3H,EAAMzmH,IAAtE,CAMA,IAAMytI,IAAiBnX,EAAQqI,WAAa7Y,EAAUW,GAAS,CAM9D,IAJAinB,EAAapX,EAAQuG,cAAgBpvI,EAC/B8/I,GAAY5qH,KAAM+qH,EAAajgJ,KACpC8K,EAAMA,EAAIie,YAEHje,EAAKA,EAAMA,EAAIie,WACtBq3H,EAAU5kJ,KAAMsP,GAChB4hC,EAAM5hC,EAIF4hC,KAAUssF,EAAKh8E,eAAiBpe,IACpCwhH,EAAU5kJ,KAAMkxC,EAAIuQ,aAAevQ,EAAIk7E,cAAgBhkF,EAEzD,CAGA3nC,EAAI,EACJ,OAAU6O,EAAMs1I,EAAWnkJ,QAAYuS,EAAMyiC,uBAC5CkvG,EAAcr1I,EACd0D,EAAMxO,KAAO/D,EAAI,EAChBgkJ,EACApX,EAAQmH,UAAYhwI,EAGrB6vI,GAAW3E,GAAS9sI,IAAK0M,EAAK,WAAc3J,OAAO+Y,OAAQ,OAAU1L,EAAMxO,OAC1EkrI,GAAS9sI,IAAK0M,EAAK,UACf+kI,GACJA,EAAO/tI,MAAOgJ,EAAKyH,GAIpBs9H,EAASqQ,GAAUp1I,EAAKo1I,GACnBrQ,GAAUA,EAAO/tI,OAASipI,GAAYjgI,KAC1C0D,EAAM7K,OAASksI,EAAO/tI,MAAOgJ,EAAKyH,IACZ,IAAjB/D,EAAM7K,QACV6K,EAAM8iC,kBA8CT,OA1CA9iC,EAAMxO,KAAOA,EAGPggJ,GAAiBxxI,EAAM2iC,sBAEpB03F,EAAQ+E,WACqC,IAApD/E,EAAQ+E,SAAS9rI,MAAOs+I,EAAU/jJ,MAAOkW,KACzCw4H,GAAY/R,IAIPknB,GAAUj3I,EAAY+vH,EAAMh5H,MAAaq4H,EAAUW,KAGvDtsF,EAAMssF,EAAMknB,GAEPxzG,IACJssF,EAAMknB,GAAW,MAIlBjxG,EAAOzgC,MAAMshI,UAAY9vI,EAEpBwO,EAAMyiC,wBACVkvG,EAAYz8G,iBAAkB1jC,EAAM+/I,IAGrC/mB,EAAMh5H,KAEDwO,EAAMyiC,wBACVkvG,EAAY38G,oBAAqBxjC,EAAM+/I,IAGxC9wG,EAAOzgC,MAAMshI,eAAY/oE,EAEpBr6B,IACJssF,EAAMknB,GAAWxzG,IAMdl+B,EAAM7K,MAvFb,CAwFD,EAIA+uI,SAAU,SAAU1yI,EAAMg5H,EAAMxqH,GAC/B,IAAIivB,EAAIwR,EAAOx+B,OACd,IAAIw+B,EAAOd,MACX3/B,EACA,CACCxO,KAAMA,EACNsxI,aAAa,IAIfriG,EAAOzgC,MAAM7R,QAAS8gC,EAAG,KAAMu7F,EAChC,IAID/pF,EAAOtzC,GAAG8U,OAAQ,CAEjB9T,QAAS,SAAUqD,EAAMuS,GACxB,OAAOtX,KAAKq5C,MAAM,WACjBrF,EAAOzgC,MAAM7R,QAASqD,EAAMuS,EAAMtX,KACnC,GACD,EACAolJ,eAAgB,SAAUrgJ,EAAMuS,GAC/B,IAAIymH,EAAO/9H,KAAM,GACjB,GAAK+9H,EACJ,OAAO/pF,EAAOzgC,MAAM7R,QAASqD,EAAMuS,EAAMymH,GAAM,EAEjD,IAID,IACCsnB,GAAW,QACXC,GAAQ,SACRC,GAAkB,wCAClBC,GAAe,qCAEhB,SAASC,GAAaljE,EAAQv7E,EAAK0+I,EAAa/7I,GAC/C,IAAIsQ,EAEJ,GAAKuD,MAAMlY,QAAS0B,GAGnBgtC,EAAOqF,KAAMryC,GAAK,SAAUhG,EAAGwB,GACzBkjJ,GAAeL,GAASprH,KAAMsoD,GAGlC54E,EAAK44E,EAAQ//E,GAKbijJ,GACCljE,EAAS,KAAqB,kBAAN//E,GAAuB,MAALA,EAAYxB,EAAI,IAAO,IACjEwB,EACAkjJ,EACA/7I,EAGH,SAEM,GAAM+7I,GAAiC,WAAlB/nB,EAAQ32H,GAUnC2C,EAAK44E,EAAQv7E,QAPb,IAAMiT,KAAQjT,EACby+I,GAAaljE,EAAS,IAAMtoE,EAAO,IAAKjT,EAAKiT,GAAQyrI,EAAa/7I,EAQrE,CAIAqqC,EAAO2xG,MAAQ,SAAU1yI,EAAGyyI,GAC3B,IAAInjE,EACH1pD,EAAI,GACJlvB,EAAM,SAAU3E,EAAK4gJ,GAGpB,IAAI7iJ,EAAQiL,EAAY43I,GACvBA,IACAA,EAED/sH,EAAGA,EAAE33B,QAAWi0F,mBAAoBnwF,GAAQ,IAC3CmwF,mBAA6B,MAATpyF,EAAgB,GAAKA,EAC3C,EAED,GAAU,MAALkQ,EACJ,MAAO,GAIR,GAAKuK,MAAMlY,QAAS2N,IAASA,EAAEkgC,SAAWa,EAAOxa,cAAevmB,GAG/D+gC,EAAOqF,KAAMpmC,GAAG,WACftJ,EAAK3J,KAAKia,KAAMja,KAAK+C,MACtB,SAMA,IAAMw/E,KAAUtvE,EACfwyI,GAAaljE,EAAQtvE,EAAGsvE,GAAUmjE,EAAa/7I,GAKjD,OAAOkvB,EAAEmR,KAAM,IAChB,EAEAgK,EAAOtzC,GAAG8U,OAAQ,CACjBqwI,UAAW,WACV,OAAO7xG,EAAO2xG,MAAO3lJ,KAAK8lJ,iBAC3B,EACAA,eAAgB,WACf,OAAO9lJ,KAAKqG,KAAK,WAGhB,IAAIk8C,EAAWvO,EAAO9pB,KAAMlqB,KAAM,YAClC,OAAOuiD,EAAWvO,EAAOkrF,UAAW38E,GAAaviD,IAClD,IAAIoG,QAAQ,WACX,IAAIrB,EAAO/E,KAAK+E,KAGhB,OAAO/E,KAAKia,OAAS+5B,EAAQh0C,MAAO8vB,GAAI,cACvC01H,GAAavrH,KAAMj6B,KAAK6hD,YAAe0jG,GAAgBtrH,KAAMl1B,KAC3D/E,KAAKm5F,UAAY64C,GAAe/3G,KAAMl1B,GAC1C,IAAIsB,KAAK,SAAU+kD,EAAI2yE,GACtB,IAAI95G,EAAM+vB,EAAQh0C,MAAOikB,MAEzB,OAAY,MAAPA,EACG,KAGHzG,MAAMlY,QAAS2e,GACZ+vB,EAAO3tC,IAAK4d,GAAK,SAAUA,GACjC,MAAO,CAAEhK,KAAM8jH,EAAK9jH,KAAMlX,MAAOkhB,EAAInO,QAASwvI,GAAO,QACtD,IAGM,CAAErrI,KAAM8jH,EAAK9jH,KAAMlX,MAAOkhB,EAAInO,QAASwvI,GAAO,QACtD,IAAIniJ,KACL,IAID,IACC4iJ,GAAM,OACNC,GAAQ,OACRC,GAAa,gBACbC,GAAW,6BAGXC,GAAiB,4DACjBC,GAAa,iBACbC,GAAY,QAWZpF,GAAa,CAAC,EAOdqF,GAAa,CAAC,EAGdC,GAAW,KAAK/tI,OAAQ,KAGxBguI,GAAe7iH,EAASvW,cAAe,KAKxC,SAASq5H,GAA6BC,GAGrC,OAAO,SAAUC,EAAoBzZ,GAED,kBAAvByZ,IACXzZ,EAAOyZ,EACPA,EAAqB,KAGtB,IAAIC,EACH5lJ,EAAI,EACJ6lJ,EAAYF,EAAmB5wI,cAAc82B,MAAOi/F,IAAmB,GAExE,GAAK99H,EAAYk/H,GAGhB,MAAU0Z,EAAWC,EAAW7lJ,KAGR,MAAlB4lJ,EAAU,IACdA,EAAWA,EAAS7yI,MAAO,IAAO,KAChC2yI,EAAWE,GAAaF,EAAWE,IAAc,IAAKprI,QAAS0xH,KAI/DwZ,EAAWE,GAAaF,EAAWE,IAAc,IAAKrmJ,KAAM2sI,EAIlE,CACD,CAGA,SAAS4Z,GAA+BJ,EAAW9wI,EAAS0rI,EAAiByF,GAE5E,IAAIC,EAAY,CAAC,EAChBC,EAAqBP,IAAcJ,GAEpC,SAASY,EAASN,GACjB,IAAI5f,EAcJ,OAbAggB,EAAWJ,IAAa,EACxB5yG,EAAOqF,KAAMqtG,EAAWE,IAAc,IAAI,SAAUpoI,EAAG2oI,GACtD,IAAIC,EAAsBD,EAAoBvxI,EAAS0rI,EAAiByF,GACxE,MAAoC,kBAAxBK,GACVH,GAAqBD,EAAWI,GAKtBH,IACDjgB,EAAWogB,QADf,GAHNxxI,EAAQixI,UAAUrrI,QAAS4rI,GAC3BF,EAASE,IACF,EAIT,IACOpgB,CACR,CAEA,OAAOkgB,EAAStxI,EAAQixI,UAAW,MAAUG,EAAW,MAASE,EAAS,IAC3E,CAKA,SAASG,GAAYviJ,EAAQqvF,GAC5B,IAAInvF,EAAK+X,EACRuqI,EAActzG,EAAOuzG,aAAaD,aAAe,CAAC,EAEnD,IAAMtiJ,KAAOmvF,OACQroB,IAAfqoB,EAAKnvF,MACPsiJ,EAAatiJ,GAAQF,EAAWiY,IAAUA,EAAO,CAAC,IAAS/X,GAAQmvF,EAAKnvF,IAO5E,OAJK+X,GACJi3B,EAAOx+B,QAAQ,EAAM1Q,EAAQiY,GAGvBjY,CACR,CAMA,SAAS0iJ,GAAqB3uH,EAAGkuH,EAAOU,GAEvC,IAAIhsG,EAAI12C,EAAM2iJ,EAAeC,EAC5Bvc,EAAWvyG,EAAEuyG,SACbyb,EAAYhuH,EAAEguH,UAGf,MAA2B,MAAnBA,EAAW,GAClBA,EAAUjjJ,aACEkoE,IAAPrwB,IACJA,EAAK5iB,EAAE+uH,UAAYb,EAAMc,kBAAmB,iBAK9C,GAAKpsG,EACJ,IAAM12C,KAAQqmI,EACb,GAAKA,EAAUrmI,IAAUqmI,EAAUrmI,GAAOk1B,KAAMwhB,GAAO,CACtDorG,EAAUrrI,QAASzW,GACnB,KACD,CAKF,GAAK8hJ,EAAW,KAAOY,EACtBC,EAAgBb,EAAW,OACrB,CAGN,IAAM9hJ,KAAQ0iJ,EAAY,CACzB,IAAMZ,EAAW,IAAOhuH,EAAEivH,WAAY/iJ,EAAO,IAAM8hJ,EAAW,IAAQ,CACrEa,EAAgB3iJ,EAChB,KACD,CACM4iJ,IACLA,EAAgB5iJ,EAElB,CAGA2iJ,EAAgBA,GAAiBC,CAClC,CAKA,GAAKD,EAIJ,OAHKA,IAAkBb,EAAW,IACjCA,EAAUrrI,QAASksI,GAEbD,EAAWC,EAEpB,CAKA,SAASK,GAAalvH,EAAGgtE,EAAUkhD,EAAOiB,GACzC,IAAIC,EAAO7tH,EAAS8tH,EAAMz2G,EAAKt7B,EAC9B2xI,EAAa,CAAC,EAGdjB,EAAYhuH,EAAEguH,UAAU9yI,QAGzB,GAAK8yI,EAAW,GACf,IAAMqB,KAAQrvH,EAAEivH,WACfA,EAAYI,EAAKnyI,eAAkB8iB,EAAEivH,WAAYI,GAInD9tH,EAAUysH,EAAUjjJ,QAGpB,MAAQw2B,EAcP,GAZKvB,EAAEsvH,eAAgB/tH,KACtB2sH,EAAOluH,EAAEsvH,eAAgB/tH,IAAcyrE,IAIlC1vF,GAAQ6xI,GAAanvH,EAAEuvH,aAC5BviD,EAAWhtE,EAAEuvH,WAAYviD,EAAUhtE,EAAE+tH,WAGtCzwI,EAAOikB,EACPA,EAAUysH,EAAUjjJ,QAEfw2B,EAGJ,GAAiB,MAAZA,EAEJA,EAAUjkB,OAGJ,GAAc,MAATA,GAAgBA,IAASikB,EAAU,CAM9C,GAHA8tH,EAAOJ,EAAY3xI,EAAO,IAAMikB,IAAa0tH,EAAY,KAAO1tH,IAG1D8tH,EACL,IAAMD,KAASH,EAId,GADAr2G,EAAMw2G,EAAM5uH,MAAO,KACdoY,EAAK,KAAQrX,IAGjB8tH,EAAOJ,EAAY3xI,EAAO,IAAMs7B,EAAK,KACpCq2G,EAAY,KAAOr2G,EAAK,IACpBy2G,GAAO,EAGG,IAATA,EACJA,EAAOJ,EAAYG,IAGgB,IAAxBH,EAAYG,KACvB7tH,EAAUqX,EAAK,GACfo1G,EAAUrrI,QAASi2B,EAAK,KAEzB,KACD,CAMH,IAAc,IAATy2G,EAGJ,GAAKA,GAAQrvH,EAAEwvH,OACdxiD,EAAWqiD,EAAMriD,QAEjB,IACCA,EAAWqiD,EAAMriD,EAClB,CAAE,MAAQrjE,GACT,MAAO,CACNjiB,MAAO,cACP/P,MAAO03I,EAAO1lH,EAAI,sBAAwBrsB,EAAO,OAASikB,EAE5D,CAGH,CAIF,MAAO,CAAE7Z,MAAO,UAAWjJ,KAAMuuF,EAClC,CA9OA2gD,GAAajiD,KAAOO,GAASP,KAgP7BvwD,EAAOx+B,OAAQ,CAGdhV,OAAQ,EAGR8nJ,aAAc,CAAC,EACfC,KAAM,CAAC,EAEPhB,aAAc,CACb3gE,IAAKke,GAASP,KACdx/F,KAAM,MACNyjJ,QAASrC,GAAelsH,KAAM6qE,GAASN,UACvCtzD,QAAQ,EACRu3G,aAAa,EACbC,OAAO,EACPC,YAAa,mDAcbC,QAAS,CACR,IAAKrC,GACL9lH,KAAM,aACNm1B,KAAM,YACNqwE,IAAK,4BACL4iB,KAAM,qCAGPzd,SAAU,CACTnF,IAAK,UACLrwE,KAAM,SACNizF,KAAM,YAGPV,eAAgB,CACfliB,IAAK,cACLxlG,KAAM,eACNooH,KAAM,gBAKPf,WAAY,CAGX,SAAU/gJ,OAGV,aAAa,EAGb,YAAawrC,KAAKgE,MAGlB,WAAYvC,EAAO2wG,UAOpB2C,YAAa,CACZ1gE,KAAK,EACLrgE,SAAS,IAOXuiI,UAAW,SAAUhkJ,EAAQikJ,GAC5B,OAAOA,EAGN1B,GAAYA,GAAYviJ,EAAQkvC,EAAOuzG,cAAgBwB,GAGvD1B,GAAYrzG,EAAOuzG,aAAcziJ,EACnC,EAEAkkJ,cAAevC,GAA6BxF,IAC5CgI,cAAexC,GAA6BH,IAG5C4C,KAAM,SAAUtiE,EAAKhxE,GAGA,kBAARgxE,IACXhxE,EAAUgxE,EACVA,OAAM9a,GAIPl2D,EAAUA,GAAW,CAAC,EAEtB,IAAIuzI,EAGHC,EAGAC,EACAC,EAGAC,EAGAC,EAGAva,EAGAwa,EAGAzoJ,EAGA0oJ,EAGA7wH,EAAImb,EAAO80G,UAAW,CAAC,EAAGlzI,GAG1B+zI,EAAkB9wH,EAAEtS,SAAWsS,EAG/B+wH,EAAqB/wH,EAAEtS,UACpBojI,EAAgBr6G,UAAYq6G,EAAgBx2G,QAC9Ca,EAAQ21G,GACR31G,EAAOzgC,MAGR85H,EAAWr5F,EAAOi5F,WAClB4c,EAAmB71G,EAAOs4F,UAAW,eAGrCwd,EAAajxH,EAAEixH,YAAc,CAAC,EAG9BC,EAAiB,CAAC,EAClBC,EAAsB,CAAC,EAGvBC,EAAW,WAGXlD,EAAQ,CACP1yG,WAAY,EAGZwzG,kBAAmB,SAAU7iJ,GAC5B,IAAI6nC,EACJ,GAAKoiG,EAAY,CAChB,IAAMqa,EAAkB,CACvBA,EAAkB,CAAC,EACnB,MAAUz8G,EAAQq5G,GAASj9B,KAAMogC,GAChCC,EAAiBz8G,EAAO,GAAI92B,cAAgB,MACzCuzI,EAAiBz8G,EAAO,GAAI92B,cAAgB,MAAS,IACrDyC,OAAQq0B,EAAO,GAEpB,CACAA,EAAQy8G,EAAiBtkJ,EAAI+Q,cAAgB,IAC9C,CACA,OAAgB,MAAT82B,EAAgB,KAAOA,EAAM7C,KAAM,KAC3C,EAGAkgH,sBAAuB,WACtB,OAAOjb,EAAYoa,EAAwB,IAC5C,EAGAc,iBAAkB,SAAUlwI,EAAMlX,GAMjC,OALkB,MAAbksI,IACJh1H,EAAO+vI,EAAqB/vI,EAAKlE,eAChCi0I,EAAqB/vI,EAAKlE,gBAAmBkE,EAC9C8vI,EAAgB9vI,GAASlX,GAEnB/C,IACR,EAGAoqJ,iBAAkB,SAAUrlJ,GAI3B,OAHkB,MAAbkqI,IACJp2G,EAAE+uH,SAAW7iJ,GAEP/E,IACR,EAGA8pJ,WAAY,SAAUzjJ,GACrB,IAAI8tD,EACJ,GAAK9tD,EACJ,GAAK4oI,EAGJ8X,EAAM3Z,OAAQ/mI,EAAK0gJ,EAAMnhD,cAIzB,IAAMzxC,KAAQ9tD,EACbyjJ,EAAY31F,GAAS,CAAE21F,EAAY31F,GAAQ9tD,EAAK8tD,IAInD,OAAOn0D,IACR,EAGAqqJ,MAAO,SAAUC,GAChB,IAAIC,EAAYD,GAAcL,EAK9B,OAJKd,GACJA,EAAUkB,MAAOE,GAElB1/I,EAAM,EAAG0/I,GACFvqJ,IACR,GAmBF,GAfAqtI,EAAS/uB,QAASyoC,GAKlBluH,EAAE+tD,MAAUA,GAAO/tD,EAAE+tD,KAAOke,GAASP,MAAS,IAC5CzuF,QAASuwI,GAAWvhD,GAASN,SAAW,MAG1C3rE,EAAE9zB,KAAO6Q,EAAQtL,QAAUsL,EAAQ7Q,MAAQ8zB,EAAEvuB,QAAUuuB,EAAE9zB,KAGzD8zB,EAAEguH,WAAchuH,EAAE+tH,UAAY,KAAM7wI,cAAc82B,MAAOi/F,IAAmB,CAAE,IAGxD,MAAjBjzG,EAAE2xH,YAAsB,CAC5BhB,EAAY7lH,EAASvW,cAAe,KAKpC,IACCo8H,EAAUjlD,KAAO1rE,EAAE+tD,IAInB4iE,EAAUjlD,KAAOilD,EAAUjlD,KAC3B1rE,EAAE2xH,YAAchE,GAAahiD,SAAW,KAAOgiD,GAAajiG,OAC3DilG,EAAUhlD,SAAW,KAAOglD,EAAUjlG,IACxC,CAAE,MAAQ/hB,GAIT3J,EAAE2xH,aAAc,CACjB,CACD,CAWA,GARK3xH,EAAEvhB,MAAQuhB,EAAE4vH,aAAiC,kBAAX5vH,EAAEvhB,OACxCuhB,EAAEvhB,KAAO08B,EAAO2xG,MAAO9sH,EAAEvhB,KAAMuhB,EAAE6sH,cAIlCoB,GAA+B7F,GAAYpoH,EAAGjjB,EAASmxI,GAGlD9X,EACJ,OAAO8X,EA8ER,IAAM/lJ,KAzENyoJ,EAAcz1G,EAAOzgC,OAASslB,EAAEqY,OAG3Bu4G,GAAmC,IAApBz1G,EAAOxzC,UAC1BwzC,EAAOzgC,MAAM7R,QAAS,aAIvBm3B,EAAE9zB,KAAO8zB,EAAE9zB,KAAKyrC,cAGhB3X,EAAEw9B,YAAc+vF,GAAWnsH,KAAMpB,EAAE9zB,MAKnCqkJ,EAAWvwH,EAAE+tD,IAAI9wE,QAASkwI,GAAO,IAG3BntH,EAAEw9B,WAwBIx9B,EAAEvhB,MAAQuhB,EAAE4vH,aACoD,KAAzE5vH,EAAE8vH,aAAe,IAAKn2I,QAAS,uCACjCqmB,EAAEvhB,KAAOuhB,EAAEvhB,KAAKxB,QAASiwI,GAAK,OAvB9B2D,EAAW7wH,EAAE+tD,IAAI7yE,MAAOq1I,EAASloJ,QAG5B23B,EAAEvhB,OAAUuhB,EAAE4vH,aAAiC,kBAAX5vH,EAAEvhB,QAC1C8xI,IAAc1E,GAAOzqH,KAAMmvH,GAAa,IAAM,KAAQvwH,EAAEvhB,YAGjDuhB,EAAEvhB,OAIO,IAAZuhB,EAAE9jB,QACNq0I,EAAWA,EAAStzI,QAASmwI,GAAY,MACzCyD,GAAahF,GAAOzqH,KAAMmvH,GAAa,IAAM,KAAQ,KAAS9rB,GAAMoC,OACnEgqB,GAIF7wH,EAAE+tD,IAAMwiE,EAAWM,GASf7wH,EAAE4xH,aACDz2G,EAAOs0G,aAAcc,IACzBrC,EAAMoD,iBAAkB,oBAAqBn2G,EAAOs0G,aAAcc,IAE9Dp1G,EAAOu0G,KAAMa,IACjBrC,EAAMoD,iBAAkB,gBAAiBn2G,EAAOu0G,KAAMa,MAKnDvwH,EAAEvhB,MAAQuhB,EAAEw9B,aAAgC,IAAlBx9B,EAAE8vH,aAAyB/yI,EAAQ+yI,cACjE5B,EAAMoD,iBAAkB,eAAgBtxH,EAAE8vH,aAI3C5B,EAAMoD,iBACL,SACAtxH,EAAEguH,UAAW,IAAOhuH,EAAE+vH,QAAS/vH,EAAEguH,UAAW,IAC3ChuH,EAAE+vH,QAAS/vH,EAAEguH,UAAW,KACA,MAArBhuH,EAAEguH,UAAW,GAAc,KAAON,GAAW,WAAa,IAC7D1tH,EAAE+vH,QAAS,MAIF/vH,EAAE6xH,QACZ3D,EAAMoD,iBAAkBnpJ,EAAG63B,EAAE6xH,QAAS1pJ,IAIvC,GAAK63B,EAAE8xH,cAC+C,IAAnD9xH,EAAE8xH,WAAWjhJ,KAAMigJ,EAAiB5C,EAAOluH,IAAiBo2G,GAG9D,OAAO8X,EAAMsD,QAed,GAXAJ,EAAW,QAGXJ,EAAiBlgJ,IAAKkvB,EAAEyqE,UACxByjD,EAAMl8I,KAAMguB,EAAE+xH,SACd7D,EAAM1a,KAAMxzG,EAAEroB,OAGd24I,EAAYrC,GAA+BR,GAAYztH,EAAGjjB,EAASmxI,GAG7DoC,EAEC,CASN,GARApC,EAAM1yG,WAAa,EAGdo1G,GACJG,EAAmBloJ,QAAS,WAAY,CAAEqlJ,EAAOluH,IAI7Co2G,EACJ,OAAO8X,EAIHluH,EAAE6vH,OAAS7vH,EAAEqP,QAAU,IAC3BqhH,EAAe5gH,EAAOV,YAAY,WACjC8+G,EAAMsD,MAAO,UACd,GAAGxxH,EAAEqP,UAGN,IACC+mG,GAAY,EACZka,EAAU/iD,KAAM2jD,EAAgBl/I,EACjC,CAAE,MAAQ23B,GAGT,GAAKysG,EACJ,MAAMzsG,EAIP33B,GAAO,EAAG23B,EACX,CACD,MAlCC33B,GAAO,EAAG,gBAqCX,SAASA,EAAM+6F,EAAQilD,EAAkBpD,EAAWiD,GACnD,IAAI1C,EAAW4C,EAASp6I,EAAOq1F,EAAUilD,EACxCR,EAAaO,EAGT5b,IAILA,GAAY,EAGPsa,GACJ5gH,EAAO6V,aAAc+qG,GAKtBJ,OAAYr9E,EAGZu9E,EAAwBqB,GAAW,GAGnC3D,EAAM1yG,WAAauxD,EAAS,EAAI,EAAI,EAGpCoiD,EAAYpiD,GAAU,KAAOA,EAAS,KAAkB,MAAXA,EAGxC6hD,IACJ5hD,EAAW2hD,GAAqB3uH,EAAGkuH,EAAOU,KAIrCO,GACLh0G,EAAOmrF,QAAS,SAAUtmG,EAAEguH,YAAe,GAC3C7yG,EAAOmrF,QAAS,OAAQtmG,EAAEguH,WAAc,IACxChuH,EAAEivH,WAAY,eAAkB,WAAY,GAI7CjiD,EAAWkiD,GAAalvH,EAAGgtE,EAAUkhD,EAAOiB,GAGvCA,GAGCnvH,EAAE4xH,aACNK,EAAW/D,EAAMc,kBAAmB,iBAC/BiD,IACJ92G,EAAOs0G,aAAcc,GAAa0B,GAEnCA,EAAW/D,EAAMc,kBAAmB,QAC/BiD,IACJ92G,EAAOu0G,KAAMa,GAAa0B,IAKZ,MAAXllD,GAA6B,SAAX/sE,EAAE9zB,KACxBulJ,EAAa,YAGS,MAAX1kD,EACX0kD,EAAa,eAIbA,EAAazkD,EAAStlF,MACtBqqI,EAAU/kD,EAASvuF,KACnB9G,EAAQq1F,EAASr1F,MACjBw3I,GAAax3I,KAKdA,EAAQ85I,GACH1kD,GAAW0kD,IACfA,EAAa,QACR1kD,EAAS,IACbA,EAAS,KAMZmhD,EAAMnhD,OAASA,EACfmhD,EAAMuD,YAAeO,GAAoBP,GAAe,GAGnDtC,EACJ3a,EAASU,YAAa4b,EAAiB,CAAEiB,EAASN,EAAYvD,IAE9D1Z,EAASY,WAAY0b,EAAiB,CAAE5C,EAAOuD,EAAY95I,IAI5Du2I,EAAM+C,WAAYA,GAClBA,OAAah+E,EAER29E,GACJG,EAAmBloJ,QAASsmJ,EAAY,cAAgB,YACvD,CAAEjB,EAAOluH,EAAGmvH,EAAY4C,EAAUp6I,IAIpCq5I,EAAiB7c,SAAU2c,EAAiB,CAAE5C,EAAOuD,IAEhDb,IACJG,EAAmBloJ,QAAS,eAAgB,CAAEqlJ,EAAOluH,MAG3Cmb,EAAOxzC,QAChBwzC,EAAOzgC,MAAM7R,QAAS,aAGzB,CAEA,OAAOqlJ,CACR,EAEAgE,QAAS,SAAUnkE,EAAKtvE,EAAMpN,GAC7B,OAAO8pC,EAAO7wC,IAAKyjF,EAAKtvE,EAAMpN,EAAU,OACzC,EAEA8gJ,UAAW,SAAUpkE,EAAK18E,GACzB,OAAO8pC,EAAO7wC,IAAKyjF,OAAK9a,EAAW5hE,EAAU,SAC9C,IAGD8pC,EAAOqF,KAAM,CAAE,MAAO,SAAU,SAAU+R,EAAI9gD,GAC7C0pC,EAAQ1pC,GAAW,SAAUs8E,EAAKtvE,EAAMpN,EAAUnF,GAUjD,OAPKiJ,EAAYsJ,KAChBvS,EAAOA,GAAQmF,EACfA,EAAWoN,EACXA,OAAOw0D,GAID93B,EAAOk1G,KAAMl1G,EAAOx+B,OAAQ,CAClCoxE,IAAKA,EACL7hF,KAAMuF,EACNs8I,SAAU7hJ,EACVuS,KAAMA,EACNszI,QAAS1gJ,GACP8pC,EAAOxa,cAAeotD,IAASA,GACnC,CACD,IAEA5yC,EAAOg1G,eAAe,SAAUnwH,GAC/B,IAAI73B,EACJ,IAAMA,KAAK63B,EAAE6xH,QACa,iBAApB1pJ,EAAE+U,gBACN8iB,EAAE8vH,YAAc9vH,EAAE6xH,QAAS1pJ,IAAO,GAGrC,IAGAgzC,EAAO+kG,SAAW,SAAUnyD,EAAKhxE,EAAS8tB,GACzC,OAAOsQ,EAAOk1G,KAAM,CACnBtiE,IAAKA,EAGL7hF,KAAM,MACN6hJ,SAAU,SACV7xI,OAAO,EACP2zI,OAAO,EACPx3G,QAAQ,EAKR42G,WAAY,CACX,cAAe,WAAY,GAE5BM,WAAY,SAAUviD,GACrB7xD,EAAOirF,WAAYp5B,EAAUjwF,EAAS8tB,EACvC,GAEF,EAGAsQ,EAAOtzC,GAAG8U,OAAQ,CACjBy1I,QAAS,SAAUr1F,GAClB,IAAIrsD,EAyBJ,OAvBKvJ,KAAM,KACLgO,EAAY4nD,KAChBA,EAAOA,EAAKlsD,KAAM1J,KAAM,KAIzBuJ,EAAOyqC,EAAQ4hB,EAAM51D,KAAM,GAAI+hD,eAAgBu8E,GAAI,GAAIxgG,OAAO,GAEzD99B,KAAM,GAAI8tB,YACdvkB,EAAKu6B,aAAc9jC,KAAM,IAG1BuJ,EAAKlD,KAAK,WACT,IAAI03H,EAAO/9H,KAEX,MAAQ+9H,EAAKmtB,kBACZntB,EAAOA,EAAKmtB,kBAGb,OAAOntB,CACR,IAAI7uE,OAAQlvD,OAGNA,IACR,EAEAmrJ,UAAW,SAAUv1F,GACpB,OAAK5nD,EAAY4nD,GACT51D,KAAKq5C,MAAM,SAAUr4C,GAC3BgzC,EAAQh0C,MAAOmrJ,UAAWv1F,EAAKlsD,KAAM1J,KAAMgB,GAC5C,IAGMhB,KAAKq5C,MAAM,WACjB,IAAI5rC,EAAOumC,EAAQh0C,MAClBorI,EAAW39H,EAAK29H,WAEZA,EAASlqI,OACbkqI,EAAS6f,QAASr1F,GAGlBnoD,EAAKyhD,OAAQ0G,EAEf,GACD,EAEArsD,KAAM,SAAUqsD,GACf,IAAIw1F,EAAiBp9I,EAAY4nD,GAEjC,OAAO51D,KAAKq5C,MAAM,SAAUr4C,GAC3BgzC,EAAQh0C,MAAOirJ,QAASG,EAAiBx1F,EAAKlsD,KAAM1J,KAAMgB,GAAM40D,EACjE,GACD,EAEAy1F,OAAQ,SAAU5mH,GAIjB,OAHAzkC,KAAKI,OAAQqkC,GAAWgiG,IAAK,QAASptF,MAAM,WAC3CrF,EAAQh0C,MAAOw5I,YAAax5I,KAAKyjG,WAClC,IACOzjG,IACR,IAIDg0C,EAAO+wF,KAAK1D,QAAQzjF,OAAS,SAAUmgF,GACtC,OAAQ/pF,EAAO+wF,KAAK1D,QAAQiqB,QAASvtB,EACtC,EACA/pF,EAAO+wF,KAAK1D,QAAQiqB,QAAU,SAAUvtB,GACvC,SAAWA,EAAKn6E,aAAem6E,EAAKn0F,cAAgBm0F,EAAK3qF,iBAAiBlyC,OAC3E,EAKA8yC,EAAOuzG,aAAa5hD,IAAM,WACzB,IACC,OAAO,IAAIh9D,EAAOmrD,cACnB,CAAE,MAAQtxD,GAAK,CAChB,EAEA,IAAI+oH,GAAmB,CAGrB,EAAG,IAIH,KAAM,KAEPC,GAAex3G,EAAOuzG,aAAa5hD,MAEpCw3B,EAAQsuB,OAASD,IAAkB,oBAAqBA,GACxDruB,EAAQ+rB,KAAOsC,KAAiBA,GAEhCx3G,EAAOi1G,eAAe,SAAUrzI,GAC/B,IAAI1L,EAAUwhJ,EAGd,GAAKvuB,EAAQsuB,MAAQD,KAAiB51I,EAAQ40I,YAC7C,MAAO,CACNpkD,KAAM,SAAUskD,EAASpnD,GACxB,IAAItiG,EACH2kG,EAAM/vF,EAAQ+vF,MAWf,GATAA,EAAIxY,KACHv3E,EAAQ7Q,KACR6Q,EAAQgxE,IACRhxE,EAAQ8yI,MACR9yI,EAAQ+1I,SACR/1I,EAAQ4xH,UAIJ5xH,EAAQg2I,UACZ,IAAM5qJ,KAAK4U,EAAQg2I,UAClBjmD,EAAK3kG,GAAM4U,EAAQg2I,UAAW5qJ,GAmBhC,IAAMA,KAdD4U,EAAQgyI,UAAYjiD,EAAIykD,kBAC5BzkD,EAAIykD,iBAAkBx0I,EAAQgyI,UAQzBhyI,EAAQ40I,aAAgBE,EAAS,sBACtCA,EAAS,oBAAuB,kBAItBA,EACV/kD,EAAIwkD,iBAAkBnpJ,EAAG0pJ,EAAS1pJ,IAInCkJ,EAAW,SAAUnF,GACpB,OAAO,WACDmF,IACJA,EAAWwhJ,EAAgB/lD,EAAI1Q,OAC9B0Q,EAAIzQ,QAAUyQ,EAAIkmD,QAAUlmD,EAAIQ,UAC/BR,EAAImmD,mBAAqB,KAEb,UAAT/mJ,EACJ4gG,EAAI0kD,QACgB,UAATtlJ,EAKgB,kBAAf4gG,EAAIC,OACftC,EAAU,EAAG,SAEbA,EAGCqC,EAAIC,OACJD,EAAI2kD,YAINhnD,EACCioD,GAAkB5lD,EAAIC,SAAYD,EAAIC,OACtCD,EAAI2kD,WAK+B,UAAjC3kD,EAAI5R,cAAgB,SACM,kBAArB4R,EAAIomD,aACV,CAAEC,OAAQrmD,EAAIE,UACd,CAAEplE,KAAMklE,EAAIomD,cACbpmD,EAAIukD,yBAIR,CACD,EAGAvkD,EAAI1Q,OAAS/qF,IACbwhJ,EAAgB/lD,EAAIzQ,QAAUyQ,EAAIQ,UAAYj8F,EAAU,cAKnC4hE,IAAhB65B,EAAIkmD,QACRlmD,EAAIkmD,QAAUH,EAEd/lD,EAAImmD,mBAAqB,WAGA,IAAnBnmD,EAAItxD,YAMR1L,EAAOV,YAAY,WACb/9B,GACJwhJ,GAEF,GAEF,EAIDxhJ,EAAWA,EAAU,SAErB,IAGCy7F,EAAIS,KAAMxwF,EAAQygD,YAAczgD,EAAQ0B,MAAQ,KACjD,CAAE,MAAQkrB,GAGT,GAAKt4B,EACJ,MAAMs4B,CAER,CACD,EAEA6nH,MAAO,WACDngJ,GACJA,GAEF,EAGH,IAMA8pC,EAAOg1G,eAAe,SAAUnwH,GAC1BA,EAAE2xH,cACN3xH,EAAEuyG,SAAS3N,QAAS,EAEtB,IAGAzpF,EAAO80G,UAAW,CACjBF,QAAS,CACRnrB,OAAQ,6FAGT2N,SAAU,CACT3N,OAAQ,2BAETqqB,WAAY,CACX,cAAe,SAAUrnH,GAExB,OADAuT,EAAOirF,WAAYx+F,GACZA,CACR,KAKFuT,EAAOg1G,cAAe,UAAU,SAAUnwH,QACxBizC,IAAZjzC,EAAE9jB,QACN8jB,EAAE9jB,OAAQ,GAEN8jB,EAAE2xH,cACN3xH,EAAE9zB,KAAO,MAEX,IAGAivC,EAAOi1G,cAAe,UAAU,SAAUpwH,GAIxC,IAAI4kG,EAAQvzH,EADb,GAAK2uB,EAAE2xH,aAAe3xH,EAAEozH,YAEvB,MAAO,CACN7lD,KAAM,SAAU5nF,EAAG8kF,GAClBm6B,EAASzpF,EAAQ,YACfquD,KAAMxpE,EAAEozH,aAAe,CAAC,GACxB/hI,KAAM,CAAEgiI,QAASrzH,EAAEszH,cAAeh4D,IAAKt7D,EAAE+tD,MACzChmF,GAAI,aAAcsJ,EAAW,SAAUkiJ,GACvC3uB,EAAOpxG,SACPniB,EAAW,KACNkiJ,GACJ9oD,EAAuB,UAAb8oD,EAAIrnJ,KAAmB,IAAM,IAAKqnJ,EAAIrnJ,KAElD,GAGD4+B,EAAS+5F,KAAKx4F,YAAau4F,EAAQ,GACpC,EACA4sB,MAAO,WACDngJ,GACJA,GAEF,EAGH,IAKA,IAAImiJ,GAAe,GAClBC,GAAS,oBAGVt4G,EAAO80G,UAAW,CACjByD,MAAO,WACPC,cAAe,WACd,IAAItiJ,EAAWmiJ,GAAajrJ,OAAW4yC,EAAO6qF,QAAU,IAAQvB,GAAMoC,OAEtE,OADA1/H,KAAMkK,IAAa,EACZA,CACR,IAID8pC,EAAOg1G,cAAe,cAAc,SAAUnwH,EAAG4zH,EAAkB1F,GAElE,IAAI2F,EAAcC,EAAaC,EAC9BC,GAAuB,IAAZh0H,EAAE0zH,QAAqBD,GAAOryH,KAAMpB,EAAE+tD,KAChD,MACkB,kBAAX/tD,EAAEvhB,MAE6C,KADnDuhB,EAAE8vH,aAAe,IACjBn2I,QAAS,sCACX85I,GAAOryH,KAAMpB,EAAEvhB,OAAU,QAI5B,GAAKu1I,GAAiC,UAArBh0H,EAAEguH,UAAW,GA8D7B,OA3DA6F,EAAe7zH,EAAE2zH,cAAgBx+I,EAAY6qB,EAAE2zH,eAC9C3zH,EAAE2zH,gBACF3zH,EAAE2zH,cAGEK,EACJh0H,EAAGg0H,GAAah0H,EAAGg0H,GAAW/2I,QAASw2I,GAAQ,KAAOI,IAC/B,IAAZ7zH,EAAE0zH,QACb1zH,EAAE+tD,MAAS89D,GAAOzqH,KAAMpB,EAAE+tD,KAAQ,IAAM,KAAQ/tD,EAAE0zH,MAAQ,IAAMG,GAIjE7zH,EAAEivH,WAAY,eAAkB,WAI/B,OAHM8E,GACL54G,EAAOxjC,MAAOk8I,EAAe,mBAEvBE,EAAmB,EAC3B,EAGA/zH,EAAEguH,UAAW,GAAM,OAGnB8F,EAAchkH,EAAQ+jH,GACtB/jH,EAAQ+jH,GAAiB,WACxBE,EAAoBzkI,SACrB,EAGA4+H,EAAM3Z,QAAQ,gBAGQthE,IAAhB6gF,EACJ34G,EAAQrL,GAASg7G,WAAY+I,GAI7B/jH,EAAQ+jH,GAAiBC,EAIrB9zH,EAAG6zH,KAGP7zH,EAAE2zH,cAAgBC,EAAiBD,cAGnCH,GAAa9rJ,KAAMmsJ,IAIfE,GAAqB5+I,EAAY2+I,IACrCA,EAAaC,EAAmB,IAGjCA,EAAoBD,OAAc7gF,CACnC,IAGO,QAET,IAUAqxD,EAAQ2vB,mBAAuB,WAC9B,IAAInjH,EAAOhG,EAASopH,eAAeD,mBAAoB,IAAKnjH,KAE5D,OADAA,EAAK5E,UAAY,6BACiB,IAA3B4E,EAAK85D,WAAWviG,MACxB,CAJ+B,GAW/B8yC,EAAOi3F,UAAY,SAAU3zH,EAAMiP,EAASymI,GAC3C,MAAqB,kBAAT11I,EACJ,IAEgB,mBAAZiP,IACXymI,EAAczmI,EACdA,GAAU,GAKLA,IAIA42G,EAAQ2vB,oBACZvmI,EAAUod,EAASopH,eAAeD,mBAAoB,IAKtDvoI,EAAOgC,EAAQ6G,cAAe,QAC9B7I,EAAKggF,KAAO5gE,EAASmhE,SAASP,KAC9Bh+E,EAAQm3G,KAAKx4F,YAAa3gB,IAE1BgC,EAAUod,GAIZspH,EAASpiB,EAAW5hB,KAAM3xG,GAC1BomG,GAAWsvC,GAAe,GAGrBC,EACG,CAAE1mI,EAAQ6G,cAAe6/H,EAAQ,MAGzCA,EAAS3Z,GAAe,CAAEh8H,GAAQiP,EAASm3F,GAEtCA,GAAWA,EAAQx8G,QACvB8yC,EAAQ0pE,GAAUrxF,SAGZ2nB,EAAOoqF,MAAO,GAAI6uB,EAAOxpD,cAlChC,IAAIl/E,EAAM0oI,EAAQvvC,CAmCnB,EAMA1pE,EAAOtzC,GAAGs1I,KAAO,SAAUpvD,EAAKsmE,EAAQhjJ,GACvC,IAAIu6B,EAAU1/B,EAAM8gG,EACnBp4F,EAAOzN,KACPa,EAAM+lF,EAAIp0E,QAAS,KAsDpB,OApDK3R,GAAO,IACX4jC,EAAW++G,GAAkB58D,EAAI7yE,MAAOlT,IACxC+lF,EAAMA,EAAI7yE,MAAO,EAAGlT,IAIhBmN,EAAYk/I,IAGhBhjJ,EAAWgjJ,EACXA,OAASphF,GAGEohF,GAA4B,kBAAXA,IAC5BnoJ,EAAO,QAIH0I,EAAKvM,OAAS,GAClB8yC,EAAOk1G,KAAM,CACZtiE,IAAKA,EAKL7hF,KAAMA,GAAQ,MACd6hJ,SAAU,OACVtvI,KAAM41I,IACHriJ,MAAM,SAAUkhJ,GAGnBlmD,EAAW19E,UAEX1a,EAAKmoD,KAAMnxB,EAIVuP,EAAQ,SAAUkb,OAAQlb,EAAOi3F,UAAW8gB,IAAiB72G,KAAMzQ,GAGnEsnH,EAKF,IAAI3e,OAAQljI,GAAY,SAAU68I,EAAOnhD,GACxCn4F,EAAK4rC,MAAM,WACVnvC,EAASrD,MAAO7G,KAAM6lG,GAAY,CAAEkhD,EAAMgF,aAAcnmD,EAAQmhD,GACjE,GACD,GAGM/mJ,IACR,EAKAg0C,EAAO+wF,KAAK1D,QAAQ8rB,SAAW,SAAUpvB,GACxC,OAAO/pF,EAAOwqF,KAAMxqF,EAAOmuG,QAAQ,SAAUzhJ,GAC5C,OAAOq9H,IAASr9H,EAAGq9H,IACpB,IAAI78H,MACL,EAKA8yC,EAAOiV,OAAS,CACfmkG,UAAW,SAAUrvB,EAAMnoH,EAAS5U,GACnC,IAAIqsJ,EAAaC,EAASC,EAAWC,EAAQC,EAAWC,EAAYC,EACnEjrG,EAAW1O,EAAOvO,IAAKs4F,EAAM,YAC7B6vB,EAAU55G,EAAQ+pF,GAClBrqH,EAAQ,CAAC,EAGQ,WAAbgvC,IACJq7E,EAAK5sG,MAAMuxB,SAAW,YAGvB+qG,EAAYG,EAAQ3kG,SACpBskG,EAAYv5G,EAAOvO,IAAKs4F,EAAM,OAC9B2vB,EAAa15G,EAAOvO,IAAKs4F,EAAM,QAC/B4vB,GAAmC,aAAbjrG,GAAwC,UAAbA,KAC9C6qG,EAAYG,GAAal7I,QAAS,SAAY,EAI5Cm7I,GACJN,EAAcO,EAAQlrG,WACtB8qG,EAASH,EAAYh+G,IACrBi+G,EAAUD,EAAYl+G,OAGtBq+G,EAAS38G,WAAY08G,IAAe,EACpCD,EAAUz8G,WAAY68G,IAAgB,GAGlC1/I,EAAY4H,KAGhBA,EAAUA,EAAQlM,KAAMq0H,EAAM/8H,EAAGgzC,EAAOx+B,OAAQ,CAAC,EAAGi4I,KAGjC,MAAf73I,EAAQy5B,MACZ37B,EAAM27B,IAAQz5B,EAAQy5B,IAAMo+G,EAAUp+G,IAAQm+G,GAE1B,MAAhB53I,EAAQu5B,OACZz7B,EAAMy7B,KAASv5B,EAAQu5B,KAAOs+G,EAAUt+G,KAASm+G,GAG7C,UAAW13I,EACfA,EAAQ+qG,MAAMj3G,KAAMq0H,EAAMrqH,GAG1Bk6I,EAAQnoH,IAAK/xB,EAEf,GAGDsgC,EAAOtzC,GAAG8U,OAAQ,CAGjByzC,OAAQ,SAAUrzC,GAGjB,GAAKuS,UAAUjnB,OACd,YAAmB4qE,IAAZl2D,EACN5V,KACAA,KAAKq5C,MAAM,SAAUr4C,GACpBgzC,EAAOiV,OAAOmkG,UAAWptJ,KAAM4V,EAAS5U,EACzC,IAGF,IAAI8hE,EAAM+qF,EACT9vB,EAAO/9H,KAAM,GAEd,OAAM+9H,EAQAA,EAAK3qF,iBAAiBlyC,QAK5B4hE,EAAOi7D,EAAKhvF,wBACZ8+G,EAAM9vB,EAAKh8E,cAAcC,YAClB,CACN3S,IAAKyzB,EAAKzzB,IAAMw+G,EAAIjmG,YACpBzY,KAAM2zB,EAAK3zB,KAAO0+G,EAAInmG,cARf,CAAErY,IAAK,EAAGF,KAAM,QATxB,CAmBD,EAIAuT,SAAU,WACT,GAAM1iD,KAAM,GAAZ,CAIA,IAAI8kD,EAAcmE,EAAQvlB,EACzBq6F,EAAO/9H,KAAM,GACb8tJ,EAAe,CAAEz+G,IAAK,EAAGF,KAAM,GAGhC,GAAwC,UAAnC6E,EAAOvO,IAAKs4F,EAAM,YAGtB90E,EAAS80E,EAAKhvF,4BAER,CACNka,EAASjpD,KAAKipD,SAIdvlB,EAAMq6F,EAAKh8E,cACX+C,EAAei5E,EAAKj5E,cAAgBphB,EAAIkQ,gBACxC,MAAQkR,IACLA,IAAiBphB,EAAIiG,MAAQmb,IAAiBphB,EAAIkQ,kBACT,WAA3CI,EAAOvO,IAAKqf,EAAc,YAE1BA,EAAeA,EAAah3B,WAExBg3B,GAAgBA,IAAiBi5E,GAAkC,IAA1Bj5E,EAAaxV,WAG1Dw+G,EAAe95G,EAAQ8Q,GAAemE,SACtC6kG,EAAaz+G,KAAO2E,EAAOvO,IAAKqf,EAAc,kBAAkB,GAChEgpG,EAAa3+G,MAAQ6E,EAAOvO,IAAKqf,EAAc,mBAAmB,GAEpE,CAGA,MAAO,CACNzV,IAAK4Z,EAAO5Z,IAAMy+G,EAAaz+G,IAAM2E,EAAOvO,IAAKs4F,EAAM,aAAa,GACpE5uF,KAAM8Z,EAAO9Z,KAAO2+G,EAAa3+G,KAAO6E,EAAOvO,IAAKs4F,EAAM,cAAc,GArCzE,CAuCD,EAYAj5E,aAAc,WACb,OAAO9kD,KAAKqG,KAAK,WAChB,IAAIy+C,EAAe9kD,KAAK8kD,aAExB,MAAQA,GAA2D,WAA3C9Q,EAAOvO,IAAKqf,EAAc,YACjDA,EAAeA,EAAaA,aAG7B,OAAOA,GAAgBlR,EACxB,GACD,IAIDI,EAAOqF,KAAM,CAAEoO,WAAY,cAAeE,UAAW,gBAAiB,SAAUr9C,EAAQ4f,GACvF,IAAImlB,EAAM,gBAAkBnlB,EAE5B8pB,EAAOtzC,GAAI4J,GAAW,SAAU2Z,GAC/B,OAAOorH,GAAQrvI,MAAM,SAAU+9H,EAAMzzH,EAAQ2Z,GAG5C,IAAI4pI,EAOJ,GANKzwB,EAAUW,GACd8vB,EAAM9vB,EACuB,IAAlBA,EAAKzuF,WAChBu+G,EAAM9vB,EAAK/7E,kBAGC8pB,IAAR7nD,EACJ,OAAO4pI,EAAMA,EAAK3jI,GAAS6zG,EAAMzzH,GAG7BujJ,EACJA,EAAI5xF,SACF5sB,EAAYw+G,EAAInmG,YAAVzjC,EACPorB,EAAMprB,EAAM4pI,EAAIjmG,aAIjBm2E,EAAMzzH,GAAW2Z,CAEnB,GAAG3Z,EAAQ2Z,EAAKkE,UAAUjnB,OAC3B,CACD,IAQA8yC,EAAOqF,KAAM,CAAE,MAAO,SAAU,SAAU+R,EAAIlhC,GAC7C8pB,EAAOwpG,SAAUtzH,GAASwwH,GAAcvd,EAAQse,eAC/C,SAAU1d,EAAM17H,GACf,GAAKA,EAIJ,OAHAA,EAAWg4I,GAAQtc,EAAM7zG,GAGlB4vH,GAAU7/G,KAAM53B,GACtB2xC,EAAQ+pF,GAAOr7E,WAAYx4B,GAAS,KACpC7nB,CAEH,GAEF,IAIA2xC,EAAOqF,KAAM,CAAE00G,OAAQ,SAAUC,MAAO,UAAW,SAAU/zI,EAAMlV,GAClEivC,EAAOqF,KAAM,CACZuM,QAAS,QAAU3rC,EACnByqB,QAAS3/B,EACT,GAAI,QAAUkV,IACZ,SAAUg0I,EAAcC,GAG1Bl6G,EAAOtzC,GAAIwtJ,GAAa,SAAUtrG,EAAQ7/C,GACzC,IAAIusI,EAAYnnH,UAAUjnB,SAAY+sJ,GAAkC,mBAAXrrG,GAC5DwgB,EAAQ6qF,KAA6B,IAAXrrG,IAA6B,IAAV7/C,EAAiB,SAAW,UAE1E,OAAOssI,GAAQrvI,MAAM,SAAU+9H,EAAMh5H,EAAMhC,GAC1C,IAAI2gC,EAEJ,OAAK05F,EAAUW,GAGyB,IAAhCmwB,EAAS17I,QAAS,SACxBurH,EAAM,QAAU9jH,GAChB8jH,EAAKp6F,SAASiQ,gBAAiB,SAAW35B,GAIrB,IAAlB8jH,EAAKzuF,UACT5L,EAAMq6F,EAAKnqF,gBAIJ3f,KAAKoV,IACX00F,EAAKp0F,KAAM,SAAW1vB,GAAQypB,EAAK,SAAWzpB,GAC9C8jH,EAAKp0F,KAAM,SAAW1vB,GAAQypB,EAAK,SAAWzpB,GAC9CypB,EAAK,SAAWzpB,UAID6xD,IAAV/oE,EAGNixC,EAAOvO,IAAKs4F,EAAMh5H,EAAMq+D,GAGxBpvB,EAAO7iB,MAAO4sG,EAAMh5H,EAAMhC,EAAOqgE,EACnC,GAAGr+D,EAAMuqI,EAAY1sF,OAASkpB,EAAWwjE,EAC1C,CACD,GACD,IAGAt7F,EAAOqF,KAAM,CACZ,YACA,WACA,eACA,YACA,cACA,aACE,SAAU+R,EAAIrmD,GAChBivC,EAAOtzC,GAAIqE,GAAS,SAAUrE,GAC7B,OAAOV,KAAKY,GAAImE,EAAMrE,EACvB,CACD,IAKAszC,EAAOtzC,GAAG8U,OAAQ,CAEjBjE,KAAM,SAAUm5D,EAAOpzD,EAAM5W,GAC5B,OAAOV,KAAKY,GAAI8pE,EAAO,KAAMpzD,EAAM5W,EACpC,EACAytJ,OAAQ,SAAUzjF,EAAOhqE,GACxB,OAAOV,KAAKa,IAAK6pE,EAAO,KAAMhqE,EAC/B,EAEA0tJ,SAAU,SAAU3pH,EAAUimC,EAAOpzD,EAAM5W,GAC1C,OAAOV,KAAKY,GAAI8pE,EAAOjmC,EAAUntB,EAAM5W,EACxC,EACA2tJ,WAAY,SAAU5pH,EAAUimC,EAAOhqE,GAGtC,OAA4B,IAArBynB,UAAUjnB,OAChBlB,KAAKa,IAAK4jC,EAAU,MACpBzkC,KAAKa,IAAK6pE,EAAOjmC,GAAY,KAAM/jC,EACrC,EAEA4tJ,MAAO,SAAUC,EAAQC,GACxB,OAAOxuJ,KACLY,GAAI,aAAc2tJ,GAClB3tJ,GAAI,aAAc4tJ,GAASD,EAC9B,IAGDv6G,EAAOqF,KACN,wLAE4DhgB,MAAO,MACnE,SAAU+xB,EAAInxC,GAGb+5B,EAAOtzC,GAAIuZ,GAAS,SAAU3C,EAAM5W,GACnC,OAAOynB,UAAUjnB,OAAS,EACzBlB,KAAKY,GAAIqZ,EAAM,KAAM3C,EAAM5W,GAC3BV,KAAK0B,QAASuY,EAChB,CACD,IAUD,IAAIy1G,GAAQ,sDAMZ17E,EAAOtnC,MAAQ,SAAUhM,EAAI6lB,GAC5B,IAAIkrB,EAAKhrC,EAAMiG,EAUf,GARwB,kBAAZ6Z,IACXkrB,EAAM/wC,EAAI6lB,GACVA,EAAU7lB,EACVA,EAAK+wC,GAKAzjC,EAAYtN,GAalB,OARA+F,EAAOsN,EAAMrK,KAAMye,UAAW,GAC9Bzb,EAAQ,WACP,OAAOhM,EAAGmG,MAAO0f,GAAWvmB,KAAMyG,EAAK+R,OAAQzE,EAAMrK,KAAMye,YAC5D,EAGAzb,EAAMgzH,KAAOh/H,EAAGg/H,KAAOh/H,EAAGg/H,MAAQ1rF,EAAO0rF,OAElChzH,CACR,EAEAsnC,EAAOy6G,UAAY,SAAUC,GACvBA,EACJ16G,EAAOk7F,YAEPl7F,EAAOyrD,OAAO,EAEhB,EACAzrD,EAAO1uC,QAAUkY,MAAMlY,QACvB0uC,EAAO26G,UAAYp8G,KAAKgE,MACxBvC,EAAO6N,SAAWA,EAClB7N,EAAOhmC,WAAaA,EACpBgmC,EAAOopF,SAAWA,EAClBppF,EAAO67F,UAAYA,GACnB77F,EAAOjvC,KAAO44H,EAEd3pF,EAAO/G,IAAMD,KAAKC,IAElB+G,EAAO6oD,UAAY,SAAU71F,GAK5B,IAAIjC,EAAOivC,EAAOjvC,KAAMiC,GACxB,OAAkB,WAATjC,GAA8B,WAATA,KAK5B+rC,MAAO9pC,EAAM6pC,WAAY7pC,GAC5B,EAEAgtC,EAAO9/B,KAAO,SAAUusB,GACvB,OAAe,MAARA,EACN,IACEA,EAAO,IAAK3qB,QAAS45G,GAAO,KAChC,EAkBCk/B,EAAkB,GAAI,EAAF,WACnB,OAAO56G,CACN,uCAMH,IAGC66G,GAAUlmH,EAAOqL,OAGjB86G,GAAKnmH,EAAOzpB,EAwBb,OAtBA80B,EAAOI,WAAa,SAAUr3B,GAS7B,OARK4rB,EAAOzpB,IAAM80B,IACjBrL,EAAOzpB,EAAI4vI,IAGP/xI,GAAQ4rB,EAAOqL,SAAWA,IAC9BrL,EAAOqL,OAAS66G,IAGV76G,CACR,EAKyB,qBAAb8oF,IACXn0F,EAAOqL,OAASrL,EAAOzpB,EAAI80B,GAMrBA,CACP,G,0vBC77UI+6G,G,wBAAKnrF,YAAYorF,EAAMlpF,YAAampF,EAAMC,WAE1CC,EAAO,IAAIJ,EAAG,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAgB,EAAG,EAAoB,IAE1IK,EAAO,IAAIL,EAAG,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAiB,EAAG,IAEjIM,EAAO,IAAIN,EAAG,CAAC,GAAI,GAAI,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,GAAI,EAAG,GAAI,EAAG,GAAI,EAAG,GAAI,EAAG,KAE7EO,EAAO,SAAUC,EAAI79I,GAErB,IADA,IAAIwB,EAAI,IAAI87I,EAAI,IACPhuJ,EAAI,EAAGA,EAAI,KAAMA,EACtBkS,EAAElS,GAAK0Q,GAAS,GAAK69I,EAAGvuJ,EAAI,GAGhC,IAAIuN,EAAI,IAAI0gJ,EAAI/7I,EAAE,KAClB,IAASlS,EAAI,EAAGA,EAAI,KAAMA,EACtB,IAAK,IAAI4zB,EAAI1hB,EAAElS,GAAI4zB,EAAI1hB,EAAElS,EAAI,KAAM4zB,EAC/BrmB,EAAEqmB,GAAOA,EAAI1hB,EAAElS,IAAO,EAAKA,EAGnC,MAAO,CAAEkS,EAAGA,EAAG3E,EAAGA,EACtB,EACIH,EAAKkhJ,EAAKH,EAAM,GAAIK,EAAKphJ,EAAG8E,EAAGu8I,EAAQrhJ,EAAGG,EAE9CihJ,EAAG,IAAM,IAAKC,EAAM,KAAO,GAI3B,IAHA,IAAIl3E,EAAK+2E,EAAKF,EAAM,GAAIM,EAAKn3E,EAAGrlE,EAAGy8I,EAAQp3E,EAAGhqE,EAE1CqhJ,EAAM,IAAIZ,EAAI,OACThuJ,EAAI,EAAGA,EAAI,QAASA,EAAG,CAE5B,IAAIi0C,GAAU,MAAJj0C,IAAe,GAAW,MAAJA,IAAe,EAC/Ci0C,GAAU,MAAJA,IAAe,GAAW,MAAJA,IAAe,EAC3CA,GAAU,MAAJA,IAAe,GAAW,KAAJA,IAAe,EAC3C26G,EAAI5uJ,KAAY,MAAJi0C,IAAe,GAAW,IAAJA,IAAe,IAAO,CAC5D,CAIA,IAAI46G,EAAQ,SAAU1oD,EAAI2oD,EAAIvhJ,GAO1B,IANA,IAAIsqB,EAAIsuE,EAAGjmG,OAEPF,EAAI,EAEJC,EAAI,IAAI+tJ,EAAIc,GAET9uJ,EAAI63B,IAAK73B,EACRmmG,EAAGnmG,MACDC,EAAEkmG,EAAGnmG,GAAK,GAGpB,IAII+uJ,EAJAtuG,EAAK,IAAIutG,EAAIc,GACjB,IAAK9uJ,EAAI,EAAGA,EAAI8uJ,IAAM9uJ,EAClBygD,EAAGzgD,GAAMygD,EAAGzgD,EAAI,GAAKC,EAAED,EAAI,IAAO,EAGtC,GAAIuN,EAAG,CAEHwhJ,EAAK,IAAIf,EAAI,GAAKc,GAElB,IAAIE,EAAM,GAAKF,EACf,IAAK9uJ,EAAI,EAAGA,EAAI63B,IAAK73B,EAEjB,GAAImmG,EAAGnmG,GAQH,IANA,IAAIivJ,EAAMjvJ,GAAK,EAAKmmG,EAAGnmG,GAEnBkvJ,EAAMJ,EAAK3oD,EAAGnmG,GAEdwB,EAAIi/C,EAAG0lD,EAAGnmG,GAAK,MAAQkvJ,EAElBrrI,EAAIriB,GAAM,GAAK0tJ,GAAO,EAAI1tJ,GAAKqiB,IAAKriB,EAEzCutJ,EAAGH,EAAIptJ,IAAMwtJ,GAAOC,CAIpC,MAGI,IADAF,EAAK,IAAIf,EAAIn2H,GACR73B,EAAI,EAAGA,EAAI63B,IAAK73B,EACbmmG,EAAGnmG,KACH+uJ,EAAG/uJ,GAAK4uJ,EAAInuG,EAAG0lD,EAAGnmG,GAAK,OAAU,GAAKmmG,EAAGnmG,IAIrD,OAAO+uJ,CACX,EAEII,EAAM,IAAIpB,EAAG,KACjB,IAAS/tJ,EAAI,EAAGA,EAAI,MAAOA,EACvBmvJ,EAAInvJ,GAAK,EACb,IAASA,EAAI,IAAKA,EAAI,MAAOA,EACzBmvJ,EAAInvJ,GAAK,EACb,IAASA,EAAI,IAAKA,EAAI,MAAOA,EACzBmvJ,EAAInvJ,GAAK,EACb,IAASA,EAAI,IAAKA,EAAI,MAAOA,EACzBmvJ,EAAInvJ,GAAK,EAEb,IAAIovJ,EAAM,IAAIrB,EAAG,IACjB,IAAS/tJ,EAAI,EAAGA,EAAI,KAAMA,EACtBovJ,EAAIpvJ,GAAK,EAEb,IAAIqvJ,EAAoBR,EAAKM,EAAK,EAAG,GAAIG,EAAqBT,EAAKM,EAAK,EAAG,GAEvEI,EAAoBV,EAAKO,EAAK,EAAG,GAAII,EAAqBX,EAAKO,EAAK,EAAG,GAEvE/mH,EAAM,SAAUp2B,GAEhB,IADA,IAAI4R,EAAI5R,EAAE,GACDjS,EAAI,EAAGA,EAAIiS,EAAE/R,SAAUF,EACxBiS,EAAEjS,GAAK6jB,IACPA,EAAI5R,EAAEjS,IAEd,OAAO6jB,CACX,EAEI4rI,EAAO,SAAUhnH,EAAGp4B,EAAGwT,GACvB,IAAIuS,EAAK/lB,EAAI,EAAK,EAClB,OAASo4B,EAAErS,GAAMqS,EAAErS,EAAI,IAAM,KAAY,EAAJ/lB,GAAUwT,CACnD,EAEI6rI,EAAS,SAAUjnH,EAAGp4B,GACtB,IAAI+lB,EAAK/lB,EAAI,EAAK,EAClB,OAASo4B,EAAErS,GAAMqS,EAAErS,EAAI,IAAM,EAAMqS,EAAErS,EAAI,IAAM,MAAa,EAAJ/lB,EAC5D,EAEIs/I,EAAO,SAAUt/I,GAAK,OAASA,EAAI,GAAK,EAAK,CAAG,EAGhDu/I,EAAM,SAAUpuJ,EAAGq2B,EAAG2J,GAMtB,OALS,MAAL3J,GAAaA,EAAI,KACjBA,EAAI,IACC,MAAL2J,GAAaA,EAAIhgC,EAAEtB,UACnBshC,EAAIhgC,EAAEtB,QAEH,IAAI6tJ,EAAGvsJ,EAAEquJ,SAASh4H,EAAG2J,GAChC,EAsBIvyB,EAAK,CACL,iBACA,qBACA,yBACA,mBACA,kBACA,oBAAoB,CAEpB,cACA,qBACA,uBACA,8BACA,oBACA,mBACA,oBAIAZ,EAAM,SAAUyhJ,EAAKpwC,EAAKvmE,GAC1B,IAAI3X,EAAI,IAAI2U,MAAMupE,GAAOzwG,EAAG6gJ,IAI5B,GAHAtuH,EAAE2xB,KAAO28F,EACL35G,MAAM45G,mBACN55G,MAAM45G,kBAAkBvuH,EAAGnzB,IAC1B8qC,EACD,MAAM3X,EACV,OAAOA,CACX,EAEIwuH,EAAQ,SAAUC,EAAK72G,EAAI82G,EAAKC,GAEhC,IAAIC,EAAKH,EAAI/vJ,OAAQozD,EAAK68F,EAAOA,EAAKjwJ,OAAS,EAC/C,IAAKkwJ,GAAMh3G,EAAGp6B,IAAMo6B,EAAGn5C,EACnB,OAAOiwJ,GAAO,IAAInC,EAAG,GACzB,IAAIsC,GAASH,EAEThqG,EAASmqG,GAAiB,GAARj3G,EAAGp5C,EAErBswJ,EAAOl3G,EAAGp5C,EAEVqwJ,IACAH,EAAM,IAAInC,EAAQ,EAALqC,IAEjB,IAAIG,EAAO,SAAUtwJ,GACjB,IAAIuwJ,EAAKN,EAAIhwJ,OAEb,GAAID,EAAIuwJ,EAAI,CAER,IAAIC,EAAO,IAAI1C,EAAG96H,KAAKoV,IAAS,EAALmoH,EAAQvwJ,IACnCwwJ,EAAK1tJ,IAAImtJ,GACTA,EAAMO,CACV,CACJ,EAEInV,EAAQliG,EAAGp6B,GAAK,EAAGqvG,EAAMj1E,EAAG/oC,GAAK,EAAG4qC,EAAK7B,EAAGlnC,GAAK,EAAGw+I,EAAKt3G,EAAGn5C,EAAG0wJ,EAAKv3G,EAAG3Q,EAAGmoH,EAAMx3G,EAAGv1B,EAAGgtI,EAAMz3G,EAAGj6B,EAE/F2xI,EAAY,EAALV,EACX,EAAG,CACC,IAAKM,EAAI,CAELpV,EAAQmU,EAAKQ,EAAK5hC,EAAK,GAEvB,IAAItqH,EAAO0rJ,EAAKQ,EAAK5hC,EAAM,EAAG,GAE9B,GADAA,GAAO,GACFtqH,EAAM,CAEP,IAAI8zB,EAAI83H,EAAKthC,GAAO,EAAGpuH,EAAIgwJ,EAAIp4H,EAAI,GAAMo4H,EAAIp4H,EAAI,IAAM,EAAIjO,EAAIiO,EAAI53B,EACnE,GAAI2pB,EAAIwmI,EAAI,CACJE,GACAjiJ,EAAI,GACR,KACJ,CAEI63C,GACAqqG,EAAKt1G,EAAKh7C,GAEdiwJ,EAAIntJ,IAAIktJ,EAAIJ,SAASh4H,EAAGjO,GAAIqxB,GAE5B7B,EAAGlnC,EAAI+oC,GAAMh7C,EAAGm5C,EAAG/oC,EAAIg+G,EAAU,EAAJzkG,EAAOwvB,EAAGp6B,EAAIs8H,EAC3C,QACJ,CACK,GAAY,GAARv3I,EACL2sJ,EAAKpB,EAAMqB,EAAKnB,EAAMoB,EAAM,EAAGC,EAAM,OACpC,GAAY,GAAR9sJ,EAAW,CAEhB,IAAIgtJ,EAAOtB,EAAKQ,EAAK5hC,EAAK,IAAM,IAAK2iC,EAAQvB,EAAKQ,EAAK5hC,EAAM,GAAI,IAAM,EACnE4iC,EAAKF,EAAOtB,EAAKQ,EAAK5hC,EAAM,EAAG,IAAM,EACzCA,GAAO,GAKP,IAHA,IAAI6iC,EAAM,IAAInD,EAAGkD,GAEbE,EAAM,IAAIpD,EAAG,IACR/tJ,EAAI,EAAGA,EAAIgxJ,IAAShxJ,EAEzBmxJ,EAAI9C,EAAKruJ,IAAMyvJ,EAAKQ,EAAK5hC,EAAU,EAAJruH,EAAO,GAE1CquH,GAAe,EAAR2iC,EAEP,IAAII,EAAM/oH,EAAI8oH,GAAME,GAAU,GAAKD,GAAO,EAEtCE,EAAMzC,EAAKsC,EAAKC,EAAK,GACzB,IAASpxJ,EAAI,EAAGA,EAAIixJ,GAAK,CACrB,IAAI1jJ,EAAI+jJ,EAAI7B,EAAKQ,EAAK5hC,EAAKgjC,IAE3BhjC,GAAW,GAAJ9gH,EAEHsqB,EAAItqB,GAAK,EAEb,GAAIsqB,EAAI,GACJq5H,EAAIlxJ,KAAO63B,MAEV,CAED,IAAIvV,EAAI,EAAGnD,EAAI,EACN,IAAL0Y,GACA1Y,EAAI,EAAIswI,EAAKQ,EAAK5hC,EAAK,GAAIA,GAAO,EAAG/rG,EAAI4uI,EAAIlxJ,EAAI,IACvC,IAAL63B,GACL1Y,EAAI,EAAIswI,EAAKQ,EAAK5hC,EAAK,GAAIA,GAAO,GACxB,IAALx2F,IACL1Y,EAAI,GAAKswI,EAAKQ,EAAK5hC,EAAK,KAAMA,GAAO,GACzC,MAAOlvG,IACH+xI,EAAIlxJ,KAAOsiB,CACnB,CACJ,CAEA,IAAIk4B,EAAK02G,EAAIrB,SAAS,EAAGkB,GAAOp2G,EAAKu2G,EAAIrB,SAASkB,GAElDH,EAAMvoH,EAAImS,GAEVq2G,EAAMxoH,EAAIsS,GACV+1G,EAAK7B,EAAKr0G,EAAIo2G,EAAK,GACnBD,EAAK9B,EAAKl0G,EAAIk2G,EAAK,EACvB,MAEIxiJ,EAAI,GACR,GAAIggH,EAAMyiC,EAAM,CACRR,GACAjiJ,EAAI,GACR,KACJ,CACJ,CAGI63C,GACAqqG,EAAKt1G,EAAK,QAGd,IAFA,IAAIs2G,GAAO,GAAKX,GAAO,EAAGY,GAAO,GAAKX,GAAO,EACzCY,EAAOpjC,GACHojC,EAAOpjC,EAAK,CAEZ/rG,EAAIouI,EAAGhB,EAAOO,EAAK5hC,GAAOkjC,GAA9B,IAAoCp9B,GAAM7xG,GAAK,EAE/C,GADA+rG,GAAW,GAAJ/rG,EACH+rG,EAAMyiC,EAAM,CACRR,GACAjiJ,EAAI,GACR,KACJ,CAGA,GAFKiU,GACDjU,EAAI,GACJ8lH,GAAM,IACN+7B,EAAIj1G,KAAQk5E,OACX,IAAW,KAAPA,GAAY,CACjBs9B,EAAOpjC,EAAKqiC,EAAK,KACjB,KACJ,CAEI,IAAI/nJ,GAAMwrH,GAAM,IAEhB,GAAIA,GAAM,IAAK,CAEPn0H,EAAIm0H,GAAM,IAAd,IAAmBjiH,GAAIi8I,EAAKnuJ,GAC5B2I,GAAM8mJ,EAAKQ,EAAK5hC,GAAM,GAAKn8G,IAAK,GAAKs8I,EAAGxuJ,GACxCquH,GAAOn8G,EACX,CAEA,IAAIu2B,GAAIkoH,EAAGjB,EAAOO,EAAK5hC,GAAOmjC,GAAME,GAAOjpH,IAAK,EAC3CA,IACDp6B,EAAI,GACRggH,GAAW,GAAJ5lF,GACHkS,EAAK+zG,EAAGgD,IACZ,GAAIA,GAAO,EAAG,CACNx/I,GAAIk8I,EAAKsD,IACb/2G,GAAM+0G,EAAOO,EAAK5hC,IAAQ,GAAKn8G,IAAK,EAAGm8G,GAAOn8G,EAClD,CACA,GAAIm8G,EAAMyiC,EAAM,CACRR,GACAjiJ,EAAI,GACR,KACJ,CACI63C,GACAqqG,EAAKt1G,EAAK,QACd,IAAItqC,GAAMsqC,EAAKtyC,GACf,GAAIsyC,EAAKN,EAAI,CACT,IAAI/3C,GAAQ0wD,EAAK3Y,EAAIg3G,GAAO1+H,KAAKC,IAAIynB,EAAIhqC,IAGzC,IAFI/N,GAAQq4C,EAAK,GACb5sC,EAAI,GACD4sC,EAAK02G,KAAQ12G,EAChBi1G,EAAIj1G,GAAMk1G,EAAKvtJ,GAAQq4C,EAC/B,CACA,KAAOA,EAAKtqC,KAAOsqC,EACfi1G,EAAIj1G,GAAMi1G,EAAIj1G,EAAKN,EAC3B,CACJ,CACAvB,EAAGn5C,EAAIywJ,EAAIt3G,EAAG/oC,EAAIohJ,EAAMr4G,EAAGlnC,EAAI+oC,EAAI7B,EAAGp6B,EAAIs8H,EACtCoV,IACApV,EAAQ,EAAGliG,EAAGv1B,EAAI+sI,EAAKx3G,EAAG3Q,EAAIkoH,EAAIv3G,EAAGj6B,EAAI0xI,EACjD,QAAUvV,GAEV,OAAOrgG,GAAMi1G,EAAIhwJ,QAAUmwJ,EAAQT,EAAIM,EAAK,EAAGj1G,GAAMi1G,EAAIL,SAAS,EAAG50G,EACzE,EAEI22G,EAAQ,SAAUnpH,EAAGp4B,EAAG7O,GACxBA,IAAU,EAAJ6O,EACN,IAAI+lB,EAAK/lB,EAAI,EAAK,EAClBo4B,EAAErS,IAAM50B,EACRinC,EAAErS,EAAI,IAAM50B,GAAK,CACrB,EAEIqwJ,EAAU,SAAUppH,EAAGp4B,EAAG7O,GAC1BA,IAAU,EAAJ6O,EACN,IAAI+lB,EAAK/lB,EAAI,EAAK,EAClBo4B,EAAErS,IAAM50B,EACRinC,EAAErS,EAAI,IAAM50B,GAAK,EACjBinC,EAAErS,EAAI,IAAM50B,GAAK,EACrB,EAEIswJ,EAAQ,SAAUrpH,EAAGqmH,GAGrB,IADA,IAAIllI,EAAI,GACC5pB,EAAI,EAAGA,EAAIyoC,EAAEvoC,SAAUF,EACxByoC,EAAEzoC,IACF4pB,EAAErqB,KAAK,CAAEs4B,EAAG73B,EAAGgf,EAAGypB,EAAEzoC,KAE5B,IAAI63B,EAAIjO,EAAE1pB,OACNw3E,EAAK9tD,EAAE7W,QACX,IAAK8kB,EACD,MAAO,CAAEjO,EAAGkvB,EAAI74C,EAAG,GACvB,GAAS,GAAL43B,EAAQ,CACR,IAAIr2B,EAAI,IAAIusJ,EAAGnkI,EAAE,GAAGiO,EAAI,GAExB,OADAr2B,EAAEooB,EAAE,GAAGiO,GAAK,EACL,CAAEjO,EAAGpoB,EAAGvB,EAAG,EACtB,CACA2pB,EAAE5X,MAAK,SAAUC,EAAGC,GAAK,OAAOD,EAAE+M,EAAI9M,EAAE8M,CAAG,IAG3C4K,EAAErqB,KAAK,CAAEs4B,GAAI,EAAG7Y,EAAG,QACnB,IAAI/e,EAAI2pB,EAAE,GAAIrc,EAAIqc,EAAE,GAAImoI,EAAK,EAAGC,EAAK,EAAGC,EAAK,EAC7CroI,EAAE,GAAK,CAAEiO,GAAI,EAAG7Y,EAAG/e,EAAE+e,EAAIzR,EAAEyR,EAAG/e,EAAGA,EAAGsN,EAAGA,GAMvC,MAAOykJ,GAAMn6H,EAAI,EACb53B,EAAI2pB,EAAEA,EAAEmoI,GAAI/yI,EAAI4K,EAAEqoI,GAAIjzI,EAAI+yI,IAAOE,KACjC1kJ,EAAIqc,EAAEmoI,GAAMC,GAAMpoI,EAAEmoI,GAAI/yI,EAAI4K,EAAEqoI,GAAIjzI,EAAI+yI,IAAOE,KAC7CroI,EAAEooI,KAAQ,CAAEn6H,GAAI,EAAG7Y,EAAG/e,EAAE+e,EAAIzR,EAAEyR,EAAG/e,EAAGA,EAAGsN,EAAGA,GAE9C,IAAI2kJ,EAASx6E,EAAG,GAAG7/C,EACnB,IAAS73B,EAAI,EAAGA,EAAI63B,IAAK73B,EACjB03E,EAAG13E,GAAG63B,EAAIq6H,IACVA,EAASx6E,EAAG13E,GAAG63B,GAGvB,IAAI45G,EAAK,IAAIuc,EAAIkE,EAAS,GAEtBC,EAAMhjG,EAAGvlC,EAAEooI,EAAK,GAAIvgB,EAAI,GAC5B,GAAI0gB,EAAMrD,EAAI,CAIN9uJ,EAAI,EAAR,IAAW26C,EAAK,EAEZy3G,EAAMD,EAAMrD,EAAIuD,EAAM,GAAKD,EAE/B,IADA16E,EAAG1lE,MAAK,SAAUC,EAAGC,GAAK,OAAOu/H,EAAGv/H,EAAE2lB,GAAK45G,EAAGx/H,EAAE4lB,IAAM5lB,EAAE+M,EAAI9M,EAAE8M,CAAG,IAC1Dhf,EAAI63B,IAAK73B,EAAG,CACf,IAAIsyJ,EAAO56E,EAAG13E,GAAG63B,EACjB,KAAI45G,EAAG6gB,GAAQxD,GAKX,MAJAn0G,GAAM03G,GAAO,GAAMF,EAAM1gB,EAAG6gB,IAC5B7gB,EAAG6gB,GAAQxD,CAInB,CACAn0G,IAAOy3G,EACP,MAAOz3G,EAAK,EAAG,CACX,IAAI43G,EAAO76E,EAAG13E,GAAG63B,EACb45G,EAAG8gB,GAAQzD,EACXn0G,GAAM,GAAMm0G,EAAKrd,EAAG8gB,KAAU,IAE5BvyJ,CACV,CACA,KAAOA,GAAK,GAAK26C,IAAM36C,EAAG,CACtB,IAAIwyJ,EAAO96E,EAAG13E,GAAG63B,EACb45G,EAAG+gB,IAAS1D,MACVrd,EAAG+gB,KACH73G,EAEV,CACAw3G,EAAMrD,CACV,CACA,MAAO,CAAEllI,EAAG,IAAImkI,EAAGtc,GAAKxxI,EAAGkyJ,EAC/B,EAEIhjG,EAAK,SAAUhwC,EAAGlf,EAAGwoC,GACrB,OAAe,GAARtpB,EAAE0Y,EACH5E,KAAKoV,IAAI8mB,EAAGhwC,EAAElf,EAAGA,EAAGwoC,EAAI,GAAI0mB,EAAGhwC,EAAE5R,EAAGtN,EAAGwoC,EAAI,IAC1CxoC,EAAEkf,EAAE0Y,GAAK4Q,CACpB,EAEIgqH,EAAK,SAAUnwI,GACf,IAAIuV,EAAIvV,EAAEpiB,OAEV,MAAO23B,IAAMvV,IAAIuV,IAMjB,IAJA,IAAI66H,EAAK,IAAI1E,IAAMn2H,GAEf86H,EAAM,EAAGC,EAAMtwI,EAAE,GAAIkkB,EAAM,EAC3BgN,EAAI,SAAUhyC,GAAKkxJ,EAAGC,KAASnxJ,CAAG,EAC7BxB,EAAI,EAAGA,GAAK63B,IAAK73B,EACtB,GAAIsiB,EAAEtiB,IAAM4yJ,GAAO5yJ,GAAK63B,IAClB2O,MACD,CACD,IAAKosH,GAAOpsH,EAAM,EAAG,CACjB,KAAOA,EAAM,IAAKA,GAAO,IACrBgN,EAAE,OACFhN,EAAM,IACNgN,EAAEhN,EAAM,GAAOA,EAAM,IAAO,EAAK,MAAUA,EAAM,GAAM,EAAK,OAC5DA,EAAM,EAEd,MACK,GAAIA,EAAM,EAAG,CAEd,IADAgN,EAAEo/G,KAAQpsH,EACHA,EAAM,EAAGA,GAAO,EACnBgN,EAAE,MACFhN,EAAM,IACNgN,EAAIhN,EAAM,GAAM,EAAK,MAAOA,EAAM,EAC1C,CACA,MAAOA,IACHgN,EAAEo/G,GACNpsH,EAAM,EACNosH,EAAMtwI,EAAEtiB,EACZ,CAEJ,MAAO,CAAEsiB,EAAGowI,EAAG7C,SAAS,EAAG8C,GAAMxzI,EAAG0Y,EACxC,EAEIg7H,EAAO,SAAUC,EAAIJ,GAErB,IADA,IAAIzyJ,EAAI,EACCD,EAAI,EAAGA,EAAI0yJ,EAAGxyJ,SAAUF,EAC7BC,GAAK6yJ,EAAG9yJ,GAAK0yJ,EAAG1yJ,GACpB,OAAOC,CACX,EAGI8yJ,EAAQ,SAAUC,EAAK3kC,EAAK4hC,GAE5B,IAAIp4H,EAAIo4H,EAAI/vJ,OACRk2B,EAAIu5H,EAAKthC,EAAM,GACnB2kC,EAAI58H,GAAS,IAAJyB,EACTm7H,EAAI58H,EAAI,GAAKyB,GAAK,EAClBm7H,EAAI58H,EAAI,GAAc,IAAT48H,EAAI58H,GACjB48H,EAAI58H,EAAI,GAAkB,IAAb48H,EAAI58H,EAAI,GACrB,IAAK,IAAIp2B,EAAI,EAAGA,EAAI63B,IAAK73B,EACrBgzJ,EAAI58H,EAAIp2B,EAAI,GAAKiwJ,EAAIjwJ,GACzB,OAAqB,GAAbo2B,EAAI,EAAIyB,EACpB,EAEIo7H,EAAO,SAAUhD,EAAK+C,EAAK1X,EAAO4X,EAAMC,EAAIC,EAAI7E,EAAIrlG,EAAIuQ,EAAI+2F,EAAIngJ,GAChEuhJ,EAAMoB,EAAK3iJ,IAAKirI,KACd6X,EAAG,KAML,IALA,IAAI/lJ,EAAK0kJ,EAAMqB,EAAI,IAAKE,EAAMjmJ,EAAGwc,EAAG0pI,EAAMlmJ,EAAGnN,EACzCs3E,EAAKu6E,EAAMsB,EAAI,IAAKG,EAAMh8E,EAAG3tD,EAAG4pI,EAAMj8E,EAAGt3E,EACzC4V,EAAK48I,EAAGY,GAAMI,EAAO59I,EAAGyM,EAAGoxI,EAAM79I,EAAGsJ,EACpCzJ,EAAK+8I,EAAGc,GAAMI,EAAOj+I,EAAG4M,EAAGsxI,EAAMl+I,EAAGyJ,EACpC00I,EAAS,IAAI7F,EAAI,IACZhuJ,EAAI,EAAGA,EAAIyzJ,EAAKvzJ,SAAUF,IAC7B6zJ,EAAiB,GAAVJ,EAAKzzJ,IAClB,IAASA,EAAI,EAAGA,EAAI2zJ,EAAKzzJ,SAAUF,IAC7B6zJ,EAAiB,GAAVF,EAAK3zJ,IAGlB,IAFA,IAAIohD,EAAK0wG,EAAM+B,EAAQ,GAAIC,EAAM1yG,EAAGx3B,EAAGmqI,EAAO3yG,EAAGnhD,EAC7C+zJ,EAAO,GACJA,EAAO,IAAMF,EAAIzF,EAAK2F,EAAO,MAAOA,GAE3C,IAKItD,EAAIuD,EAAItD,EAAIr9F,EALZ4gG,EAAQ1D,EAAK,GAAM,EACnB2D,EAAQtB,EAAKM,EAAIhE,GAAO0D,EAAKO,EAAIhE,GAAOb,EACxC6F,EAAQvB,EAAKM,EAAIE,GAAOR,EAAKO,EAAIG,GAAOhF,EAAK,GAAK,EAAIyF,EAAOnB,EAAKgB,EAAQC,GAAO,EAAID,EAAO,IAAM,EAAIA,EAAO,IAAM,EAAIA,EAAO,IAClI,GAAIp6F,GAAM,GAAKy6F,GAAQC,GAASD,GAAQE,EACpC,OAAOrB,EAAMC,EAAK3iJ,EAAG4/I,EAAIJ,SAASp2F,EAAIA,EAAK+2F,IAG/C,GADAoB,EAAMoB,EAAK3iJ,EAAG,GAAK+jJ,EAAQD,IAAS9jJ,GAAK,EACrC+jJ,EAAQD,EAAO,CACfzD,EAAK7B,EAAKwE,EAAKC,EAAK,GAAIW,EAAKZ,EAAK1C,EAAK9B,EAAK0E,EAAKC,EAAK,GAAIlgG,EAAKigG,EAC/D,IAAIc,EAAMxF,EAAKiF,EAAKC,EAAM,GAC1BnC,EAAMoB,EAAK3iJ,EAAGqjJ,EAAM,KACpB9B,EAAMoB,EAAK3iJ,EAAI,EAAGujJ,EAAM,GACxBhC,EAAMoB,EAAK3iJ,EAAI,GAAI2jJ,EAAO,GAC1B3jJ,GAAK,GACL,IAASrQ,EAAI,EAAGA,EAAIg0J,IAAQh0J,EACxB4xJ,EAAMoB,EAAK3iJ,EAAI,EAAIrQ,EAAG8zJ,EAAIzF,EAAKruJ,KACnCqQ,GAAK,EAAI2jJ,EAET,IADA,IAAIM,EAAO,CAACb,EAAME,GACT56G,EAAK,EAAGA,EAAK,IAAKA,EACvB,KAAIw7G,GAAOD,EAAKv7G,GAChB,IAAS/4C,EAAI,EAAGA,EAAIu0J,GAAKr0J,SAAUF,EAAG,CAClC,IAAI22B,GAAgB,GAAV49H,GAAKv0J,GACf4xJ,EAAMoB,EAAK3iJ,EAAGgkJ,EAAI19H,KAAOtmB,GAAKyjJ,EAAIn9H,IAC9BA,GAAM,KACNi7H,EAAMoB,EAAK3iJ,EAAIkkJ,GAAKv0J,IAAM,EAAK,KAAMqQ,GAAKkkJ,GAAKv0J,IAAM,GAC7D,CANmB,CAQ3B,MAEI0wJ,EAAKrB,EAAK4E,EAAK9E,EAAKwB,EAAKpB,EAAKj8F,EAAK87F,EAEvC,IAASpvJ,EAAI,EAAGA,EAAIkpD,IAAMlpD,EAAG,CACzB,IAAIm0H,GAAM++B,EAAKlzJ,GACf,GAAIm0H,GAAM,IAAK,CACPx9F,GAAOw9F,IAAO,GAAM,GACxB09B,EAAQmB,EAAK3iJ,EAAGqgJ,EAAG/5H,GAAM,MAAOtmB,GAAK4jJ,EAAGt9H,GAAM,KAC1CA,GAAM,IACNi7H,EAAMoB,EAAK3iJ,EAAI8jH,IAAO,GAAM,IAAK9jH,GAAK89I,EAAKx3H,KAC/C,IAAI69H,GAAY,GAANrgC,GACV09B,EAAQmB,EAAK3iJ,EAAGsgJ,EAAG6D,KAAOnkJ,GAAKijD,EAAGkhG,IAC9BA,GAAM,IACN3C,EAAQmB,EAAK3iJ,EAAI8jH,IAAO,EAAK,MAAO9jH,GAAK+9I,EAAKoG,IACtD,MAEI3C,EAAQmB,EAAK3iJ,EAAGqgJ,EAAGv8B,KAAO9jH,GAAK4jJ,EAAG9/B,GAE1C,CAEA,OADA09B,EAAQmB,EAAK3iJ,EAAGqgJ,EAAG,MACZrgJ,EAAI4jJ,EAAG,IAClB,EAEIQ,EAAoB,IAAIxG,EAAI,CAAC,MAAO,OAAQ,OAAQ,OAAQ,OAAQ,QAAS,QAAS,QAAS,UAE/Fn1G,EAAmB,IAAIi1G,EAAG,GAE1B2G,EAAO,SAAUzE,EAAK0E,EAAKC,EAAM5jJ,EAAK6jJ,EAAMz7G,GAC5C,IAAIvhB,EAAIuhB,EAAG/B,GAAK44G,EAAI/vJ,OAChBk2B,EAAI,IAAI23H,EAAG/8I,EAAM6mB,EAAI,GAAK,EAAI5E,KAAKqyC,KAAKztC,EAAI,MAASg9H,GAErDrhH,EAAIpd,EAAEy5H,SAAS7+I,EAAKolB,EAAEl2B,OAAS20J,GAC/BC,EAAM17G,EAAGn5C,EACTouH,EAAoB,GAAbj1E,EAAG7rC,GAAK,GACnB,GAAIonJ,EAAK,CACDtmC,IACA76E,EAAE,GAAK4F,EAAG7rC,GAAK,GAenB,IAdA,IAAI8U,EAAMoyI,EAAIE,EAAM,GAChBx1I,EAAIkD,GAAO,GAAIC,EAAU,KAAND,EACnB0yI,GAAS,GAAKH,GAAQ,EAEtBz/I,EAAOikC,EAAG/oC,GAAK,IAAI29I,EAAI,OAAQtxB,EAAOtjF,EAAG/1B,GAAK,IAAI2qI,EAAI+G,EAAQ,GAC9DC,EAAQ/hI,KAAKqyC,KAAKsvF,EAAO,GAAIK,EAAQ,EAAID,EACzCE,EAAM,SAAUl1J,GAAK,OAAQiwJ,EAAIjwJ,GAAMiwJ,EAAIjwJ,EAAI,IAAMg1J,EAAU/E,EAAIjwJ,EAAI,IAAMi1J,GAAUF,CAAO,EAG9F7B,EAAO,IAAIjF,EAAI,MAEfkF,EAAK,IAAInF,EAAI,KAAMoF,EAAK,IAAIpF,EAAI,IAEhCmH,EAAO,EAAG5G,EAAK,EAAGvuJ,EAAIo5C,EAAGp5C,GAAK,EAAGkpD,EAAK,EAAGqB,EAAKnR,EAAG5F,GAAK,EAAGimB,EAAK,EAC3Dz5D,EAAI,EAAI63B,IAAK73B,EAAG,CAEnB,IAAIo1J,EAAKF,EAAIl1J,GAETq1J,EAAW,MAAJr1J,EAAWs1J,EAAQ54B,EAAK04B,GAKnC,GAJAjgJ,EAAKkgJ,GAAQC,EACb54B,EAAK04B,GAAMC,EAGP9qG,GAAMvqD,EAAG,CAET,IAAIu1J,EAAM19H,EAAI73B,EACd,IAAKm1J,EAAO,KAAQjsG,EAAK,SAAWqsG,EAAM,MAAQT,GAAM,CACpDzmC,EAAM4kC,EAAKhD,EAAKz8G,EAAG,EAAG0/G,EAAMC,EAAIC,EAAI7E,EAAIrlG,EAAIuQ,EAAIz5D,EAAIy5D,EAAI40D,GACxDnlE,EAAKisG,EAAO5G,EAAK,EAAG90F,EAAKz5D,EACzB,IAAK,IAAI4zB,EAAI,EAAGA,EAAI,MAAOA,EACvBu/H,EAAGv/H,GAAK,EACZ,IAASA,EAAI,EAAGA,EAAI,KAAMA,EACtBw/H,EAAGx/H,GAAK,CAChB,CAEA,IAAI3zB,EAAI,EAAGwoC,EAAI,EAAG+sH,EAAOlzI,EAAGmzI,EAAMJ,EAAOC,EAAQ,MACjD,GAAIC,EAAM,GAAKH,GAAMF,EAAIl1J,EAAIy1J,GAAM,CAC/B,IAAIC,EAAOziI,KAAKC,IAAI/T,EAAGo2I,GAAO,EAC1BI,EAAO1iI,KAAKC,IAAI,MAAOlzB,GAGvB41J,EAAK3iI,KAAKC,IAAI,IAAKqiI,GACvB,MAAOE,GAAOE,KAAUH,GAAQH,GAAQC,EAAO,CAC3C,GAAIrF,EAAIjwJ,EAAIC,IAAMgwJ,EAAIjwJ,EAAIC,EAAIw1J,GAAM,CAEhC,IADA,IAAII,EAAK,EACFA,EAAKD,GAAM3F,EAAIjwJ,EAAI61J,IAAO5F,EAAIjwJ,EAAI61J,EAAKJ,KAAQI,GAEtD,GAAIA,EAAK51J,EAAG,CAGR,GAFAA,EAAI41J,EAAIptH,EAAIgtH,EAERI,EAAKH,EACL,MAIJ,IAAII,GAAM7iI,KAAKC,IAAIuiI,EAAKI,EAAK,GACzBE,GAAK,EACT,IAASniI,EAAI,EAAGA,EAAIkiI,KAAOliI,EAAG,CAC1B,IAAIyzB,GAAKrnD,EAAIy1J,EAAM7hI,EAAI,MACnBoiI,GAAM7gJ,EAAKkyC,IACX8+C,GAAK9+C,GAAK2uG,GAAM,MAChB7vD,GAAK4vD,KACLA,GAAK5vD,GAAImvD,EAAQjuG,GACzB,CACJ,CACJ,CAEAguG,EAAOC,EAAOA,EAAQngJ,EAAKkgJ,GAC3BI,GAAOJ,EAAOC,EAAQ,KAC1B,CACJ,CAEA,GAAI7sH,EAAG,CAGHyqH,EAAKhqG,KAAQ,UAAaulG,EAAMxuJ,IAAM,GAAM0uJ,EAAMlmH,GAClD,IAAIwtH,GAAiB,GAAXxH,EAAMxuJ,GAASi2J,GAAiB,GAAXvH,EAAMlmH,GACrC8lH,GAAMJ,EAAK8H,IAAO7H,EAAK8H,MACrB/C,EAAG,IAAM8C,MACT7C,EAAG8C,IACL3rG,EAAKvqD,EAAIC,IACPk1J,CACN,MAEIjC,EAAKhqG,KAAQ+mG,EAAIjwJ,KACfmzJ,EAAGlD,EAAIjwJ,GAEjB,CACJ,CACA,IAAKA,EAAIizB,KAAKoV,IAAIroC,EAAGuqD,GAAKvqD,EAAI63B,IAAK73B,EAC/BkzJ,EAAKhqG,KAAQ+mG,EAAIjwJ,KACfmzJ,EAAGlD,EAAIjwJ,IAEbquH,EAAM4kC,EAAKhD,EAAKz8G,EAAGshH,EAAK5B,EAAMC,EAAIC,EAAI7E,EAAIrlG,EAAIuQ,EAAIz5D,EAAIy5D,EAAI40D,GACrDymC,IACD17G,EAAG7rC,EAAW,EAAN8gH,EAAW76E,EAAG66E,EAAM,EAAK,IAAM,EAEvCA,GAAO,EACPj1E,EAAG/1B,EAAIq5G,EAAMtjF,EAAG/oC,EAAI8E,EAAMikC,EAAGp5C,EAAIA,EAAGo5C,EAAG5F,EAAI+W,EAEnD,KACK,CACD,IAASvqD,EAAIo5C,EAAG5F,GAAK,EAAGxzC,EAAI63B,EAAIi9H,EAAK90J,GAAK,MAAO,CAE7C,IAAIwhC,GAAIxhC,EAAI,MACRwhC,IAAK3J,IAEL2b,EAAG66E,EAAM,EAAK,GAAKymC,EACnBtzH,GAAI3J,GAERw2F,EAAM0kC,EAAMv/G,EAAG66E,EAAM,EAAG4hC,EAAIJ,SAAS7vJ,EAAGwhC,IAC5C,CACA4X,EAAGp5C,EAAI63B,CACX,CACA,OAAO+3H,EAAIx5H,EAAG,EAAGplB,EAAM2+I,EAAKthC,GAAOwmC,EACvC,EA2BIsB,EAAQ,WACR,IAAIlkJ,EAAI,EAAGC,EAAI,EACf,MAAO,CACH7B,EAAG,SAAUo4B,GAIT,IAFA,IAAItpB,EAAIlN,EAAG4R,EAAI3R,EACXjS,EAAe,EAAXwoC,EAAEvoC,OACDF,EAAI,EAAGA,GAAKC,GAAI,CAErB,IADA,IAAIuhC,EAAIvO,KAAKC,IAAIlzB,EAAI,KAAMC,GACpBD,EAAIwhC,IAAKxhC,EACZ6jB,GAAK1E,GAAKspB,EAAEzoC,GAChBmf,GAAS,MAAJA,GAAa,IAAMA,GAAK,IAAK0E,GAAS,MAAJA,GAAa,IAAMA,GAAK,GACnE,CACA5R,EAAIkN,EAAGjN,EAAI2R,CACf,EACA4kB,EAAG,WAEC,OADAx2B,GAAK,MAAOC,GAAK,OACL,IAAJD,IAAY,IAAU,MAAJA,IAAe,GAAS,IAAJC,IAAY,EAAKA,GAAK,CACxE,EAER,EAGIkkJ,EAAO,SAAUnG,EAAK5tI,EAAKrR,EAAK6jJ,EAAMz7G,GACtC,IAAKA,IACDA,EAAK,CAAEn5C,EAAG,GACNoiB,EAAIg0I,YAAY,CAChB,IAAIlG,EAAO9tI,EAAIg0I,WAAWxG,UAAU,OAChCyG,EAAS,IAAIvI,EAAGoC,EAAKjwJ,OAAS+vJ,EAAI/vJ,QACtCo2J,EAAOvzJ,IAAIotJ,GACXmG,EAAOvzJ,IAAIktJ,EAAKE,EAAKjwJ,QACrB+vJ,EAAMqG,EACNl9G,EAAG5F,EAAI28G,EAAKjwJ,MAChB,CAEJ,OAAOw0J,EAAKzE,EAAkB,MAAb5tI,EAAIk0I,MAAgB,EAAIl0I,EAAIk0I,MAAkB,MAAXl0I,EAAIm0I,IAAep9G,EAAGn5C,EAAIgzB,KAAKqyC,KAAuD,IAAlDryC,KAAKoV,IAAI,EAAGpV,KAAKC,IAAI,GAAID,KAAKwjI,IAAIxG,EAAI/vJ,WAAmB,GAAO,GAAKmiB,EAAIm0I,IAAMxlJ,EAAK6jJ,EAAMz7G,EACtL,EAmJIs9G,EAAS,SAAUjuH,EAAGv2B,EAAG1Q,GACzB,KAAOA,IAAK0Q,EACRu2B,EAAEv2B,GAAK1Q,EAAGA,KAAO,CACzB,EAkCIm1J,EAAM,SAAUr0I,EAAG8T,GACnB,IAAIwgI,EAAKxgI,EAAEmgI,MAAO/H,EAAW,GAANoI,EAAU,EAAIA,EAAK,EAAI,EAAU,GAANA,EAAU,EAAI,EAGhE,GAFAt0I,EAAE,GAAK,IAAKA,EAAE,GAAMksI,GAAM,GAAMp4H,EAAEigI,YAAc,IAChD/zI,EAAE,IAAM,IAAOA,EAAE,IAAM,EAAKA,EAAE,IAAM,GAChC8T,EAAEigI,WAAY,CACd,IAAIhzI,EAAI8yI,IACR9yI,EAAEhT,EAAE+lB,EAAEigI,YACNK,EAAOp0I,EAAG,EAAGe,EAAEolB,IACnB,CACJ,EAEIouH,EAAM,SAAUpuH,EAAG0nH,GAKnB,OAJmB,IAAP,GAAP1nH,EAAE,KAAkBA,EAAE,IAAM,EAAK,IAAOA,EAAE,IAAM,EAAIA,EAAE,IAAM,KAC7Dp6B,EAAI,EAAG,sBACNo6B,EAAE,IAAM,EAAI,MAAQ0nH,GACrB9hJ,EAAI,EAAG,uBAAgC,GAAPo6B,EAAE,GAAU,OAAS,cAAgB,eAChD,GAAjBA,EAAE,IAAM,EAAI,EACxB,EA+aO,SAASquH,EAASxgJ,EAAMkhG,GACtBA,IACDA,EAAO,CAAC,GACZ,IAAIvlG,EAAIkkJ,IACRlkJ,EAAE5B,EAAEiG,GACJ,IAAImyB,EAAI2tH,EAAK9/I,EAAMkhG,EAAMA,EAAK6+C,WAAa,EAAI,EAAG,GAClD,OAAOM,EAAIluH,EAAG+uE,GAAOk/C,EAAOjuH,EAAGA,EAAEvoC,OAAS,EAAG+R,EAAEw2B,KAAMA,CACzD,CAmEO,SAASsuH,EAAWzgJ,EAAMkhG,GAC7B,OAAOw4C,EAAM15I,EAAKu5I,SAASgH,EAAIvgJ,EAAMkhG,GAAQA,EAAK6+C,aAAc,GAAI,CAAEr2J,EAAG,GAAKw3G,GAAQA,EAAKw7C,IAAKx7C,GAAQA,EAAK6+C,WACjH,CAiHA,IAgBI3kB,EAA2B,oBAAfslB,aAA4C,IAAIA,YAGhE,IACItlB,EAAGjjD,OAAO31C,EAAI,CAAEm+G,QAAQ,IAClB,CACV,CACA,MAAOz1H,IAAK,CAw2BsB,mBAAlB01H,eAA+BA,eAAsC,mBAAdjwH,YAA2BA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACh+E3F,IAAI9nB,GAAgB,iBAClB,oBAAuBwoB,OAC1BA,OACA,oBAAuBuI,EAAAA,EACvBA,EAAAA,EACA,oBAAuBzjC,KACvBA,KACAzN,IAAA,CAPqB,GCE3B,SAASgB,KACHmf,GAAa5P,SAA+C,mBAA7B4P,GAAa5P,QAAQknJ,KACtDt3I,GAAa5P,QAAQknJ,IAAI5wJ,MAAMsZ,GAAa5P,QAAS4X,UAAA,CAuBlD,IAAIlV,GAAU,CACnBwkJ,IAAKz2J,GACLq+F,KArBF,SAAqBz0E,GACfzK,GAAa5P,UAC0B,mBAA9B4P,GAAa5P,QAAQ8uF,KAC9Bl/E,GAAa5P,QAAQ8uF,KAAKx4F,MAAMsZ,GAAa5P,QAAS4X,WAEtDnnB,GAAW0I,KAAK,KAAMye,WAAA,EAiB1B3X,MAZF,SAAsBoa,GAChBzK,GAAa5P,UAC2B,mBAA/B4P,GAAa5P,QAAQC,MAC9B2P,GAAa5P,QAAQC,MAAM3J,MAAMsZ,GAAa5P,QAAS4X,WAEvDnnB,GAAW4pB,GAAA,GCWjB,SAASwM,GAASxM,EAAK4X,EAAMj0B,GAAA,IACvB4R,EAAM,IAAI2zE,eACd3zE,EAAIgtE,KAAK,MAAOviE,GAChBzK,EAAI4zE,aAAe,OACnB5zE,EAAI80E,OAAS,WACXh0F,GAAOkf,EAAI0lF,SAAUrjE,EAAMj0B,EAAA,EAE7B4R,EAAI+0E,QAAU,WACZjiF,GAAQzC,MAAM,4BAEhB2P,EAAIimF,MAAA,CAGN,SAASvtE,GAAYjO,GAAA,IACf4X,EAAM,IAAIsxD,eAEdtxD,EAAI2qD,KAAK,OAAQviE,GAAA,GAAK,IAEpB4X,EAAI4jE,MAAA,CACJ,MAAOx7E,GAAA,QACF4X,EAAIojE,QAAU,KAAOpjE,EAAIojE,QAAU,IAI5C,SAAStiF,GAAMsH,GAAA,IAEXA,EAAKqoB,cAAc,IAAIklH,WAAW,UAClC,MAAO5pJ,GAAA,IACHi0B,EAAMmB,SAASy0H,YAAY,eAC/B51H,EAAI61H,eACF,YACA,EAEA1vH,OACA,EACA,EACA,EACA,GACA,OACA,GACA,GACA,EAEA,EACA,MAEF/d,EAAKqoB,cAAczQ,EAAA,EAIvB,IClFI1P,GAAMzO,GDkFNpjB,GACFkf,GAAQygG,SAEW,gCAAXj4E,OAAA,aAAA/d,EAAAA,EAAAA,GAAA+d,UAAuBA,SAAWxoB,GACtC,aAI2B,oBAAtBm4I,mBACL,aAAcA,kBAAkB5+H,UAChC,SAAgB9O,EAAM4X,EAAMj0B,GAAA,IACtBvN,EAAMmf,GAAQo4I,KAAOp4I,GAAQq4I,UAC7BvlJ,EAAI0wB,SAASvW,cAAc,KAC/BoV,EAAOA,GAAQ5X,EAAK3Q,MAAQ,WAE5BhH,EAAEwlJ,SAAWj2H,EACbvvB,EAAEylJ,IAAM,WAKY,iBAAT9tI,GAET3X,EAAEsxF,KAAO35E,EACL3X,EAAE0lJ,SAAW7zD,SAAS6zD,OACxB9/H,GAAY5lB,EAAEsxF,MACVntE,GAASxM,EAAM4X,EAAMj0B,GACrB+U,GAAMrQ,EAAIA,EAAEnO,OAAS,UAEzBwe,GAAMrQ,KAIRA,EAAEsxF,KAAOvjG,EAAI43J,gBAAgBhuI,GAC7Bqd,YAAW,WACTjnC,EAAI63J,gBAAgB5lJ,EAAEsxF,KAAA,GACrB,KACHt8D,YAAW,WACT3kB,GAAMrQ,EAAA,GACL,KAIT,qBAAsBkoC,UACpB,SAAgB3Y,EAAMj0B,EAAM4R,GAAA,GAC1B5R,EAAOA,GAAQi0B,EAAKvoB,MAAQ,WAER,iBAATuoB,EAAA,GACL3J,GAAY2J,GACdpL,GAASoL,EAAMj0B,EAAM4R,OAChB,KACDnf,EAAI2iC,SAASvW,cAAc,KAC/BpsB,EAAEujG,KAAO/hE,EACTxhC,EAAE8D,OAAS,SACXmjC,YAAW,WACT3kB,GAAMtiB,EAAA,SAIVm6C,UAAU29G,iBAjIpB,SAAat2H,EAAMj0B,GAAA,gBACNA,EAAsBA,EAAO,CAAEwqJ,SAAA,GACjB,YAAhBnuI,EAAAA,EAAAA,GAAOrc,KACd0E,GAAQosF,KAAK,sDACb9wF,EAAO,CAAEwqJ,SAAUxqJ,IAMnBA,EAAKwqJ,SACL,6EAA6E9+H,KAC3EuI,EAAKz9B,MAGA,IAAIi0J,KAAK,CAACjyJ,OAAO08D,aAAa,OAASjhC,GAAO,CAAEz9B,KAAMy9B,EAAKz9B,OAE7Dy9B,CAAA,CAjBT,CAiIyCA,EAAMriB,GAAO5R,EAAA,EAIhD,SAAgBi0B,EAAMj0B,EAAMvN,EAAMiS,GAAA,IAGhCA,EAAQA,GAASk6E,KAAK,GAAI,aAExBl6E,EAAM0wB,SAASm0B,MAAQ7kD,EAAM0wB,SAASgG,KAAKsvH,UACzC,kBAGgB,iBAATz2H,EAAmB,OAAOpL,GAASoL,EAAMj0B,EAAMvN,GAAA,IAEtD63B,EAAsB,6BAAd2J,EAAKz9B,KACbue,EACF,eAAe2W,KAAK9Z,GAAQ2tB,cAAgB3tB,GAAQ+4I,OAClDpmI,EAAc,eAAemH,KAAKkhB,UAAUsI,WAAA,IAG7C3wB,GAAgB+F,GAASvV,IACJ,gCAAfyiF,WAAA,aAAAn7E,EAAAA,EAAAA,GAAAm7E,aACP,KAEI1hF,EAAS,IAAI0hF,WACjB1hF,EAAO80I,UAAY,eACbvuI,EAAMvG,EAAO3b,OACjBkiB,EAAMkI,EACFlI,EACAA,EAAI9U,QAAQ,eAAgB,yBAC5B7C,EAAOA,EAAM6xF,SAASP,KAAO35E,EAC5Bk6E,SAAWl6E,EAChB3X,EAAQ,MAEVoR,EAAO2hF,cAAcxjE,EAAA,KAChB,KACDvhC,EAAMkf,GAAQo4I,KAAOp4I,GAAQq4I,UAC7Bx4I,EAAM/e,EAAI23J,gBAAgBp2H,GAC1BvvB,EAAOA,EAAM6xF,SAAW9kF,EACvB8kF,SAASP,KAAOvkF,EACrB/M,EAAQ,KACRg1B,YAAW,WACThnC,EAAI43J,gBAAgB74I,EAAA,GACnB;;;;;;GEpLb,SAASA,GAAS4K,GAAA,IAaZ4X,EAZJ5X,EAAeA,GAAgB,QAC1BwuI,IAAA,EAGyB,KAA1BxuI,EAAa8lB,OAAO,KAEtB9lB,EAAeA,EAAa47E,OAAO,EAAG,IA2JxC57E,EAjJoB,CAClByuI,UAAW,SACXC,aAAc,SACdC,KAAM,SACNC,WAAY,SACZC,MAAO,SACPC,MAAO,SACPC,OAAQ,SACRC,MAAO,SACPC,eAAgB,SAChB3hF,KAAM,SACN4hF,WAAY,SACZC,MAAO,SACPC,UAAW,SACXC,UAAW,SACXC,WAAY,SACZC,UAAW,SACXC,MAAO,SACPC,eAAgB,SAChBC,SAAU,SACVC,QAAS,SACTC,KAAM,SACNC,SAAU,SACVC,SAAU,SACVC,cAAe,SACfC,SAAU,SACVC,UAAW,SACXC,UAAW,SACXC,YAAa,SACbC,eAAgB,SAChBC,WAAY,SACZC,WAAY,SACZC,QAAS,SACTC,WAAY,SACZC,aAAc,SACdC,cAAe,SACfC,cAAe,SACfC,cAAe,SACfC,WAAY,SACZC,SAAU,SACVC,YAAa,SACbC,QAAS,SACTC,WAAY,SACZC,SAAU,SACVC,UAAW,SACXC,YAAa,SACbC,YAAa,SACbC,QAAS,SACTC,UAAW,SACXC,WAAY,SACZC,KAAM,SACNC,UAAW,SACXC,KAAM,SACNpkF,MAAO,SACPqkF,YAAa,SACbC,SAAU,SACVC,QAAS,SACTC,UAAW,SACXC,OAAQ,SACRC,MAAO,SACPC,MAAO,SACPC,SAAU,SACVC,cAAe,SACfC,UAAW,SACXC,aAAc,SACdC,UAAW,SACXC,WAAY,SACZC,UAAW,SACXC,qBAAsB,SACtBC,UAAW,SACXC,WAAY,SACZC,UAAW,SACXC,YAAa,SACbC,cAAe,SACfC,aAAc,SACdC,eAAgB,SAChBC,eAAgB,SAChBC,eAAgB,SAChBC,YAAa,SACbC,KAAM,SACNC,UAAW,SACXC,MAAO,SACPC,QAAS,SACTC,OAAQ,SACRC,iBAAkB,SAClBC,WAAY,SACZC,aAAc,SACdC,aAAc,SACdC,eAAgB,SAChBC,gBAAiB,SACjBC,kBAAmB,SACnBC,gBAAiB,SACjBC,gBAAiB,SACjBC,aAAc,SACdC,UAAW,SACXC,UAAW,SACXC,SAAU,SACVC,YAAa,SACbC,KAAM,SACNC,QAAS,SACTC,MAAO,SACPC,UAAW,SACXC,OAAQ,SACRC,UAAW,SACXC,OAAQ,SACRC,cAAe,SACfC,UAAW,SACXC,cAAe,SACfC,cAAe,SACfC,WAAY,SACZC,UAAW,SACXC,KAAM,SACNC,KAAM,SACNC,KAAM,SACNC,WAAY,SACZC,OAAQ,SACRjoF,IAAK,SACLkoF,UAAW,SACXC,UAAW,SACXC,YAAa,SACbC,OAAQ,SACRC,WAAY,SACZC,SAAU,SACVC,SAAU,SACVC,OAAQ,SACRC,OAAQ,SACRC,QAAS,SACTC,UAAW,SACXC,UAAW,SACXC,KAAM,SACNC,YAAa,SACbC,UAAW,SACXC,IAAK,SACLC,KAAM,SACNC,QAAS,SACTC,OAAQ,SACRC,UAAW,SACXC,OAAQ,SACRC,UAAW,SACXC,MAAO,SACPC,MAAO,SACPC,WAAY,SACZC,OAAQ,SACRC,YAAa,UArJfp3I,GADAA,EAAeA,EAAa9U,QAAQ,KAAM,KACdC,gBAuJkB6U,EAAA,QAG1Crc,EAAa,CACf,CACEgzC,GAAI,+CACJ0gH,QAAS,CAAC,oBAAqB,oBAC/B1yI,QAAS,SAAS3E,GAAA,MACT,CAACwlB,SAASxlB,EAAK,IAAKwlB,SAASxlB,EAAK,IAAKwlB,SAASxlB,EAAK,OAGhE,CACE22B,GAAI,0BACJ0gH,QAAS,CAAC,UAAW,UACrB1yI,QAAS,SAAS3E,GAAA,MACT,CACLwlB,SAASxlB,EAAK,GAAI,IAClBwlB,SAASxlB,EAAK,GAAI,IAClBwlB,SAASxlB,EAAK,GAAI,OAIxB,CACE22B,GAAI,0BACJ0gH,QAAS,CAAC,OAAQ,OAClB1yI,QAAS,SAAS3E,GAAA,MACT,CACLwlB,SAASxlB,EAAK,GAAKA,EAAK,GAAI,IAC5BwlB,SAASxlB,EAAK,GAAKA,EAAK,GAAI,IAC5BwlB,SAASxlB,EAAK,GAAKA,EAAK,GAAI,QAO3BzK,EAAI,EAAGA,EAAI5R,EAAWrN,OAAQif,IAAK,KACtCnf,EAAKuN,EAAW4R,GAAGohC,GACnBtuC,EAAY1E,EAAW4R,GAAGoP,QAC1B6H,EAAOp2B,EAAGioH,KAAKr+F,GACfwM,IACFoL,EAAWvvB,EAAUmkB,GAAA,KAChB7oB,EAAIi0B,EAAS,QACbX,EAAIW,EAAS,QACbtvB,EAAIsvB,EAAS,QACb42H,IAAA,EAAK,MAKT7qJ,EAAIvO,KAAKuO,EAAI,GAAKuiC,MAAM9wC,KAAKuO,GAAK,EAAIvO,KAAKuO,EAAI,IAAM,IAAMvO,KAAKuO,EAAA,KAChEszB,EAAI7hC,KAAK6hC,EAAI,GAAKiP,MAAM9wC,KAAK6hC,GAAK,EAAI7hC,KAAK6hC,EAAI,IAAM,IAAM7hC,KAAK6hC,EAAA,KAChE3uB,EAAIlT,KAAKkT,EAAI,GAAK49B,MAAM9wC,KAAKkT,GAAK,EAAIlT,KAAKkT,EAAI,IAAM,IAAMlT,KAAKkT,EAAA,KAGhEgvJ,MAAQ,iBACJ,OAASliK,KAAKuO,EAAI,KAAOvO,KAAK6hC,EAAI,KAAO7hC,KAAKkT,EAAI,UAEtDivJ,MAAQ,eACPv3I,EAAI5qB,KAAKuO,EAAEg7B,SAAS,IACpB/G,EAAIxiC,KAAK6hC,EAAE0H,SAAS,IACpBh7B,EAAIvO,KAAKkT,EAAEq2B,SAAS,WACR,GAAZ3e,EAAE1pB,SAAa0pB,EAAI,IAAMA,GACb,GAAZ4X,EAAEthC,SAAashC,EAAI,IAAMA,GACb,GAAZj0B,EAAErN,SAAaqN,EAAI,IAAMA,GACtB,IAAMqc,EAAI4X,EAAIj0B,CAAA;;;;;;;;;GChOzB,SAASk7B,GAAS7e,EAAG4X,GAAA,IACfj0B,EAAIqc,EAAE,GACRzK,EAAIyK,EAAE,GACN5pB,EAAI4pB,EAAE,GACN3X,EAAI2X,EAAE,GAERrc,EAAIszB,GAAGtzB,EAAG4R,EAAGnf,EAAGiS,EAAGuvB,EAAE,GAAI,GAAI,WAC7BvvB,EAAI4uB,GAAG5uB,EAAG1E,EAAG4R,EAAGnf,EAAGwhC,EAAE,GAAI,IAAK,WAC9BxhC,EAAI6gC,GAAG7gC,EAAGiS,EAAG1E,EAAG4R,EAAGqiB,EAAE,GAAI,GAAI,WAC7BriB,EAAI0hB,GAAG1hB,EAAGnf,EAAGiS,EAAG1E,EAAGi0B,EAAE,GAAI,IAAK,YAC9Bj0B,EAAIszB,GAAGtzB,EAAG4R,EAAGnf,EAAGiS,EAAGuvB,EAAE,GAAI,GAAI,WAC7BvvB,EAAI4uB,GAAG5uB,EAAG1E,EAAG4R,EAAGnf,EAAGwhC,EAAE,GAAI,GAAI,YAC7BxhC,EAAI6gC,GAAG7gC,EAAGiS,EAAG1E,EAAG4R,EAAGqiB,EAAE,GAAI,IAAK,YAC9BriB,EAAI0hB,GAAG1hB,EAAGnf,EAAGiS,EAAG1E,EAAGi0B,EAAE,GAAI,IAAK,UAC9Bj0B,EAAIszB,GAAGtzB,EAAG4R,EAAGnf,EAAGiS,EAAGuvB,EAAE,GAAI,EAAG,YAC5BvvB,EAAI4uB,GAAG5uB,EAAG1E,EAAG4R,EAAGnf,EAAGwhC,EAAE,GAAI,IAAK,YAC9BxhC,EAAI6gC,GAAG7gC,EAAGiS,EAAG1E,EAAG4R,EAAGqiB,EAAE,IAAK,IAAK,OAC/BriB,EAAI0hB,GAAG1hB,EAAGnf,EAAGiS,EAAG1E,EAAGi0B,EAAE,IAAK,IAAK,YAC/Bj0B,EAAIszB,GAAGtzB,EAAG4R,EAAGnf,EAAGiS,EAAGuvB,EAAE,IAAK,EAAG,YAC7BvvB,EAAI4uB,GAAG5uB,EAAG1E,EAAG4R,EAAGnf,EAAGwhC,EAAE,IAAK,IAAK,UAC/BxhC,EAAI6gC,GAAG7gC,EAAGiS,EAAG1E,EAAG4R,EAAGqiB,EAAE,IAAK,IAAK,YAG/Bj0B,EAAIsW,GAAGtW,EAFP4R,EAAI0hB,GAAG1hB,EAAGnf,EAAGiS,EAAG1E,EAAGi0B,EAAE,IAAK,GAAI,YAEjBxhC,EAAGiS,EAAGuvB,EAAE,GAAI,GAAI,WAC7BvvB,EAAI4R,GAAG5R,EAAG1E,EAAG4R,EAAGnf,EAAGwhC,EAAE,GAAI,GAAI,YAC7BxhC,EAAI6jB,GAAG7jB,EAAGiS,EAAG1E,EAAG4R,EAAGqiB,EAAE,IAAK,GAAI,WAC9BriB,EAAI0E,GAAG1E,EAAGnf,EAAGiS,EAAG1E,EAAGi0B,EAAE,GAAI,IAAK,WAC9Bj0B,EAAIsW,GAAGtW,EAAG4R,EAAGnf,EAAGiS,EAAGuvB,EAAE,GAAI,GAAI,WAC7BvvB,EAAI4R,GAAG5R,EAAG1E,EAAG4R,EAAGnf,EAAGwhC,EAAE,IAAK,EAAG,UAC7BxhC,EAAI6jB,GAAG7jB,EAAGiS,EAAG1E,EAAG4R,EAAGqiB,EAAE,IAAK,IAAK,WAC/BriB,EAAI0E,GAAG1E,EAAGnf,EAAGiS,EAAG1E,EAAGi0B,EAAE,GAAI,IAAK,WAC9Bj0B,EAAIsW,GAAGtW,EAAG4R,EAAGnf,EAAGiS,EAAGuvB,EAAE,GAAI,EAAG,WAC5BvvB,EAAI4R,GAAG5R,EAAG1E,EAAG4R,EAAGnf,EAAGwhC,EAAE,IAAK,GAAI,YAC9BxhC,EAAI6jB,GAAG7jB,EAAGiS,EAAG1E,EAAG4R,EAAGqiB,EAAE,GAAI,IAAK,WAC9BriB,EAAI0E,GAAG1E,EAAGnf,EAAGiS,EAAG1E,EAAGi0B,EAAE,GAAI,GAAI,YAC7Bj0B,EAAIsW,GAAGtW,EAAG4R,EAAGnf,EAAGiS,EAAGuvB,EAAE,IAAK,GAAI,YAC9BvvB,EAAI4R,GAAG5R,EAAG1E,EAAG4R,EAAGnf,EAAGwhC,EAAE,GAAI,GAAI,UAC7BxhC,EAAI6jB,GAAG7jB,EAAGiS,EAAG1E,EAAG4R,EAAGqiB,EAAE,GAAI,GAAI,YAG7Bj0B,EAAI/L,GAAG+L,EAFP4R,EAAI0E,GAAG1E,EAAGnf,EAAGiS,EAAG1E,EAAGi0B,EAAE,IAAK,IAAK,YAElBxhC,EAAGiS,EAAGuvB,EAAE,GAAI,GAAI,QAC7BvvB,EAAIzQ,GAAGyQ,EAAG1E,EAAG4R,EAAGnf,EAAGwhC,EAAE,GAAI,IAAK,YAC9BxhC,EAAIwB,GAAGxB,EAAGiS,EAAG1E,EAAG4R,EAAGqiB,EAAE,IAAK,GAAI,YAC9BriB,EAAI3d,GAAG2d,EAAGnf,EAAGiS,EAAG1E,EAAGi0B,EAAE,IAAK,IAAK,UAC/Bj0B,EAAI/L,GAAG+L,EAAG4R,EAAGnf,EAAGiS,EAAGuvB,EAAE,GAAI,GAAI,YAC7BvvB,EAAIzQ,GAAGyQ,EAAG1E,EAAG4R,EAAGnf,EAAGwhC,EAAE,GAAI,GAAI,YAC7BxhC,EAAIwB,GAAGxB,EAAGiS,EAAG1E,EAAG4R,EAAGqiB,EAAE,GAAI,IAAK,WAC9BriB,EAAI3d,GAAG2d,EAAGnf,EAAGiS,EAAG1E,EAAGi0B,EAAE,IAAK,IAAK,YAC/Bj0B,EAAI/L,GAAG+L,EAAG4R,EAAGnf,EAAGiS,EAAGuvB,EAAE,IAAK,EAAG,WAC7BvvB,EAAIzQ,GAAGyQ,EAAG1E,EAAG4R,EAAGnf,EAAGwhC,EAAE,GAAI,IAAK,WAC9BxhC,EAAIwB,GAAGxB,EAAGiS,EAAG1E,EAAG4R,EAAGqiB,EAAE,GAAI,IAAK,WAC9BriB,EAAI3d,GAAG2d,EAAGnf,EAAGiS,EAAG1E,EAAGi0B,EAAE,GAAI,GAAI,UAC7Bj0B,EAAI/L,GAAG+L,EAAG4R,EAAGnf,EAAGiS,EAAGuvB,EAAE,GAAI,GAAI,WAC7BvvB,EAAIzQ,GAAGyQ,EAAG1E,EAAG4R,EAAGnf,EAAGwhC,EAAE,IAAK,IAAK,WAC/BxhC,EAAIwB,GAAGxB,EAAGiS,EAAG1E,EAAG4R,EAAGqiB,EAAE,IAAK,GAAI,WAG9Bj0B,EAAI2E,GAAG3E,EAFP4R,EAAI3d,GAAG2d,EAAGnf,EAAGiS,EAAG1E,EAAGi0B,EAAE,GAAI,IAAK,WAEjBxhC,EAAGiS,EAAGuvB,EAAE,GAAI,GAAI,WAC7BvvB,EAAIC,GAAGD,EAAG1E,EAAG4R,EAAGnf,EAAGwhC,EAAE,GAAI,GAAI,YAC7BxhC,EAAIkS,GAAGlS,EAAGiS,EAAG1E,EAAG4R,EAAGqiB,EAAE,IAAK,IAAK,YAC/BriB,EAAIjN,GAAGiN,EAAGnf,EAAGiS,EAAG1E,EAAGi0B,EAAE,GAAI,IAAK,UAC9Bj0B,EAAI2E,GAAG3E,EAAG4R,EAAGnf,EAAGiS,EAAGuvB,EAAE,IAAK,EAAG,YAC7BvvB,EAAIC,GAAGD,EAAG1E,EAAG4R,EAAGnf,EAAGwhC,EAAE,GAAI,IAAK,YAC9BxhC,EAAIkS,GAAGlS,EAAGiS,EAAG1E,EAAG4R,EAAGqiB,EAAE,IAAK,IAAK,SAC/BriB,EAAIjN,GAAGiN,EAAGnf,EAAGiS,EAAG1E,EAAGi0B,EAAE,GAAI,IAAK,YAC9Bj0B,EAAI2E,GAAG3E,EAAG4R,EAAGnf,EAAGiS,EAAGuvB,EAAE,GAAI,EAAG,YAC5BvvB,EAAIC,GAAGD,EAAG1E,EAAG4R,EAAGnf,EAAGwhC,EAAE,IAAK,IAAK,UAC/BxhC,EAAIkS,GAAGlS,EAAGiS,EAAG1E,EAAG4R,EAAGqiB,EAAE,GAAI,IAAK,YAC9BriB,EAAIjN,GAAGiN,EAAGnf,EAAGiS,EAAG1E,EAAGi0B,EAAE,IAAK,GAAI,YAC9Bj0B,EAAI2E,GAAG3E,EAAG4R,EAAGnf,EAAGiS,EAAGuvB,EAAE,GAAI,GAAI,WAC7BvvB,EAAIC,GAAGD,EAAG1E,EAAG4R,EAAGnf,EAAGwhC,EAAE,IAAK,IAAK,YAC/BxhC,EAAIkS,GAAGlS,EAAGiS,EAAG1E,EAAG4R,EAAGqiB,EAAE,GAAI,GAAI,WAC7BriB,EAAIjN,GAAGiN,EAAGnf,EAAGiS,EAAG1E,EAAGi0B,EAAE,GAAI,IAAK,WAE9B5X,EAAE,GAAKpM,GAAMjQ,EAAGqc,EAAE,IAClBA,EAAE,GAAKpM,GAAM2B,EAAGyK,EAAE,IAClBA,EAAE,GAAKpM,GAAMxd,EAAG4pB,EAAE,IAClBA,EAAE,GAAKpM,GAAMvL,EAAG2X,EAAE,IAGpB,SAASvZ,GAAIuZ,EAAG4X,EAAGj0B,EAAG4R,EAAGnf,EAAGiS,GAAA,OAC1BuvB,EAAIhkB,GAAMA,GAAMgkB,EAAG5X,GAAIpM,GAAM2B,EAAGlN,IACzBuL,GAAOgkB,GAAKxhC,EAAMwhC,IAAO,GAAKxhC,EAAKuN,EAAA,CAG5C,SAASszB,GAAGjX,EAAG4X,EAAGj0B,EAAG4R,EAAGnf,EAAGiS,EAAGmkB,GAAA,OACrB/lB,GAAKmxB,EAAIj0B,GAAOi0B,EAAIriB,EAAIyK,EAAG4X,EAAGxhC,EAAGiS,EAAGmkB,EAAA,CAG7C,SAASvS,GAAG+F,EAAG4X,EAAGj0B,EAAG4R,EAAGnf,EAAGiS,EAAGmkB,GAAA,OACrB/lB,GAAKmxB,EAAIriB,EAAM5R,GAAK4R,EAAIyK,EAAG4X,EAAGxhC,EAAGiS,EAAGmkB,EAAA,CAG7C,SAAS50B,GAAGooB,EAAG4X,EAAGj0B,EAAG4R,EAAGnf,EAAGiS,EAAGmkB,GAAA,OACrB/lB,GAAImxB,EAAIj0B,EAAI4R,EAAGyK,EAAG4X,EAAGxhC,EAAGiS,EAAGmkB,EAAA,CAGpC,SAASlkB,GAAG0X,EAAG4X,EAAGj0B,EAAG4R,EAAGnf,EAAGiS,EAAGmkB,GAAA,OACrB/lB,GAAI9C,GAAKi0B,GAAKriB,GAAIyK,EAAG4X,EAAGxhC,EAAGiS,EAAGmkB,EAAA,CAGvC,SAASmd,GAAK3pB,GAAA,IAIV4X,EAFEj0B,EAAIqc,EAAE1pB,OACRif,EAAQ,CAAC,YAAa,WAAY,WAAY,eAE3CqiB,EAAI,GAAIA,GAAK5X,EAAE1pB,OAAQshC,GAAK,GAC/BiH,GAAStpB,EAAOq0B,GAAO5pB,EAAE8sD,UAAUl1C,EAAI,GAAIA,KAE7C5X,EAAIA,EAAE8sD,UAAUl1C,EAAI,QAChBxhC,EAAO,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,OACpDwhC,EAAI,EAAGA,EAAI5X,EAAE1pB,OAAQshC,IACxBxhC,EAAKwhC,GAAK,IAAM5X,EAAE8iB,WAAWlL,KAAOA,EAAI,GAAK,MAC/CxhC,EAAKwhC,GAAK,IAAM,MAASA,EAAI,GAAK,GAC9BA,EAAI,GAAI,IACViH,GAAStpB,EAAOnf,GACXwhC,EAAI,EAAGA,EAAI,GAAIA,IAAKxhC,EAAKwhC,GAAK,SAErCxhC,EAAK,IAAU,EAAJuN,EACXk7B,GAAStpB,EAAOnf,GACTmf,CAAA,CAkBT,SAASq0B,GAAO5pB,GAAA,IAGZ4X,EADEj0B,EAAU,OAETi0B,EAAI,EAAGA,EAAI,GAAIA,GAAK,EACvBj0B,EAAQi0B,GAAK,GACX5X,EAAE8iB,WAAWlL,IACZ5X,EAAE8iB,WAAWlL,EAAI,IAAM,IACvB5X,EAAE8iB,WAAWlL,EAAI,IAAM,KACvB5X,EAAE8iB,WAAWlL,EAAI,IAAM,WAErBj0B,CAAA,CF1JPukB,GAAO3S,GAAaiiJ,KAAK7wJ,KAAK4O,IAC9BkE,GAAOlE,GAAakiJ,KAAK9wJ,KAAK4O,IE4JhC,IAAI01B,GAAU,mBAAmBxc,MAAM,IAEvC,SAASgc,GAAKzqB,GAAA,QACR4X,EAAI,GACNj0B,EAAI,EACCA,EAAI,EAAGA,IACZi0B,GAAKqT,GAASjrB,GAAU,EAAJrc,EAAQ,EAAM,IAAQsnC,GAASjrB,GAAU,EAAJrc,EAAU,WAC9Di0B,CAAA,CAST,SAASiS,GAAmB7pB,GAAA,OACnB7jB,OAAO08D,aACP,IAAJ74C,GACI,MAAJA,IAAe,GACX,SAAJA,IAAiB,IACb,WAAJA,IAAmB,IAUxB,SAASqqB,GAAOrqB,GAAA,OACM2pB,GAAK3pB,GALhBvkB,IAAIouC,IAAoBzK,KAAK,IAaxC,IAAIuL,GAA2B,oCA9B/B,SAAa3qB,GAAA,IACN,IAAI4X,EAAI,EAAGA,EAAI5X,EAAE1pB,OAAQshC,IAAK5X,EAAE4X,GAAK6S,GAAKzqB,EAAE4X,IAAA,OAC1C5X,EAAEof,KAAK,IAFhB,CA2BauK,GAGM,UAEnB,SAAS/1B,GAAMoM,EAAG4X,GAAA,GACZ+S,GAAU,KAKRhnC,GAAW,MAAJqc,IAAmB,MAAJ4X,GAAA,OACjB5X,GAAK,KAAO4X,GAAK,KAAOj0B,GAAO,KACzB,GAAa,MAANA,CAAA,QAOdqc,EAAI4X,EAAK;;;;;;;;GCrMrB,SAASoT,GAAIhrB,EAAK4X,GAAA,IACZj0B,EAAS4R,EAdCnf,EAAKiS,EAAA,GAef2X,IAAQrc,EAAS,SACf6oB,GAhBQp2B,EAgBG4pB,EAhBE3X,EAgB+B,GAA1B,IAAM2X,EAAI1pB,OAAW,GAftC,IAAIsc,MAAMvK,EAAM,GAAG+2B,KAAKhpC,IAgBzB63B,EAAQ,GACHvV,EAAI,EAAGA,EAAI,IAAKA,IACvBuV,EAAMvV,GAAKA,EAAA,IAETwP,EAAI,MACCxP,EAAI,EAAGA,EAAI,IAAKA,IAAK,KACxBe,EAAIwU,EAAMvV,GACdwP,GAAKA,EAAIzO,EAAI+S,EAAEsW,WAAWpqB,IAAM,IAChCuV,EAAMvV,GAAKuV,EAAM/F,GACjB+F,EAAM/F,GAAKzO,CAAA,CAEb9V,EAAUqc,EACVzK,EAAY0Y,CAAA,MAEZA,EAAQ1Y,EAAA,IAENlf,EAASuhC,EAAKthC,OACd8e,EAAI,EACJypB,EAAI,EACJp4B,EAAM,OACDiS,EAAI,EAAGA,EAAIriB,EAAQqiB,IAG1BmmB,GAAKA,GADLplB,EAAIwU,EADJ7Y,GAAKA,EAAI,GAAK,OAEA,IACd6Y,EAAM7Y,GAAK6Y,EAAM4Q,GACjB5Q,EAAM4Q,GAAKplB,EACX+S,EAAIyB,GAAOA,EAAM7Y,GAAK6Y,EAAM4Q,IAAM,KAClCp4B,GAAOtK,OAAO08D,aAAajhC,EAAKkL,WAAWpqB,GAAK8T,GAAA,OAE3C/lB,CAAA;;;;;;;;;;;GCxCT,IAAIib,GAAoB,CACtBg2I,MAAO,EACPC,OAAQ,EACR5jC,KAAM,iBACS,IAgBjB,SAASrpF,GAAY1qB,EAAa4X,EAAcj0B,EAAe4R,GAAA,KACxD3d,EAAI,OACJ+L,EAAI,MAGLvN,EAAa,IACjB4pB,EAAYnlB,SAAQ,SAASmlB,GAAA,YAChB0B,GAAkBk2I,KAAA,MACrB,IAAIrrH,MAAM,uBAAyBvsB,GAE3C5pB,GAAcsrB,GAAkB1B,EAAA,SAI7Bg7B,QACH,2CAEE3yC,GAAsBuvB,EAAexiC,KAAK4lD,SAAS4gD,OAAO,EAAG,IAC7DpvE,GAAuB7oB,EAAgBvO,KAAK4lD,SAAS4gD,OAAO,EAAG,SAE9DzxD,EAAI/0C,KAAKyiK,qBAAqBxvJ,EAAoBmkB,GAAA,KAClDwe,IAA2B,GAAP,IAAb50C,IAAA,KACP0hK,cAAgBztH,GACnBhiC,EACEjT,KAAK+0C,EACL/0C,KAAK2iK,aAAa3iK,KAAK41C,GACvB51C,KAAK4iK,WAAWziJ,IAClBqmF,OAAO,EAAG,QACP/sD,EAAI7D,GAAI51C,KAAK0iK,cAAe1iK,KAAK4lD,QAAA,CC1DxC,SAASlP,GAAU9rB,GAAA,GAEb,mBAAmBqP,KAAKrP,GAAA,MAEpB,IAAIusB,MACR,4BAA8BvsB,EAAM,2CAGpC4X,EAAS,GACXj0B,EAAYqc,EAAI1pB,OACTif,EAAI,EAAGA,EAAI5R,EAAW4R,IAAK,KAC9Bnf,EAAW4pB,EAAI8iB,WAAWvtB,GAuB5BqiB,GArBAxhC,EAAW,IACE,KAAbA,GACa,KAAbA,GACa,KAAbA,GACa,KAAbA,GACa,KAAbA,GACa,KAAbA,GACa,KAAbA,GACa,KAAbA,GACa,KAAbA,GACa,MAAbA,GACa,MAAbA,GACAA,EAAW,IASD,KAFS,IADNA,EAASuoC,SAAS,KACEx1B,OAAO,GAK9B6W,EAAIzK,EAAA,QAGXqiB,CAAA,CC3BT,SAASsS,GAAOtS,GAAA,GACS,YAAnB5X,EAAAA,EAAAA,GAAO4X,GAAA,MACH,IAAI2U,MACR,kEAGA5oC,EAAS,CAAC,EAAD,KAERsqH,UAAY,SAASjuG,EAAO4X,EAAUriB,GAAA,GACzCA,EAAOA,IAAA,EAEY,iBAAVyK,GACa,mBAAb4X,GACS,kBAATriB,EAAA,MAED,IAAIg3B,MACR,+DAIC5oC,EAAOzH,eAAe8jB,KACzBrc,EAAOqc,GAAS,CAAC,GAAD,IAGd5pB,EAAQizB,KAAKylC,SAASnwB,SAAS,WACnCh7B,EAAOqc,GAAO5pB,GAAS,CAACwhC,IAAYriB,GAE7Bnf,CAAA,OAGJ6hK,YAAc,SAASj4I,GAAA,IACrB,IAAI4X,KAASj0B,EAAA,GACZA,EAAOi0B,GAAO5X,GAAA,cACTrc,EAAOi0B,GAAO5X,GACqB,IAAtC1kB,OAAO/B,KAAKoK,EAAOi0B,IAAQthC,eACtBqN,EAAOi0B,IAAA,EAET,QAGJ,OAGJ23F,QAAU,SAASvvG,GAAA,GAClBrc,EAAOzH,eAAe8jB,GAAQ,KAC5B5pB,EAAOwc,MAAMkc,UAAU3lB,MAAMrK,KAAKye,UAAW,GAC/CiP,EAAS,OAEN,IAAIyB,KAAStqB,EAAOqc,GAAQ,KAC3BtH,EAAM/U,EAAOqc,GAAOiO,GAAA,IAEtBvV,EAAI,GAAGzc,MAAM27B,EAASxhC,EAAA,CACtB,MAAO4pB,GACHzK,GAAa5P,SACf0C,GAAQzC,MAAM,qBAAsBoa,EAAGkkH,QAASlkH,EAAA,CAGhDtH,EAAI,IAAI8T,EAAO72B,KAAKs4B,EAAA,CAEtBzB,EAAOl2B,QAAQk2B,EAAO3xB,QAAQzF,KAAK6iK,YAAA,QAItCC,UAAY,kBACRv0J,CAAA,EAIX,SAASqmB,GAAOhK,GAAA,KACR5qB,gBAAgB40B,IAAA,OACb,IAAIA,GAAOhK,GAAA,IAWhB4X,EAAY,yBAAyBnJ,MAAM,SAC1C,IAAI9qB,KAAKqc,EACRA,EAAW9jB,eAAeyH,IAAMi0B,EAAUhwB,QAAQjE,IAAM,SACrDA,GAAKqc,EAAWrc,IAAA,KAOpBkD,GAAK,QAKLsxJ,cAAgB,EAoBvB,SAAShuH,GAAQnqB,EAAQ4X,GAAA,KAClBwgI,OAASp4I,EAAA,KACTkgE,OAAStoD,EAAA,KAET/wB,GAAK,QACLsxJ,cAAgB,EAGvB,SAAS3qH,GAAextB,EAAM4X,EAAQj0B,EAAQ4R,EAAQnf,GAAA,KAC9ChB,gBAAgBo4C,IAAA,OACb,IAAIA,GAAextB,EAAM4X,EAAQj0B,EAAQ4R,EAAQnf,GAAA,KAIrD+D,KAAgB,UAAT6lB,EAAmB,EAAI,OAC9Bq4I,OAASzgI,EAAA,KACT0gI,OAAS30J,EAEdwmC,GAAQrrC,KAAK1J,KAAMmgB,EAAQnf,EAAA,CAG7B,SAASy1C,GAAc7rB,EAAa4X,EAAOj0B,EAAO4R,EAAQnf,GAAA,KAClDhB,gBAAgBy2C,IAAA,OACb,IAAIA,GAAc7rB,EAAa4X,EAAOj0B,EAAO4R,EAAQnf,GAAA,KAGzDmiK,YAAcv4I,EAAA,KACdw4I,MAAQ5gI,EAAA,KACR6gI,MAAQ90J,EAAA,KAER0pJ,OAAS,QAETqL,WAAa,EAElBvuH,GAAQrrC,KAAK1J,KAAMmgB,EAAQnf,EAAA,CAsC7B,SAAS0zC,GAAMlS,GAAA,IAOTj0B,EANAvN,EAAsC,iBAAjBmnB,UAAU,GAAkBA,UAAU,GAAK,IAChEiP,EAAOjP,UAAU,GACjB0Q,EAAS1Q,UAAU,GACnB7E,EAAc6E,UAAU,GACxB2K,EAAU,GACV2W,EAAW,EAEXp4B,EAAiB,GACjBwwB,EAAuB,IACvBhd,EAAoB,KAID,YAAnB+F,EAAAA,EAAAA,GAFJ4X,EAAUA,GAAW,CAAC,KAGpBxhC,EAAcwhC,EAAQm5E,YACtBvkF,EAAOoL,EAAQgyC,MAAQp9C,EACvByB,EAAS2J,EAAQigD,QAAU5pD,EAC3BvV,EAAckf,EAAQ+gI,UAAY/gI,EAAQghI,aAAelgJ,EAE/B,QAD1BuB,EAAoB2d,EAAQihI,YAAc,QAExC5+I,EAAkB6+I,aAAe7+I,EAAkB6+I,cAAgB,GACnE7+I,EAAkB8+I,cAAgB9+I,EAAkB8+I,eAAiB,GACrE9+I,EAAkB++I,gBAChB/+I,EAAkB++I,iBAAmB,IAEzCn6H,EAC8B,iBAArBjH,EAAQqhI,SAAwB5vI,KAAKgnB,IAAIzY,EAAQqhI,UAAY,WAC3DrhI,EAAQshI,YACjBv1J,EAAYi0B,EAAQshI,gBAAA,IAEXthI,EAAQuhI,iBACjB1yJ,EAAiBmxB,EAAQuhI,gBAE3BliI,EAAuBW,EAAQwhI,sBAAwB,KAGzDlxI,EACE0P,EAAQvf,WAAA,IAAYK,EAAuB,CAAC,eAAiBwP,GAE/DsE,EAAOA,GAAQ,KACfp2B,GAAe,IAAMA,GAAe,MAAM+U,cAAA,IACtCvT,EAAmBggC,EAAQyhI,mBAAA,EAC3B/wJ,EAAY,CAAC,EAEbqhC,EAAM,CACR8mE,SAAU,CAAC,EACX6oD,YAAa,CAAC,GAGhB3vH,EAAI2vH,YAAYC,OAASrvH,GAAA,IAErBN,EAAa,MACbqB,EAAiBtB,EAAI2vH,YAAYE,cAAgB,kBAC5C5vH,CAAA,EAGTD,EAAI2vH,YAAYG,cAAgB,SAASz5I,GACvC4pB,EAAa5pB,CAAA,MAIXyqB,EAAc,CAChBivH,GAAI,CAAC,QAAS,SACdrxF,GAAI,CAAC,QAAS,SACdC,GAAI,CAAC,QAAS,SACdC,GAAI,CAAC,OAAQ,SACb+X,GAAI,CAAC,OAAQ,QACbq5E,GAAI,CAAC,OAAQ,QACbC,GAAI,CAAC,OAAQ,QACbC,GAAI,CAAC,OAAQ,QACbC,GAAI,CAAC,MAAO,QACZC,GAAI,CAAC,OAAQ,OACbC,IAAK,CAAC,KAAM,QACZC,GAAI,CAAC,QAAS,SACd75E,GAAI,CAAC,QAAS,SACdC,GAAI,CAAC,QAAS,SACd65E,GAAI,CAAC,QAAS,SACd35E,GAAI,CAAC,OAAQ,SACb45E,GAAI,CAAC,MAAO,QACZC,GAAI,CAAC,OAAQ,OACbC,GAAI,CAAC,OAAQ,QACbC,GAAI,CAAC,OAAQ,QACbC,GAAI,CAAC,OAAQ,QACbC,IAAK,CAAC,MAAO,QACbC,GAAI,CAAC,QAAS,SACd3xI,GAAI,CAAC,QAAS,SACdE,GAAI,CAAC,QAAS,SACdm8C,GAAI,CAAC,OAAQ,SACbu1F,GAAI,CAAC,OAAQ,QACbC,GAAI,CAAC,OAAQ,QACbC,GAAI,CAAC,OAAQ,QACbC,GAAI,CAAC,OAAQ,QACbC,GAAI,CAAC,OAAQ,QACbC,GAAI,CAAC,OAAQ,QACbC,IAAK,CAAC,MAAO,QACbtxG,GAAI,CAAC,OAAQ,QACb49C,OAAQ,CAAC,IAAK,yBACO,CAAC,IAAK,KAC3B2zD,MAAO,CAAC,IAAK,qBACG,CAAC,IAAK,KACtBC,OAAQ,CAAC,KAAM,KACfC,QAAS,CAAC,IAAK,oBACA,CAAC,IAAK,MAGvBxxH,EAAI2vH,YAAY8B,eAAiB,kBACxB3wH,CAAA,MAGLZ,EAAiBF,EAAI2vH,YAAY+B,cAAgB,SAASr7I,GAAA,OACrDyqB,EAAYzqB,EAAA,EAGrBiO,EAASA,GAAU,SAEfoc,EAAU,CACZixH,OAAQ,SACRC,SAAU,YAER5wH,EAAUN,EAAQixH,OAAA,SAEb1nJ,IAAA,KAIF4nJ,oBACL5qH,EACE,IAAIgF,GACFxE,GACA,EACA,GACCA,GACD,EACAqqH,KAAkBrqH,IAClBzS,WAAa,YAEZ+8H,YAAYtmK,KAAKumK,cAAgBvqH,IAItCna,EAAuB,IAEvB0T,EAAUN,EAAQkxH,QAAA,UAGXvwH,IAAA,KACF4wH,uBACL3kI,EAAuB,IACvB0T,EAAUN,EAAQixH,MAAA,KAUhB55I,EAAiCioB,EAAI2vH,YAAYuC,8BAAgC,SACnF77I,EACA4X,GAAA,GAGgB,QAAb5X,GAAqC,UAAd4X,GACV,QAAb5X,GAAqC,KAAd4X,GACV,UAAb5X,GAAuC,UAAd4X,GACZ,QAAb5X,GAAqC,UAAd4X,EAAA,MAElB,IAAI2U,MAAM,0DAEd3U,IACF5X,EACgB,KAAd4X,GAAoC,WAAfA,EACH,WAAd5X,EACE,SACA,SACa,KAAd4X,GAAoC,SAAfA,GACR,WAAd5X,GAEe,KAAd4X,EAAoB,OAASA,GAAc,GAAK5X,EADjD,QAGDA,CAAA,EA6BT2pB,EAAImyH,YAAc,SAAS97I,GAAA,IACrB4X,EAAW+S,IAAYN,EAAQixH,OAAA,OAE/B1jI,GACFhkB,EAAY9U,KAAK1J,MAGC,mBAAT4qB,IAIXA,EAAK5qB,MAEDwiC,GACFoT,EAAUlsC,KAAK1J,OANRA,IAAA,EAqBXu0C,EAAIoyH,UAAY,SAAS/7I,GAAA,IACnB4X,EAAW+S,IAAYN,EAAQkxH,SAAA,OAE/B3jI,GACFoT,EAAUlsC,KAAK1J,MAGG,mBAAT4qB,IAIXA,EAAK5qB,MAEDwiC,GACFhkB,EAAY9U,KAAK1J,OANVA,IAAA,EAiBXu0C,EAAIqyH,cAAgB,kBACXrxH,IAAYN,EAAQkxH,QAAA,MAyBzBpxH,EAtBAgE,EAAsB,SAASnuB,GAAA,GAC7B2qB,IAAYN,EAAQkxH,SAAA,MAChB,IAAIhvH,MACRvsB,EAAA,qFAOFkrB,EAAoBvB,EAAIsyH,iBAAmBtyH,EAAI2vH,YAAY2C,iBAAmB,SAChFj8I,EACA4X,GAAA,IAEIriB,EAAe5R,GAAai0B,EAAA,GAC5BsO,MAAMlmB,IAAWkmB,MAAM3wB,GAAA,MACnB,IAAIg3B,MAAM,4DAEXvsB,EAAOk8I,QAAQ3mJ,GAAcrK,QAAQ,MAAO,KAMnDi/B,EAAMR,EAAIwyH,IAAMxyH,EAAI2vH,YAAY6C,IADJ,iBAAnB11J,EAC6B,SAASuZ,GAAA,GACzCkmB,MAAMlmB,GAAA,MACF,IAAIusB,MAAM,+CAEXrB,EAAiBlrB,EAAQvZ,EAAA,EAEN,UAAnBA,EAC6B,SAASuZ,GAAA,GACzCkmB,MAAMlmB,GAAA,MACF,IAAIusB,MAAM,+CAGTrB,EAAiBlrB,EADtBA,GAAU,GAAKA,EAAS,EACM,GAEA,IAIE,SAASA,GAAA,GACzCkmB,MAAMlmB,GAAA,MACF,IAAIusB,MAAM,+CAEXrB,EAAiBlrB,EAAQ,SAGhCkuB,EAAMvE,EAAIyyH,GAAKzyH,EAAI2vH,YAAY8C,GAAK,SAASp8I,GAAA,GAC3CkmB,MAAMlmB,GAAA,MACF,IAAIusB,MAAM,8CAEXrB,EAAiBlrB,EAAQ,IAG9B+pB,EAAMJ,EAAI2vH,YAAY+C,GAAK,SAASr8I,GAAA,GAClCkmB,MAAMlmB,GAAA,MACF,IAAIusB,MAAM,8CAEXrB,EAAiBlrB,EAAQ,IAG9B6uB,EAASlF,EAAIu8D,MAAQv8D,EAAI2vH,YAAYpzD,MAAQ,SAASlmF,GAAA,GACpDkmB,MAAMlmB,GAAA,MACF,IAAIusB,MAAM,iDAEd5B,IAAYN,EAAQixH,OACft7I,EAASoxB,GACPzG,IAAYN,EAAQkxH,SACtBv7I,OAAA,CADF,EAKLytB,EAAa,SAASztB,GAAA,OACpB2qB,IAAYN,EAAQixH,OACfG,KAAkBz7I,EAChB2qB,IAAYN,EAAQkxH,SACtBv7I,OAAA,CADF,EAKLosB,EAAkB,SAASpsB,GAAA,OACtB6uB,EAAMpB,EAAWztB,GAAA,EAW1B2pB,EAAI2vH,YAAYgD,aAAe3yH,EAAI2yH,aAAe,SAASt8I,GACtB,iBAAxBwlB,SAASxlB,EAAO,MACzBrc,EAAY6hC,SAASxlB,EAAO,UA0D5B6sB,EAtDAuB,EAAS,mCAETU,EAAanF,EAAI2vH,YAAYiD,UAAY,kBACpCnuH,CAAA,EAGLO,EAAahF,EAAI2vH,YAAYkD,UAAY,SAASx8I,GAAA,OAElDouB,OAAA,IADSpuB,GAAyB,oBAAoBqP,KAAKrP,GAClDA,EAAM4lB,cAENwI,EACN3f,MAAM,IACNhzB,KAAI,iBACI,mBAAmBqqC,OAAOzc,KAAKwlC,MAAsB,GAAhBxlC,KAAKylC,UAAA,IAElD1vB,KAAK,IAGgB,OAAtBnlB,IACFgjC,GAAa,IAAIvS,GACfzwB,EAAkB++I,gBAClB/+I,EAAkB6+I,aAClB7+I,EAAkB8+I,cAClB3qH,IAGGA,CAAA,EAWTzE,EAAI6yH,UAAY,SAASx8I,GAAA,OACvB2uB,EAAU3uB,GACH5qB,IAAA,EAWTu0C,EAAI4yH,UAAY,kBACPztH,GAAA,MAKLC,EAAwBpF,EAAI2vH,YAAYmD,qBAAuB,SACjEz8I,GAAA,IAGI4X,EAAW5X,EAAS08I,oBACtB/4J,EAASi0B,EAAW,EAAI,IAAM,IAC9BriB,EAAS8T,KAAKwlC,MAAMxlC,KAAKgnB,IAAIzY,EAAW,KACxCxhC,EAAQizB,KAAKgnB,IAAIzY,EAAW,IAC5BvvB,EAAiB,CAAC1E,EAAQ2qC,EAAM/4B,GAAS,IAAK+4B,EAAMl4C,GAAQ,KAAKgpC,KAAK,UAE/D,CACP,KACApf,EAAS28I,cACTruH,EAAMtuB,EAAS48I,WAAa,GAC5BtuH,EAAMtuB,EAAS68I,WACfvuH,EAAMtuB,EAAS88I,YACfxuH,EAAMtuB,EAAS+8I,cACfzuH,EAAMtuB,EAASg9I,cACf30J,GACA+2B,KAAK,KAILsP,EAAwB/E,EAAI2vH,YAAY2D,qBAAuB,SACjEj9I,GAAA,IAEI4X,EAAO4N,SAASxlB,EAAY47E,OAAO,EAAG,GAAI,IAC1Cj4F,EAAQ6hC,SAASxlB,EAAY47E,OAAO,EAAG,GAAI,IAAM,EACjDrmF,EAAOiwB,SAASxlB,EAAY47E,OAAO,EAAG,GAAI,IAC1CxlG,EAAOovC,SAASxlB,EAAY47E,OAAO,GAAI,GAAI,IAC3CvzF,EAAUm9B,SAASxlB,EAAY47E,OAAO,GAAI,GAAI,IAC9CpvE,EAAUgZ,SAASxlB,EAAY47E,OAAO,GAAI,GAAI,WAI9B,IAAIx5D,KAAKxK,EAAMj0B,EAAO4R,EAAMnf,EAAMiS,EAASmkB,EAAS,IAItE6hB,EAAmB1E,EAAI2vH,YAAY4D,gBAAkB,SAASl9I,GAAA,IAC5D4X,EAAA,YAEO5X,IACTA,EAAO,IAAIoiB,MAGTpiB,aAAgBoiB,KAClBxK,EAAwBmX,EAAqB/uB,OACxC,KAPoB,kMAOKqP,KAAKrP,GAAA,MAG7B,IAAIusB,MAAM,oDAFhB3U,EAAwB5X,CAAA,QAI1B6sB,EAAejV,CAAA,EAIboX,EAAmBrF,EAAI2vH,YAAY6D,gBAAkB,SAASn9I,GAAA,IAC5D4X,EAASiV,EAAA,MACA,WAAT7sB,IACF4X,EAAS8W,EAAqB7B,IAEzBjV,CAAA,EAWT+R,EAAIuzH,gBAAkB,SAASl9I,GAAA,OAC7BquB,EAAgBruB,GACT5qB,IAAA,EAWTu0C,EAAIwzH,gBAAkB,SAASn9I,GAAA,OACtBgvB,EAAgBhvB,EAAA,MAmBrB1L,EAhBAg6B,EAAS3E,EAAI2vH,YAAY8D,MAAQ,SAASp9I,GAAA,OACpC,IAAMwlB,SAASxlB,IAAS7W,OAAO,IAGrC8lC,EAAYtF,EAAI2vH,YAAY+D,SAAW,SAASr9I,GAAA,OAE1C,MADRA,EAAYA,EAAU2e,aACIi9D,OAAO57E,EAAU1pB,OAAA,EAGzC44C,EAAe,EACfwB,EAAU,GACVnB,EAAU,GACVJ,EAAgB,EAChBwB,EAAoB,GAEpBF,EAAQ,GAERjB,GAAA,EACAqB,EAAoBtB,EAEpByB,EAAgB,WAElB9B,EAAe,EACfC,EAAgB,EAChBI,EAAU,GACVmB,EAAU,GACVC,EAAoB,GAEpBmF,GAAsBD,KACtBQ,GAA0BR,IAAA,EAG5BlM,EAAI2vH,YAAYgE,2BAA6B,SAASt9I,GACpDwvB,GAAA,EACAqB,EAAoB7wB,CAAA,MAElB8wB,EAAuB,SAAS9wB,GAC7BwvB,IACHqB,EAAoB7wB,EAAA,EAIxB2pB,EAAI2vH,YAAYiE,6BAA+B,WAC7C/tH,GAAA,EACAqB,EAAoBtB,CAAA,MAGlBqB,EAAOjH,EAAI2vH,YAAYlQ,IAAM,SAASppI,GAAA,OACxCA,EAASA,EAAO2e,WAChBwQ,GAAiBnvB,EAAO1pB,OAAS,EACjCu6C,EAAkBl7C,KAAKqqB,GAEhB6wB,CAAA,EAGLI,GAAStH,EAAI2vH,YAAYhyF,MAAQ,SAAStnD,GAAA,OACrC4wB,EACgB,IAArBrzB,UAAUjnB,OACN0pB,EAAM2e,WACN/rB,MAAMkc,UAAUsQ,KAAKtgC,KAAKye,UAAW,OAIzCwzB,GAAkBpH,EAAI2vH,YAAYkE,eAAiB,SAASx9I,GAAA,QAC1D4X,EAAM5X,EAAK1pB,OACbqN,EAAK,IAAIk2D,YAAYjiC,GACrBriB,EAAK,IAAIyjD,WAAWr1D,GAEfi0B,KAAOriB,EAAGqiB,GAAO5X,EAAK8iB,WAAWlL,GAAA,OACjCj0B,CAAA,EAGLutC,GAAgB,CAClB,CAAC,YAAa,YAAa,SAAU,mBACrC,CAAC,iBAAkB,YAAa,OAAQ,mBACxC,CAAC,oBAAqB,YAAa,SAAU,mBAC7C,CAAC,wBAAyB,YAAa,aAAc,mBACrD,CAAC,UAAW,UAAW,SAAU,mBACjC,CAAC,eAAgB,UAAW,OAAQ,mBACpC,CAAC,kBAAmB,UAAW,SAAU,mBACzC,CAAC,sBAAuB,UAAW,aAAc,mBACjD,CAAC,cAAe,QAAS,SAAU,mBACnC,CAAC,aAAc,QAAS,OAAQ,mBAChC,CAAC,eAAgB,QAAS,SAAU,mBACpC,CAAC,mBAAoB,QAAS,aAAc,mBAC5C,CAAC,eAAgB,eAAgB,SAAU,MAC3C,CAAC,SAAU,SAAU,SAAU,OAGjCvH,EAAI2vH,YAAYmE,iBAAmB,kBAC1BvsH,EAAA,MAGLC,GAAiBvZ,EAAQgnD,UAAY,GAYzCj1C,EAAI2vH,YAAYoC,YAAc/xH,EAAI+xH,YAAc,SAAS17I,GAAA,OAErDmxB,GADExG,IAAYN,EAAQkxH,SACLv7I,EAAOoxB,GAEPpxB,EAEZ5qB,IAAA,MAkDLg3B,GAtCAklB,GAAe3H,EAAI2vH,YAAYqC,YAAchyH,EAAIgyH,YAAc,kBAC7DhxH,IAAYN,EAAQixH,OACfnqH,GAEAA,GAAiBC,EAAA,EAIxBC,GAAMzZ,EAAQ8lI,MAAA,EAYlB/zH,EAAI2vH,YAAYqE,OAASh0H,EAAIg0H,OAAS,SAAS39I,GAAA,OAC7CqxB,GAAMrxB,EACC5qB,IAAA,EAYTu0C,EAAI2vH,YAAYsE,OAASj0H,EAAIi0H,OAAS,kBAC7BvsH,EAAA,MAkCLE,GA7BAC,GAAe7H,EAAI2vH,YAAYuE,YAAc,SAAS79I,GAAA,IACpD4X,EAAiB,MAAC,EAEpB,KACA,YACA,aACA,WACA,eAGE,+BAA+BvI,KAAKrP,GACtCoM,GAAWpM,OACN,GAAKkmB,MAAMlmB,GAEX,KAAsC,IAAlC4X,EAAehwB,QAAQoY,GAAA,MAG1B,IAAIusB,MACR,gHACEvsB,EACA,wBALJoM,GAAWpM,CAAA,MAFXoM,GAAWoZ,SAASxlB,EAAM,KAY9B2pB,EAAI2vH,YAAYwE,YAAc,kBACrB1xI,EAAA,MA4BLooB,GAxBAL,GAAexK,EAAI2vH,YAAYyE,YAAc,SAAS/9I,GAAA,IAUlB,GATjB,MAAC,EAEpB,KACA,UACA,cACA,YACA,cAGiBpY,QAAQoY,GAAA,MACnB,IAAIusB,MACR,6EACEvsB,EACA,wBAGNuxB,GAAWvxB,CAAA,EAGb2pB,EAAI2vH,YAAY0E,YAAc,kBACrBzsH,EAAA,MAILE,GAAiB9H,EAAI2vH,YAAY2E,cAAgB,SAASj+I,GAAA,IAWnB,GAVlB,MAAC,EAEtB,KACA,aACA,SACA,UACA,WACA,OAGmBpY,QAAQoY,GAAA,MACrB,IAAIusB,MACR,sEACEvsB,EACA,wBAGNw0B,GAAax0B,CAAA,EAGf2pB,EAAI2vH,YAAY4E,cAAgB,kBACvB1pH,EAAA,EA4BT7K,EAAI2vH,YAAY6E,eAAiBx0H,EAAIw0H,eAAiB,SACpDn+I,EACA4X,EACAj0B,GAAA,OAEA6tC,GAAYxxB,GACZyxB,GAAc7Z,GACduc,GAAYxwC,GACLvO,IAAA,MAGLi9C,GAAqB,CACvB6a,MAAO,GACPkxG,QAAS,GACTC,OAAQ,GACRC,SAAU,GACVC,QAAS,IAGX50H,EAAI2vH,YAAYkF,oBAAsB,SAASx+I,GAAA,IACS,IAAlD1kB,OAAO/B,KAAK84C,IAAoBzqC,QAAQoY,GAAA,MACpC,IAAIusB,MAAM,+DAEX8F,GAAmBryB,EAAA,EAG5B2pB,EAAI2vH,YAAYmF,sBAAwB,kBAC/BpsH,EAAA,EAaT1I,EAAI2vH,YAAYoF,sBAAwB/0H,EAAIg1H,cAAgBh1H,EAAI+0H,sBAAwB,SACtF1+I,GAAA,IAGK,IAAI4X,KAAYya,GACfA,GAAmBn2C,eAAe07B,IAAa5X,EAAW4X,KAC5Dya,GAAmBza,GAAY5X,EAAW4X,IAAA,OAGvCxiC,IAAA,EAGTu0C,EAAI2vH,YAAYsF,oBAAsB,SAAS5+I,EAAK4X,GAAA,IACI,IAAlDt8B,OAAO/B,KAAK84C,IAAoBzqC,QAAQoY,GAAA,MACpC,IAAIusB,MAAM,gEAEV8F,GAAmBryB,GAAO4X,CAAA,MAKhCwc,GAOAhD,GASAqD,GACAP,GACAK,GApBAK,GAAQ,CAAC,EACT9C,GAAU,CAAC,EAEX4C,GAAiB,GACjBtC,GAAW,CAAC,EACZ2C,GAAa,CAAC,EACdJ,GAAU,CAAC,EACXjD,GAAa,CAAC,EACdiE,GAAe,KAEftB,GAAO,EACPqB,GAAe,GACf/D,GAAS,IAAIzH,GAAOP,GACpBsM,GAAWre,EAAQinI,UAAY,GAE/BppH,GAAgB,CAAC,EACjBZ,GAAkB,CAAC,EACnBC,GAAoB,GAsBpBc,GAAS,SAAT51B,EAAkB4X,EAAIj0B,EAAK4R,EAAKnf,EAAIiS,EAAImkB,GAAA,KACpCp3B,gBAAgB4qB,GAAA,OACb,IAAIA,EAAO4X,EAAIj0B,EAAK4R,EAAKnf,EAAIiS,EAAImkB,GAGtC0Z,MAAMtO,KAAKA,EAAK,GAChBsO,MAAMviC,KAAMA,EAAM,GAClBuiC,MAAM3wB,KAAMA,EAAM,GAClB2wB,MAAM9vC,KAAKA,EAAK,GAChB8vC,MAAM79B,KAAKA,EAAK,GAChB69B,MAAM1Z,KAAKA,EAAK,QAEfsyI,QAAU,CAAClnI,EAAIj0B,EAAK4R,EAAKnf,EAAIiS,EAAImkB,EAAA,EAOxClxB,OAAO+a,eAAeu/B,GAAO9mB,UAAW,KAAM,CAC5Cv2B,IAAK,kBACInD,KAAK0pK,QAAQ,IAEtB3lK,IAAK,SAAS6mB,GAAA,KACP8+I,QAAQ,GAAK9+I,CAAA,IAQtB1kB,OAAO+a,eAAeu/B,GAAO9mB,UAAW,MAAO,CAC7Cv2B,IAAK,kBACInD,KAAK0pK,QAAQ,IAEtB3lK,IAAK,SAAS6mB,GAAA,KACP8+I,QAAQ,GAAK9+I,CAAA,IAQtB1kB,OAAO+a,eAAeu/B,GAAO9mB,UAAW,MAAO,CAC7Cv2B,IAAK,kBACInD,KAAK0pK,QAAQ,IAEtB3lK,IAAK,SAAS6mB,GAAA,KACP8+I,QAAQ,GAAK9+I,CAAA,IAQtB1kB,OAAO+a,eAAeu/B,GAAO9mB,UAAW,KAAM,CAC5Cv2B,IAAK,kBACInD,KAAK0pK,QAAQ,IAEtB3lK,IAAK,SAAS6mB,GAAA,KACP8+I,QAAQ,GAAK9+I,CAAA,IAQtB1kB,OAAO+a,eAAeu/B,GAAO9mB,UAAW,KAAM,CAC5Cv2B,IAAK,kBACInD,KAAK0pK,QAAQ,IAEtB3lK,IAAK,SAAS6mB,GAAA,KACP8+I,QAAQ,GAAK9+I,CAAA,IAQtB1kB,OAAO+a,eAAeu/B,GAAO9mB,UAAW,KAAM,CAC5Cv2B,IAAK,kBACInD,KAAK0pK,QAAQ,IAEtB3lK,IAAK,SAAS6mB,GAAA,KACP8+I,QAAQ,GAAK9+I,CAAA,IAItB1kB,OAAO+a,eAAeu/B,GAAO9mB,UAAW,IAAK,CAC3Cv2B,IAAK,kBACInD,KAAK0pK,QAAQ,IAEtB3lK,IAAK,SAAS6mB,GAAA,KACP8+I,QAAQ,GAAK9+I,CAAA,IAItB1kB,OAAO+a,eAAeu/B,GAAO9mB,UAAW,IAAK,CAC3Cv2B,IAAK,kBACInD,KAAK0pK,QAAQ,IAEtB3lK,IAAK,SAAS6mB,GAAA,KACP8+I,QAAQ,GAAK9+I,CAAA,IAItB1kB,OAAO+a,eAAeu/B,GAAO9mB,UAAW,IAAK,CAC3Cv2B,IAAK,kBACInD,KAAK0pK,QAAQ,IAEtB3lK,IAAK,SAAS6mB,GAAA,KACP8+I,QAAQ,GAAK9+I,CAAA,IAItB1kB,OAAO+a,eAAeu/B,GAAO9mB,UAAW,IAAK,CAC3Cv2B,IAAK,kBACInD,KAAK0pK,QAAQ,IAEtB3lK,IAAK,SAAS6mB,GAAA,KACP8+I,QAAQ,GAAK9+I,CAAA,IAItB1kB,OAAO+a,eAAeu/B,GAAO9mB,UAAW,IAAK,CAC3Cv2B,IAAK,kBACInD,KAAK0pK,QAAQ,IAEtB3lK,IAAK,SAAS6mB,GAAA,KACP8+I,QAAQ,GAAK9+I,CAAA,IAItB1kB,OAAO+a,eAAeu/B,GAAO9mB,UAAW,IAAK,CAC3Cv2B,IAAK,kBACInD,KAAK0pK,QAAQ,IAEtB3lK,IAAK,SAAS6mB,GAAA,KACP8+I,QAAQ,GAAK9+I,CAAA,IAQtB1kB,OAAO+a,eAAeu/B,GAAO9mB,UAAW,WAAY,CAClDv2B,IAAK,kBACI8wB,KAAK2vD,MAAM5jF,KAAK2pK,IAAK3pK,KAAK4pK,GAAA,IAQrC1jK,OAAO+a,eAAeu/B,GAAO9mB,UAAW,SAAU,CAChDv2B,IAAK,kBACInD,KAAK6pK,YAAY/4D,MAAM84D,EAAA,IAQlC1jK,OAAO+a,eAAeu/B,GAAO9mB,UAAW,SAAU,CAChDv2B,IAAK,kBACInD,KAAK6pK,YAAY/4D,MAAMg5D,EAAA,IAQlC5jK,OAAO+a,eAAeu/B,GAAO9mB,UAAW,aAAc,CACpDv2B,IAAK,kBACa,IAAZnD,KAAK4pK,IAGQ,IAAb5pK,KAAK+pK,KAGQ,IAAb/pK,KAAK2pK,KAGO,IAAZ3pK,KAAK8pK,IAGO,IAAZ9pK,KAAKgqK,IAGO,IAAZhqK,KAAKiqK,EAAA,IAebzpH,GAAO9mB,UAAUsQ,KAAO,SAASpf,GAAA,MACxB,CAAC5qB,KAAK4pK,GAAI5pK,KAAK+pK,IAAK/pK,KAAK2pK,IAAK3pK,KAAK8pK,GAAI9pK,KAAKgqK,GAAIhqK,KAAKiqK,IACzD5jK,IAAI0uC,GACJ/K,KAAKpf,EAAA,EAWV41B,GAAO9mB,UAAUwwI,SAAW,SAASt/I,GAAA,IAC/B4X,EAAK5X,EAAOg/I,GAAK5pK,KAAK4pK,GAAKh/I,EAAOm/I,IAAM/pK,KAAK2pK,IAC7Cp7J,EAAMqc,EAAOg/I,GAAK5pK,KAAK+pK,IAAMn/I,EAAOm/I,IAAM/pK,KAAK8pK,GAC/C3pJ,EAAMyK,EAAO++I,IAAM3pK,KAAK4pK,GAAKh/I,EAAOk/I,GAAK9pK,KAAK2pK,IAC9C3oK,EAAK4pB,EAAO++I,IAAM3pK,KAAK+pK,IAAMn/I,EAAOk/I,GAAK9pK,KAAK8pK,GAC9C72J,EAAK2X,EAAOo/I,GAAKhqK,KAAK4pK,GAAKh/I,EAAOq/I,GAAKjqK,KAAK2pK,IAAM3pK,KAAKgqK,GACvD5yI,EAAKxM,EAAOo/I,GAAKhqK,KAAK+pK,IAAMn/I,EAAOq/I,GAAKjqK,KAAK8pK,GAAK9pK,KAAKiqK,GAAA,OAEpD,IAAIzpH,GAAOhe,EAAIj0B,EAAK4R,EAAKnf,EAAIiS,EAAImkB,EAAA,EAO1CopB,GAAO9mB,UAAUmwI,UAAY,eACvBj/I,EAAI5qB,KAAK4pK,GACTpnI,EAAIxiC,KAAK+pK,IACTx7J,EAAIvO,KAAK2pK,IACTxpJ,EAAIngB,KAAK8pK,GACT9oK,EAAIhB,KAAKgqK,GACT/2J,EAAIjT,KAAKiqK,GAET7yI,EAASnD,KAAKswD,KAAK35D,EAAIA,EAAI4X,EAAIA,GAI/B3J,GAHJjO,GAAKwM,GAGW7oB,GAFhBi0B,GAAKpL,GAEmBjX,EACxB5R,GAAKqc,EAAIiO,EACT1Y,GAAKqiB,EAAI3J,EAAA,IAELvV,EAAS2Q,KAAKswD,KAAKh2E,EAAIA,EAAI4R,EAAIA,GAAA,OAGnC0Y,GAASvV,EAELsH,GAHJzK,GAAKmD,GAGOkf,GAJZj0B,GAAK+U,KAKHsH,GAAKA,EACL4X,GAAKA,EACL3J,GAASA,EACTzB,GAAUA,GAGL,CACL05E,MAAO,IAAItwD,GAAOppB,EAAQ,EAAG,EAAG9T,EAAQ,EAAG,GAC3C0tF,UAAW,IAAIxwD,GAAO,EAAG,EAAG,EAAG,EAAGx/C,EAAGiS,GACrCk3J,OAAQ,IAAI3pH,GAAO51B,EAAG4X,GAAIA,EAAG5X,EAAG,EAAG,GACnCw/I,KAAM,IAAI5pH,GAAO,EAAG,EAAG3nB,EAAO,EAAG,EAAG,KAQxC2nB,GAAO9mB,UAAU6P,SAAW,SAAS3e,GAAA,OAC5B5qB,KAAKgqC,KAAK,MAOnBwW,GAAO9mB,UAAU2wI,SAAW,eACtBz/I,EAAI5qB,KAAK4pK,GACXpnI,EAAIxiC,KAAK+pK,IACTx7J,EAAIvO,KAAK2pK,IACTxpJ,EAAIngB,KAAK8pK,GACT9oK,EAAIhB,KAAKgqK,GACT/2J,EAAIjT,KAAKiqK,GAEP7yI,EAAO,GAAKxM,EAAIzK,EAAIqiB,EAAIj0B,GAExBsqB,EAAO1Y,EAAIiX,EACX9T,GAAQkf,EAAIpL,EACZtE,GAAQvkB,EAAI6oB,EACZ/S,EAAOuG,EAAIwM,EAAA,OAIR,IAAIopB,GAAO3nB,EAAMvV,EAAMwP,EAAMzO,GAHxBwU,EAAO73B,EAAI8xB,EAAO7f,GAClBqQ,EAAOtiB,EAAIqjB,EAAOpR,EAAA,EAShCutC,GAAO9mB,UAAU4wI,aAAe,SAAS1/I,GAAA,IACnC4X,EAAI5X,EAAGqqB,EAAIj1C,KAAK4pK,GAAKh/I,EAAG2pB,EAAIv0C,KAAK2pK,IAAM3pK,KAAKgqK,GAC5Cz7J,EAAIqc,EAAGqqB,EAAIj1C,KAAK+pK,IAAMn/I,EAAG2pB,EAAIv0C,KAAK8pK,GAAK9pK,KAAKiqK,GAAA,OACzC,IAAIM,GAAM/nI,EAAGj0B,EAAA,EAOtBiyC,GAAO9mB,UAAU8wI,iBAAmB,SAAS5/I,GAAA,IACvC4X,EAAMxiC,KAAKsqK,aAAa1/I,GACxBrc,EAAMvO,KAAKsqK,aAAa,IAAIC,GAAM3/I,EAAKqqB,EAAIrqB,EAAK4pB,EAAG5pB,EAAK2pB,EAAI3pB,EAAKvG,IAAA,OAC9D,IAAIomJ,GAAUjoI,EAAIyS,EAAGzS,EAAI+R,EAAGhmC,EAAI0mC,EAAIzS,EAAIyS,EAAG1mC,EAAIgmC,EAAI/R,EAAI+R,EAAA,EAWhEiM,GAAO9mB,UAAUoE,MAAQ,eACnBlT,EAAK5qB,KAAK4pK,GACVpnI,EAAMxiC,KAAK+pK,IACXx7J,EAAMvO,KAAK2pK,IACXxpJ,EAAKngB,KAAK8pK,GACV9oK,EAAKhB,KAAKgqK,GACV/2J,EAAKjT,KAAKiqK,GAAA,OAEP,IAAIzpH,GAAO51B,EAAI4X,EAAKj0B,EAAK4R,EAAInf,EAAIiS,EAAA,EAG1CshC,EAAIm2H,OAASlqH,GAAA,IASTM,GAAcvM,EAAIo2H,WAAa,SAAS//I,EAAI4X,GAAA,OACvCA,EAAG0nI,SAASt/I,EAAA,EASjBg2B,GAAiB,IAAIJ,GAAO,EAAG,EAAG,EAAG,EAAG,EAAG,GAC/CjM,EAAIq2H,WAAar2H,EAAIs2H,eAAiBjqH,GAAA,IAOlCG,GAAa,SAASn2B,EAAK4X,GAAA,IAEzBmd,GAAW/0B,GAAA,KAGXrc,GADSi0B,aAAmB4V,GAAiB,KAAO,MAC7BlyC,OAAO/B,KAAK64C,IAAU97C,OAAS,GAAGqoC,SAAS,IACtE/G,EAAQ/wB,GAAKlD,EAEboxC,GAAW/0B,GAAOrc,EAClByuC,GAASzuC,GAAci0B,EAEvB+Z,GAAO49E,QAAQ,aAAc33F,EAAA,GAmB/B+R,EAAIu2H,eAAiB1yH,GAgBrB7D,EAAIw2H,cAAgBt0H,GAWpBlC,EAAIy2H,kBAAoB,SAASpgJ,EAAK4X,GAAA,OACpCuW,EAAoB,uBAEpBgI,GAAWn2B,EAAK4X,GACTxiC,IAAA,EAUTu0C,EAAI02H,mBAAqB,SAASrgJ,GAChCmuB,EAAoB,wBAEpBmyH,GACEtgJ,EAAQu4I,YAAY,GACpBv4I,EAAQu4I,YAAY,GACpBv4I,EAAQu4I,YAAY,GAAKv4I,EAAQu4I,YAAY,GAC7Cv4I,EAAQu4I,YAAY,GAAKv4I,EAAQu4I,YAAY,GAC7Cv4I,EAAQkgE,OAAA,EAcZv2C,EAAI42H,iBAAmB,SAASvgJ,EAAK4X,GACnCuW,EAAoB,sBAGpBvW,EAAQy1H,OAAS58G,EAAMn8B,GAAa8qB,KAAK,MAEzC+W,GAAWn2B,EAAK4X,GAEhB+Z,GAAO49E,QAAQ,mBAAoB33F,GAGnCkd,GAAkBt+C,MAAMowG,SAAA,MAGtB7wD,GAAapM,EAAI2vH,YAAYkH,UAAY,eACvCxgJ,EAAM61B,KAAA,OACVO,GAAuBp2B,GAAA,GAChBA,CAAA,EAIL61B,GAAqBlM,EAAI2vH,YAAYmH,kBAAoB,kBAC3DvxH,IACAwB,EAAQxB,GAAgB,kBACfC,CAAA,EAEFD,CAAA,EAGLkH,GAAyB,SAASp2B,EAAK4X,GAAA,OACzCA,EAA+B,kBAAbA,GAAyBA,EAC3C8Y,EAAQ1wB,GAAOmvB,EACXvX,GACFgZ,EAAI5wB,EAAM,UAELA,CAAA,EAMLs0B,GAAuB3K,EAAI2vH,YAAYoH,oBAAsB,eAE3D1gJ,EAAM,CACR2gJ,MAFU9qH,KAGV/b,QAAS,WAEX6W,EAAkBh7C,KAAKqqB,GAChBA,CAAA,EAGL81B,GAAsBD,KACtBQ,GAA0BR,KAM1BS,GAAqB3M,EAAI2vH,YAAYsH,kBAAoB,SAAS5gJ,GAAA,IAChE4X,EAAe5X,EAAMyO,MAAM,QAEL,IAAxBmJ,EAAathC,QACQ,MAApBshC,EAAa,IAAkC,MAApBA,EAAa,GAMjB,IAAxBA,EAAathC,QACQ,MAApBshC,EAAa,IAAkC,MAApBA,EAAa,KAOzCA,EAAe,EAJJ,EAAMA,EAAa,KAAO,EAAMA,EAAa,KAC3C,EAAMA,EAAa,KAAO,EAAMA,EAAa,KAC9C,EAAMA,EAAa,KAAO,EAAMA,EAAa,IAEvB,UAblC,KAEIj0B,EAAWsiC,WAAWrO,EAAa,IACvCA,EAAe,CAACj0B,EAAUA,EAAUA,EAAU,aAY5C4R,EAAa,IACRnf,EAAI,EAAGA,EAAI,EAAGA,IACrBmf,IACE,IAAM8T,KAAKwlC,MAAoC,IAA9B5oB,WAAWrO,EAAaxhC,KAAWuoC,SAAS,KAC7Dx1B,OAAO,UAEJoM,CAAA,EAGLohC,GAAqBhN,EAAI2vH,YAAYuH,kBAAoB,SAC3DjpI,GAAA,IAEIj0B,EAEmB,iBAAZi0B,IACTA,EAAU,CACR/K,IAAK+K,IAAA,IAGLriB,EAAMqiB,EAAQ/K,IACdz2B,EAAMwhC,EAAQ9K,IACdzkB,EAAMuvB,EAAQkpI,IACdt0I,EAAMoL,EAAQmpI,IACd9yI,EACuB,SAAzB2J,EAAQopI,aAA0B,CAAC,IAAK,KAAM,KAAO,CAAC,IAAK,KAAM,QAEhD,iBAARzrJ,GAAsC,MAAlBA,EAAIuwB,OAAO,GAAY,KAChDptB,EAAW,IAAItD,GAASG,GAAA,GACxBmD,EAAS81I,GACXj5I,EAAMmD,EAAS6+I,aACV,IAAK,cAAcloI,KAAK9Z,GAAA,MACvB,IAAIg3B,MACR,kBAAoBh3B,EAAM,2CAKb,iBAARA,GAAoB,oBAAoB8Z,KAAK9Z,KACtDA,EAAM,IAAMA,EAAI,GAAKA,EAAI,GAAKA,EAAI,GAAKA,EAAI,GAAKA,EAAI,GAAKA,EAAI,IAG5C,iBAARA,GAAoB,oBAAoB8Z,KAAK9Z,GAAM,KACxD2S,EAAMsd,SAASjwB,EAAIqmF,OAAO,GAAI,IAClCrmF,EAAO2S,GAAO,GAAM,IACpB9xB,EAAO8xB,GAAO,EAAK,IACnB7f,EAAY,IAAN6f,CAAA,aAIC9xB,QAAA,IACCo2B,GAAuBjX,IAAQnf,GAAOA,IAAQiS,EAAA,GAGnC,iBAARkN,EACT5R,EAAQ4R,EAAM,IAAM0Y,EAAY,eAExB2J,EAAQshI,WAAA,KACT,EACHv1J,EAAQuqC,EAAG34B,EAAM,KAAO,IAAM0Y,EAAY,cAEvC,UAEHtqB,EAAQomC,EAAGx0B,EAAM,KAAO,IAAM0Y,EAAY,QAG3C,QAAI,IAAOzB,GAAsC,YAAfxM,EAAAA,EAAAA,GAAOwM,GAAkB,IAE5DA,IAAQ0Z,MAAM1Z,EAAInkB,IAGN,IAAVmkB,EAAInkB,EAAA,MACE,CAAC,KAAM,KAAM,KAAM4lB,EAAY,IAAImR,KAAK,QAKjC,iBAAR7pB,EACT5R,EAAQ,CAAC4R,EAAKnf,EAAKiS,EAAK4lB,EAAY,IAAImR,KAAK,iBAErCxH,EAAQshI,WAAA,KACT,EACHv1J,EAAQ,CACNuqC,EAAG34B,EAAM,KACT24B,EAAG93C,EAAM,KACT83C,EAAG7lC,EAAM,KACT4lB,EAAY,IACZmR,KAAK,wBAGJ,EACHz7B,EAAQ,CACNomC,EAAGx0B,EAAM,KACTw0B,EAAG3zC,EAAM,KACT2zC,EAAG1hC,EAAM,KACT4lB,EAAY,IACZmR,KAAK,cAKM,iBAAR7pB,EACT5R,EAAQ,CAAC4R,EAAKnf,EAAKiS,EAAKmkB,EAAKyB,EAAY,IAAImR,KAAK,iBAE1CxH,EAAQshI,WAAA,KACT,EACHv1J,EAAQ,CAACuqC,EAAG34B,GAAM24B,EAAG93C,GAAM83C,EAAG7lC,GAAM6lC,EAAG1hB,GAAMyB,EAAY,IAAImR,KAC3D,gBAGC,UAEHz7B,EAAQ,CAAComC,EAAGx0B,GAAMw0B,EAAG3zC,GAAM2zC,EAAG1hC,GAAM0hC,EAAGvd,GAAMyB,EAAY,IAAImR,KAC3D,YAKHz7B,CAAA,EAGL6yC,GAAc7M,EAAI2vH,YAAY2H,WAAa,kBACtC/4I,CAAA,EAGLquB,GAAa5M,EAAI2vH,YAAY4H,UAAY,SAASlhJ,GAAA,IAEhD4X,GADJ5X,EAAUA,GAAW,CAAC,GACHtT,MAAQ,GACvB/I,EAAUqc,EAAQ3H,SAAWm+B,KAC7BjhC,EAAwByK,EAAQmhJ,uBAAyB,GACzD/qK,EAAa4pB,EAAQohJ,aAAA,EACrB/4J,EAAiBuvB,EAAKthC,OACtBk2B,EAAWxM,EAAQqhJ,SACnBpzI,EAAY,SAASjO,GAAA,OAChBA,CAAA,KAEiB,OAAtB/F,QAAA,IAAqCuS,EAAA,MACjC,IAAI+f,MACR,4DAGsB,OAAtBtyB,IACFgU,EAAYgvB,GAAWqkH,UAAU90I,EAAU,QAGzC9T,EAAgB,CAAC,GAAD,IAChB/U,IACFA,EAAU,CAAC,oBAETukB,EAAYlI,EAAQuhJ,qBAAuB,GAM3C9nJ,GAJFf,OAAA,IADSoxB,GAAM03H,IAAIC,qBACH33H,GAAM03H,IAAIC,qBAAqB7pI,EAAMj0B,GAErC,CAAE+I,KAAMkrB,EAAM8pI,aAAc,KAG9BA,cACb9uJ,MAAMlY,QAAQ6a,GACXA,EAAsB6pB,KAAK,KAC3B7pB,EAAsBopB,YAAA,GAEM,IAA9BjmB,EAAchM,KAAKpW,SACrB4xB,EAAUvyB,KAAK,CACbyE,IAAK,SACLjC,MAAOugB,EAAchM,KAAKpW,UAAA,IAExBF,GACF8xB,EAAUvyB,KAAK,CACbyE,IAAK,UACLjC,MAAOkQ,KAKgB,GAAzBoR,EAAenjB,OAAA,GACbmjB,EAAegV,MAAM,KAAKn4B,OAAS,GAAM,EAC3C4xB,EAAUvyB,KAAK,CACbyE,IAAK,SACLjC,MAAOshB,QAEJ,CACLyO,EAAUvyB,KAAK,CACbyE,IAAK,SACLjC,MAAO,IAAMshB,EAAiB,UAG3B,IAAIpjB,EAAI,EAAGA,EAAI6xB,EAAU5xB,OAAQD,GAAK,EAAG,GACnB,gBAArB6xB,EAAU7xB,GAAG+D,IAAuB,SAClCgb,EAAmB,GAGjBypB,EAAI,EACRA,EAAInmB,EAAcgpJ,aAAajzI,MAAM,KAAKn4B,OAAS,EACnDuoC,GAAK,EAELzpB,EAAiBzf,KAAK,QAGxByf,EAAiBzf,KAAKuyB,EAAU7xB,GAAG8B,OACnC+vB,EAAU7xB,GAAG8B,MAAQ,IAAMid,EAAiBgqB,KAAK,KAAO,KAMhEwR,EAAI,UACC,IAAInqC,EAAI,EAAGA,EAAIyhB,EAAU5xB,OAAQmQ,IACpCmqC,EAAI,IAAM1oB,EAAUzhB,GAAGrM,IAAM,IAAM8tB,EAAUzhB,GAAGtO,OAElDy4C,EAAI,MAC8B,IAA9Bl4B,EAAchM,KAAKpW,SACrBs6C,EAAI,UACJA,EAAI3iB,EAAUvV,EAAchM,OAC5BkkC,EAAI,eAIJgG,GAAWjN,EAAI2vH,YAAYqI,QAAU,SAAS3hJ,GAAA,IAC5C4X,EAAa5X,EAAK3W,OAClB1F,EAAOqc,EAAKtT,KACZ6I,EAAmByK,EAAK2gJ,MACxBvqK,EAAoB4pB,EAAK4hJ,cAE7BxrH,GAAuB7gC,GAAA,GACvBq7B,EAAI,iBACJA,EAAI,WAAa5wB,EAAK6hJ,oBAAsB,QAC5CjxH,EAAI,cAAgB5wB,EAAK8hJ,wBAA0B,QACnDlxH,EACE,cACE3K,WAAWkE,EAAInqB,EAAK+hJ,SAASC,cAC7B,IACA/7H,WAAWkE,EAAInqB,EAAK+hJ,SAASE,cAC7B,IACA93H,EAAInqB,EAAK+hJ,SAASG,WAClB,IACA/3H,EAAInqB,EAAK+hJ,SAASI,WAClB,KAEiB,OAAjBniJ,EAAKoiJ,SACPxxH,EACE,aACEzG,EAAInqB,EAAKoiJ,QAAQJ,aACjB,IACA73H,EAAInqB,EAAKoiJ,QAAQH,aACjB,IACA93H,EAAInqB,EAAKoiJ,QAAQF,WACjB,IACA/3H,EAAInqB,EAAKoiJ,QAAQD,WACjB,KAIgB,OAAlBniJ,EAAKqiJ,UACPzxH,EACE,cACEzG,EAAInqB,EAAKqiJ,SAASL,aAClB,IACA73H,EAAInqB,EAAKqiJ,SAASJ,aAClB,IACA93H,EAAInqB,EAAKqiJ,SAASH,WAClB,IACA/3H,EAAInqB,EAAKqiJ,SAASF,WAClB,KAIe,OAAjBniJ,EAAKsiJ,SACP1xH,EACE,aACEzG,EAAInqB,EAAKsiJ,QAAQN,aACjB,IACA73H,EAAInqB,EAAKsiJ,QAAQL,aACjB,IACA93H,EAAInqB,EAAKsiJ,QAAQJ,WACjB,IACA/3H,EAAInqB,EAAKsiJ,QAAQH,WACjB,KAIc,OAAhBniJ,EAAKuiJ,QACP3xH,EACE,YACEzG,EAAInqB,EAAKuiJ,OAAOP,aAChB,IACA73H,EAAInqB,EAAKuiJ,OAAON,aAChB,IACA93H,EAAInqB,EAAKuiJ,OAAOL,WAChB,IACA/3H,EAAInqB,EAAKuiJ,OAAOJ,WAChB,KAIuB,iBAAlBniJ,EAAKi5I,UAA2C,IAAlBj5I,EAAKi5I,UAC5CroH,EAAI,aAAe5wB,EAAKi5I,UAG1BtnH,GAAO49E,QAAQ,UAAW,CACxBoxC,MAAOprJ,EACPitJ,YAAa9sH,GAAa9d,GAC1B6qI,WAAY7qI,EACZw4E,KAAMzsG,IAERitC,EAAI,aAAex6C,EAAoB,QACvCw6C,EAAI,MACJA,EAAI,cAEAvoC,EAAc1E,EAAKy7B,KAAK,aAExBuL,IAAYN,EAAQkxH,WAEtBlzJ,GAAe,OAGjB+tC,GAAuBhgD,GAAA,GACvBmgD,GAAU,CACR7pC,KAAMrE,EACNgQ,QAASm+B,KACT6qH,SAAUjrK,IAEZw6C,EAAI,UACGr7B,CAAA,EAGLmhC,GAAY/M,EAAI2vH,YAAYoJ,SAAW,eACrC1iJ,EACF4X,EACAj0B,EAAoB,OAEjBqc,EAAI,EAAGA,GAAKq0B,GAAMr0B,IACrB01B,GAAa11B,GAAG2gJ,MAAQ9qH,KACxBH,GAAa11B,GAAG4hJ,cAAgB/rH,KAAA,IAG7B71B,EAAI,EAAGA,GAAKq0B,GAAMr0B,IACrBrc,EAAkBhO,KAChBihD,GAAQ,CACNvtC,OAAQ2W,EACRtT,KAAM+jC,EAAMzwB,GACZ2gJ,MAAOjrH,GAAa11B,GAAG2gJ,MACvBiB,cAAelsH,GAAa11B,GAAG4hJ,cAC/BG,SAAUrsH,GAAa11B,GAAG+hJ,SAC1BK,QAAS1sH,GAAa11B,GAAGoiJ,QACzBC,SAAU3sH,GAAa11B,GAAGqiJ,SAC1BC,QAAS5sH,GAAa11B,GAAGsiJ,QACzBC,OAAQ7sH,GAAa11B,GAAGuiJ,OACxBtJ,SAAUvjH,GAAa11B,GAAGi5I,SAC1B4I,oBAAqB/rH,GACrBgsH,wBAAyBzrH,MAI/BD,GAAuBN,IAAA,GACvBlF,EAAI,sBACAr7B,EAAO,cACNqiB,EAAI,EAAGA,EAAIyc,GAAMzc,IACpBriB,GAAQ5R,EAAkBi0B,GAAK,QAEjCgZ,EAAIr7B,EAAO,KACXq7B,EAAI,UAAYyD,IAChBzD,EAAI,MACJA,EAAI,UACJe,GAAO49E,QAAQ,iBAGb94E,GAAU,SAASz2B,GACrB2xB,GAAO49E,QAAQ,UAAW,CACxB3nB,KAAM5nF,EACNopI,IAAKx4G,EACL4vH,UAAWzqH,GACXmrH,UAAW3qH,MAAA,IAGTv2B,EAAK2iJ,kBACP3iJ,EAAKm4I,aAAepiH,KACpBnF,EAAI,MACJA,EAAI,eACJA,EAAI,cAAgB9E,GAAU9rB,EAAK4iJ,iBACnChyH,EAAI,mBACyB,iBAAlB5wB,EAAK2M,UACdikB,EAAI,cAAgB5wB,EAAK2M,UAE3BikB,EAAI,iBACJA,EAAI,iBACJA,EAAI,MACJA,EAAI,YAIJjb,GAAW,eACR,IAAI3V,KAAW40B,GACdA,GAAM14C,eAAe8jB,MAAA,IAErBpoB,IAAA,IACCA,GAA6B0Q,EAAUpM,eAAe8jB,KAEvDy2B,GAAQ7B,GAAM50B,GAAA,EAMlBg3B,GAAa,SAASh3B,GACxBA,EAAQm4I,aAAepiH,KAAA,IAEnBne,EAAU,GACdA,EAAQjiC,KAAK,CAAEyE,IAAK,OAAQjC,MAAO,aACnCy/B,EAAQjiC,KAAK,CAAEyE,IAAK,UAAWjC,MAAO,UACtCy/B,EAAQjiC,KAAK,CACXyE,IAAK,OACLjC,MACE,IACA,CACEgyC,EAAInqB,EAAQqqB,GACZF,EAAInqB,EAAQ2pB,GACZQ,EAAInqB,EAAQqqB,EAAIrqB,EAAQi5B,OACxB9O,EAAInqB,EAAQ2pB,EAAI3pB,EAAQk5B,SACxB9Z,KAAK,KACP,MAEJxH,EAAQjiC,KAAK,CACXyE,IAAK,SACLjC,MAAO,IAAM6nB,EAAQkgE,OAAOvhD,WAAa,UAIvCh7B,EAASqc,EAAQ6iJ,MAAM,GAAGzjI,KAAK,MACnCmX,GAAU,CACR7pC,KAAM/I,EACN49J,oBAAqB3pI,EACrBypI,SAAUrhJ,EAAQm4I,eAEpBvnH,EAAI,WAGFkG,GAAc,eACX,IAAI92B,KAAcy1B,GACjBA,GAAcv5C,eAAe8jB,IAC/Bg3B,GAAWvB,GAAcz1B,GAAA,EAK3B62B,GAAgC,SAAS72B,EAAQ4X,GAAA,IAE/Cj0B,EADA4R,EAAU,GAEVnf,EAAK,GAAOwhC,EAAgB,OAC3Bj0B,EAAI,EAAKA,EAAI,EAAKA,GAAKvN,EAC1Bmf,EAAQ5f,KAAKgO,GAAA,GAEf4R,EAAQ5f,KAAK,GAEW,GAApBqqB,EAAO,GAAGq+B,OAAe,KACvBh2C,EAAK,CACPg2C,OAAQ,EACR8uB,MAAOntD,EAAO,GAAGmtD,OAEnBntD,EAAOpP,QAAQvI,EAAA,IAEuB,GAApC2X,EAAOA,EAAO1pB,OAAS,GAAG+nD,OAAe,KACvC7xB,EAAK,CACP6xB,OAAQ,EACR8uB,MAAOntD,EAAOA,EAAO1pB,OAAS,GAAG62E,OAEnCntD,EAAOrqB,KAAK62B,EAAA,SAEVyB,EAAM,GACNvV,EAAQ,EAEHwP,EAAI,EAAGA,EAAI3S,EAAQjf,OAAQ4xB,IAAK,KACvCvkB,EAAI4R,EAAQ2S,GACLvkB,EAAIqc,EAAOtH,EAAQ,GAAG2lC,QAAQ3lC,IAAA,IACjCe,EAAIuG,EAAOtH,GAAO2lC,OAElBhoD,GAAKsN,EAAI8V,IADLuG,EAAOtH,EAAQ,GAAG2lC,OACH5kC,GAEnBrE,EAAS4K,EAAOtH,GAAOy0D,MACvBtuC,EAAS7e,EAAOtH,EAAQ,GAAGy0D,MAE/Bl/C,GACEghB,EAAS5lB,KAAKmvB,OAAO,EAAIniD,GAAK+e,EAAO,GAAK/e,EAAIwoC,EAAO,IAAIF,SAAS,KAClEsQ,EAAS5lB,KAAKmvB,OAAO,EAAIniD,GAAK+e,EAAO,GAAK/e,EAAIwoC,EAAO,IAAIF,SAAS,KAClEsQ,EAAS5lB,KAAKmvB,OAAO,EAAIniD,GAAK+e,EAAO,GAAK/e,EAAIwoC,EAAO,IAAIF,SAAS,YAE/D1Q,EAAI3kB,MAAA,EAGT4tC,GAAoB,SAASl3B,EAAS4X,GASxCA,IAAkBA,EAAgB,QAC9Bj0B,EAAmBoyC,KACnBxgC,EAASshC,GAA8B72B,EAAQs4I,OAAQ1gI,GAEvDxhC,EAAU,GACdA,EAAQT,KAAK,CAAEyE,IAAK,eAAgBjC,MAAO,MAC3C/B,EAAQT,KAAK,CAAEyE,IAAK,SAAUjC,MAAO,cACrC/B,EAAQT,KAAK,CAAEyE,IAAK,OAAQjC,MAAO,IAAMy/B,EAAgB,MACzDxhC,EAAQT,KAAK,CAAEyE,IAAK,gBAAiBjC,MAAO,MAC5C/B,EAAQT,KAAK,CAAEyE,IAAK,QAASjC,MAAO,8BACpC/B,EAAQT,KAAK,CAAEyE,IAAK,SAAUjC,MAAO,8BAErCo+C,GAAU,CACR7pC,KAAM6I,EACNgsJ,oBAAqBnrK,EACrB+qK,sBAAuB,CAAC,mBACxBE,SAAU19J,IAEZitC,EAAI,UAEJ5wB,EAAQm4I,aAAepiH,KACvBnF,EAAI,mBAAqB5wB,EAAQ7lB,MACjCy2C,EAAI,8BACAvoC,EACF,YACA8hC,EAAIlE,WAAWjmB,EAAQq4I,OAAO,KAC9B,IACAluH,EAAIlE,WAAWjmB,EAAQq4I,OAAO,KAC9B,IACmB,IAAjBr4I,EAAQ7lB,KAEVkO,GACE8hC,EAAIlE,WAAWjmB,EAAQq4I,OAAO,KAC9B,IACAluH,EAAIlE,WAAWjmB,EAAQq4I,OAAO,KAGhChwJ,GACE8hC,EAAIlE,WAAWjmB,EAAQq4I,OAAO,KAC9B,IACAluH,EAAIlE,WAAWjmB,EAAQq4I,OAAO,KAC9B,IACAluH,EAAIlE,WAAWjmB,EAAQq4I,OAAO,KAC9B,IACAluH,EAAIlE,WAAWjmB,EAAQq4I,OAAO,KAGlCznH,EADAvoC,GAAU,KAGN2X,EAAQkgE,QACVtvC,EAAI,YAAc5wB,EAAQkgE,OAAOvhD,WAAa,KAEhDiS,EAAI,aAAejtC,EAAmB,QACtCitC,EAAI,uBACJA,EAAI,MACJA,EAAI,WAGFmG,GAAmB,SAAS/2B,EAAS4X,GAAA,IACnCj0B,EAAoBkyC,KACpBtgC,EAAkBwgC,KAEtBne,EAA8BjiC,KAAK,CACjCmtK,aAAcn/J,EACdo/J,UAAWxtJ,IAGbyK,EAAQm4I,aAAe5iJ,EAAA,IACnBnf,EAAU,GACdA,EAAQT,KAAK,CAAEyE,IAAK,OAAQjC,MAAO,aACnC/B,EAAQT,KAAK,CAAEyE,IAAK,cAAejC,MAAO,MAC1C/B,EAAQT,KAAK,CAAEyE,IAAK,YAAajC,MAAO,MACxC/B,EAAQT,KAAK,CAAEyE,IAAK,aAAcjC,MAAO,MACzC/B,EAAQT,KAAK,CACXyE,IAAK,OACLjC,MAAO,IAAM6nB,EAAQu4I,YAAY98J,IAAI0uC,GAAK/K,KAAK,KAAO,MAExDhpC,EAAQT,KAAK,CAAEyE,IAAK,QAASjC,MAAOgyC,EAAInqB,EAAQw4I,SAChDpiK,EAAQT,KAAK,CAAEyE,IAAK,QAASjC,MAAOgyC,EAAInqB,EAAQy4I,SAChDriK,EAAQT,KAAK,CAAEyE,IAAK,YAAajC,MAAOwL,EAAoB,SACxDqc,EAAQkgE,QACV9pF,EAAQT,KAAK,CACXyE,IAAK,SACLjC,MAAO,IAAM6nB,EAAQkgE,OAAOvhD,WAAa,MAI7C4X,GAAU,CACR7pC,KAAMsT,EAAQqtI,OACdkU,oBAAqBnrK,EACrBirK,SAAUrhJ,EAAQm4I,eAEpBvnH,EAAI,WAGFyG,GAAc,SAASr3B,GAAA,IACrB4X,EAAA,IACCA,KAAcwa,GACbA,GAASl2C,eAAe07B,KACtBwa,GAASxa,aAAuB4V,GAClC0J,GAAkB9E,GAASxa,IAClBwa,GAASxa,aAAuBiU,IACzCkL,GAAiB3E,GAASxa,GAAa5X,GAAA,EAM3Cu3B,GAAY,SAASv3B,GAAA,IAGlB,IAAI4X,KAFT5X,EAAOm4I,aAAepiH,KACtBnF,EAAI,MACU5wB,EAAA,OACJ4X,GAAA,IACD,UACHgZ,EAAI,OAAS1C,EAAGluB,EAAO4X,KAAA,UAEpB,iBACHgZ,EAAI,OAAS1C,EAAGluB,EAAO4X,KAI7BgZ,EAAI,MACJA,EAAI,WAGF0G,GAAa,eACXt3B,EAAA,IACCA,KAAa20B,GACZA,GAAQz4C,eAAe8jB,IACzBu3B,GAAU5C,GAAQ30B,GAAA,EAKpBq4B,GAAiB,eAEd,IAAIr4B,KADT4wB,EAAI,eACmB6E,GAEnBA,GAAcv5C,eAAe8jB,IAC7By1B,GAAcz1B,GAAYm4I,cAAgB,GAE1CvnH,EACE,IACE5wB,EACA,IACAy1B,GAAcz1B,GAAYm4I,aAC1B,QAMRxmH,GAAO49E,QAAQ,kBACf3+E,EAAI,OAGFwH,GAAoB,WACtB6E,GAAW+lH,IAAMjtH,KACjBnF,EAAI,MACJA,EAAI,qBACJA,EAAI,MAAQqM,GAAWrlD,GACvBg5C,EAAI,MAAQqM,GAAWt5C,GACvBitC,EAAI,OAASqM,GAAWgmH,YAAYhmH,GAAWpO,GAAK,KACpD+B,EAAI,OAASqM,GAAWgmH,YAAYhmH,GAAW9S,GAAK,KACpDyG,EAAI,MAAQqM,GAAWjS,GACvB4F,EAAI,MACJA,EAAI,WAGF0H,GAAc,eAGX,IAAIt4B,KAFT4wB,EAAI,YAEgBgE,GACdA,GAAM14C,eAAe8jB,MAAA,IAErBpoB,IAAA,IACCA,GAA6B0Q,EAAUpM,eAAe8jB,KAEvD4wB,EAAI,IAAM5wB,EAAU,IAAM40B,GAAM50B,GAASm4I,aAAe,QAI9DvnH,EAAI,OAGF2H,GAAwB,cACtBj9C,OAAO/B,KAAK64C,IAAU97C,OAAS,EAAG,KAE/B,IAAI0pB,KADT4wB,EAAI,eACmBwB,GAEnBA,GAASl2C,eAAe8jB,IACxBoyB,GAASpyB,aAAuBwtB,IAChC4E,GAASpyB,GAAYm4I,cAAgB,GAErCvnH,EACE,IAAM5wB,EAAa,IAAMoyB,GAASpyB,GAAYm4I,aAAe,QAKnExmH,GAAO49E,QAAQ,yBACf3+E,EAAI,QAIJ4J,GAAuB,SAASx6B,GAAA,GAC9B1kB,OAAO/B,KAAK64C,IAAU97C,OAAS,EAAG,KAE/B,IAAIshC,KADTgZ,EAAI,eACmBwB,GAEnBA,GAASl2C,eAAe07B,IACxBwa,GAASxa,aAAuB+R,EAAIw2H,eACpC/tH,GAASxa,GAAYugI,cAAgB,GACrC/lH,GAASxa,GAAYugI,aAAen4I,GAEpC4wB,EACE,IAAMhZ,EAAa,IAAMwa,GAASxa,GAAYugI,aAAe,QAInExmH,GAAO49E,QAAQ,wBACf3+E,EAAI,QAIJkJ,GAAiB,cACfx+C,OAAO/B,KAAKo7C,IAASr+C,OAAS,EAAG,KAC/B0pB,EAAA,IAECA,KADL4wB,EAAI,iBACc+D,GAEdA,GAAQz4C,eAAe8jB,IACvB20B,GAAQ30B,GAAWm4I,cAAgB,GAEnCvnH,EAAI,IAAM5wB,EAAY,IAAM20B,GAAQ30B,GAAWm4I,aAAe,QAIlExmH,GAAO49E,QAAQ,iBACf3+E,EAAI,QAIJ6H,GAAwB,SAASz4B,GACnCo2B,GAAuBp2B,EAAU8iJ,cAAA,GACjClyH,EAAI,MACJA,EAAI,iDACJ0H,KACAC,KACAiC,GAAqBx6B,EAAU+iJ,WAC/BjpH,KACAzB,KACAzH,EAAI,MACJA,EAAI,WAGFgJ,GAAe,eAab55B,EAAgC,GAEpC2V,KACA2hB,KACAR,KACAO,GAAYr3B,GAEZ2xB,GAAO49E,QAAQ,gBACfvvG,EAA8BnlB,QAAQ49C,IACtCA,GAAsB,CACpBqqH,aAAczsH,GACd0sH,UAAWnoK,OAAO+qH,mBAEpBh0E,GAAO49E,QAAQ,qBAGbx1E,GAAuB,WACzBpI,GAAO49E,QAAQ,4BACV,IAAIvvG,EAAI,EAAGA,EAAI2wB,EAAkBr6C,OAAQ0pB,IAAK,KAC7C4X,EAAM+Y,EAAkB3wB,GAC5Bo2B,GAAuBxe,EAAI+oI,OAAA,GAC3B/vH,EAAIhZ,EAAIkC,SACR8W,EAAI,UAENe,GAAO49E,QAAQ,6BAGb/3E,GAA0B,SAASx3B,GACrC8xB,GAAQ9xB,EAAKkjJ,UAAYpxH,GAAQ9xB,EAAKkjJ,WAAa,CAAC,EACpDpxH,GAAQ9xB,EAAKkjJ,UAAUljJ,EAAK4hE,WAAa5hE,EAAKnZ,EAAA,EAG5C4zC,GAAU,SACZz6B,EACA4X,EACAj0B,EACA4R,EACAnf,GAAA,IAEIiS,EAAO,CACTxB,GAAI,KAAOvL,OAAO/B,KAAKq7C,IAAOt+C,OAAS,GAAGqoC,SAAS,IACnDikI,eAAgB5iJ,EAChBkjJ,SAAUtrI,EACVgqD,UAAWj+E,EACXgpB,SAAUpX,EACV4tJ,eAAgB/sK,IAAA,EAChBwpH,SAAU,CAAC,GAAD,OAGZjuE,GAAO49E,QAAQ,UAAW,CACxB3nB,KAAMv/F,EACN7D,SAAUpP,OAGZw/C,GAAMvsC,EAAKxB,IAAMwB,EACjBmvC,GAAwBnvC,GACjBA,EAAKxB,EAAA,EAGVgzC,GAAW,SAAS75B,GAAA,IACjB,IAAI4X,EAAI,EAAGj0B,EAAIutC,GAAc56C,OAAQshC,EAAIj0B,EAAGi0B,IAAK,KAChDriB,EAAUklC,GAAQ37C,KACpB1J,KACA4qB,EAAa4X,GAAG,GAChB5X,EAAa4X,GAAG,GAChB5X,EAAa4X,GAAG,GAChBsZ,GAActZ,GAAG,QACjB,IAGEhgC,IACF0Q,EAAUiN,IAAA,GAAW,IAGnBnf,EAAQ4pB,EAAa4X,GAAG,GAAGnJ,MAAM,KACrC+oB,GAAwB,CACtB3wC,GAAI0O,EACJ2tJ,SAAU9sK,EAAM,GAChBwrF,UAAWxrF,EAAM,IAAM,KAG3Bu7C,GAAO49E,QAAQ,WAAY,CACzB36B,MAAOhgD,GACP63G,WAAY36G,IAAA,EAIZyI,GAAO,SAAoBv6B,GAAA,OAC7BA,EAAGs4F,IAAM,sBAEEt4F,EAAG/jB,MAAM7G,KAAMmoB,UAAA,CACtB,MAAOyC,GAAA,IACH4X,EAAQ5X,EAAEqiF,OAAS,IAClBzqE,EAAMhwB,QAAQ,UAASgwB,EAAQA,EAAMnJ,MAAM,QAAQ,QACpD9qB,EACF,qBACAi0B,EAAMnJ,MAAM,MAAM,GAAGA,MAAM,KAAK,GAChC,KACAzO,EAAEkkH,QAAA,IACA3uH,GAAa5P,QAAA,MAIT,IAAI4mC,MAAM5oC,GAHhB4R,GAAa5P,QAAQC,MAAMjC,EAAGqc,GAC1BzK,GAAa6tJ,OAAOA,MAAMz/J,EAAA,GAMpCqc,EAAGs4F,IAAI+qD,IAAMrjJ,EACNA,EAAGs4F,GAAA,EAGRh9D,GAAe,SAASt7B,EAAM4X,GAAA,IAiD5Bj0B,EACF4R,EACAnf,EACAiS,EACAmkB,EACAyB,EACAvV,EACAwP,EACAzO,EAAA,GAGFrjB,GADAwhC,EAAQA,GAAS,CAAC,GACK0rI,gBAAkB,UACzC92I,EAAiBoL,EAAM2rI,gBAYpB3rI,EAAM4rI,YAAch3I,IACrBooB,GAAMR,IAAewrE,UACrBhrE,GAAMR,IAAewrE,SAASxpH,IAC9Bw+C,GAAMR,IAAewrE,SAASxpH,GAAgBu2B,WAE9CtkB,EAAgBusC,GAAMR,IAAewrE,SAASxpH,GAAgBu2B,UAGzDH,GAAkBooB,GAAMR,IAAeznB,WAC1CH,EAAiBooB,GAAMR,IAAeznB,WAInCH,GAAkBnkB,EAAco7J,YACnCj3I,EAAiBnkB,EAAco7J,UAAU,IAGb,iBAAnBj3I,IACTA,EAAiBnkB,EAAcmkB,IAK7BA,GAAgB,KAClB9T,GAAA,EACAuV,EAAU,GACLtqB,EAAI,EAAG4R,EAAIyK,EAAK1pB,OAAQqN,EAAI4R,EAAG5R,KAClCukB,EAAKsE,EAAexM,EAAK8iB,WAAWn/B,KAElCsqB,EAAQt4B,KAAKwG,OAAO08D,aAAa3wC,IAEjC+F,EAAQt4B,KAAKqqB,EAAKrc,IAKhBsqB,EAAQtqB,GAAGm/B,WAAW,IAAM,IAE9BpqB,GAAA,GAGJsH,EAAOiO,EAAQmR,KAAK,QAIxBz7B,EAAIqc,EAAK1pB,YAAA,IAEFoiB,GAAiC,IAAN/U,GAC5Bqc,EAAK8iB,WAAWn/B,EAAI,IAAM,IAE5B+U,GAAA,GAEF/U,IAAA,IAEG+U,EAAA,OACIsH,EAAA,IAGTiO,EAAU2J,EAAM8rI,MAAQ,GAAK,CAAC,IAAK,KAC9B//J,EAAI,EAAG4R,EAAIyK,EAAK1pB,OAAQqN,EAAI4R,EAAG5R,IAAK,KAEvC8V,GADAyO,EAAKlI,EAAK8iB,WAAWn/B,KACT,IACD,EAAG,MAEN,IAAI4oC,MACR,yBACE5oC,EACA,eACAqc,EACA,qDAGNiO,EAAQt4B,KAAK8jB,GACbwU,EAAQt4B,KAAKuyB,GAAMzO,GAAO,WAErBtd,OAAO08D,aAAa58D,WAAA,EAAiBgyB,EAAA,EAG1CurB,GAAa7P,EAAI2vH,YAAYqK,UAAYh6H,EAAIg6H,UAAY,SAC3D3jJ,EACA4X,GAAA,OAeO0jB,GAAat7B,EAAM4X,GACvB1sB,QAAQ,MAAO,QACfA,QAAQ,MAAO,OACfA,QAAQ,MAAO,QAGhBwvC,GAAa/Q,EAAI2vH,YAAYsK,UAAY,SAAS5jJ,GACpDywB,IAAQ4D,IAAQ,GAChBqB,GAAarB,IAAQ,CACnBssH,MAAO,EACPiB,cAAe,EACf3I,SAAUr+J,OAAOikC,GACjB0jI,OAAQ,KACRF,SAAU,KACVD,QAAS,KACTE,QAAS,KACTP,SAAU,CACRC,YAAa,EACbC,YAAa,EACbC,UAAWtnK,OAAOolB,EAAO,IACzBmiJ,UAAWvnK,OAAOolB,EAAO,MAG7B26B,GAAStG,IACTvD,EAAqBL,EAAMn8B,GAAA,EAGzBmlC,GAAW,SAASz5B,EAAY4X,GAAA,IAC9Bj0B,EAAY4R,EAAOiX,EAAA,OAEvBp2B,EAAcwhC,GAAmBxhC,EAEP,iBAAf4pB,IACTrc,EAAakmC,EAAc7pB,EAAW7U,eAClCyH,MAAMlY,QAAQiJ,KAChB4R,EAAQ5R,EAAW,GACnB6oB,EAAS7oB,EAAW,KAIpBiP,MAAMlY,QAAQslB,KAChBzK,EAAQyK,EAAW,GAAKoxB,GACxB5kB,EAASxM,EAAW,GAAKoxB,IAGvBlL,MAAM3wB,KACRA,EAAQ0Y,EAAO,GACfzB,EAASyB,EAAO,KAGd1Y,EAAQ,OAASiX,EAAS,SAC5BnkB,GAAQosF,KACN,0GAEFl/E,EAAQ8T,KAAKC,IAAI,MAAO/T,GACxBiX,EAASnD,KAAKC,IAAI,MAAOkD,IAG3ByB,EAAS,CAAC1Y,EAAOiX,GAETp2B,EAAYwlG,OAAO,EAAG,QACvB,IACCpvE,EAASjX,IACX0Y,EAAS,CAACzB,EAAQjX,IAAA,UAGjB,IACCA,EAAQiX,IACVyB,EAAS,CAACzB,EAAQjX,IAKxBmlC,GAAUzsB,GAGV41I,GAAaC,IAEblzH,EAAImzH,IAEc,IAAdC,IACFpzH,EAAIozH,GAAY,MAEC,IAAfC,IACFrzH,EAAIqzH,GAAa,MAEnBtyH,GAAO49E,QAAQ,UAAW,CACxBkzC,WAAYpuH,IAAA,EAIZ4H,GAAc,SAASj8B,GACrBA,EAAI,GAAKA,GAAKq0B,KAChB5D,EAAMjpC,OAAOwY,EAAG,GAChB01B,GAAaluC,OAAOwY,EAAG,GACvBq0B,KACI//B,EAAc+/B,KAChB//B,EAAc+/B,IAAA,KAEXk8D,QAAQj8F,GAAA,EAIbqmC,GAAW,SAAS36B,GAClBA,EAAI,GAAKA,GAAKq0B,KAChB//B,EAAc0L,EAAA,EAId84B,GAAoBnP,EAAI2vH,YAAY5oD,iBAAmB/mE,EAAI+mE,iBAAmB,kBACzEjgE,EAAMn6C,OAAS,GAiBpBkmD,GAAU,SAASx8B,EAAU4X,EAAWj0B,GAAA,IAExC4R,EADEnf,OAAA,EAAM,OAEVuN,EAAUA,GAAW,CAAC,EAEtBqc,OAAA,IACEA,EAAyBA,EAAW40B,GAAMR,IAAe8uH,SAC3DtrI,OAAA,IACEA,EAA0BA,EAAYgd,GAAMR,IAAewtC,UAC7DrsE,EAAoByK,EAAS7U,mBAAA,IAG3B2mC,GAAQv8B,SAAA,IACRu8B,GAAQv8B,GAAmBqiB,GAE3BxhC,EAAM07C,GAAQv8B,GAAmBqiB,QAAA,IAEjCka,GAAQ9xB,SAAA,IACR8xB,GAAQ9xB,GAAU4X,GAElBxhC,EAAM07C,GAAQ9xB,GAAU4X,IAAA,IAEpBj0B,EAAQugK,gBACV77J,GAAQosF,KACN,0CACEz0E,EACA,OACA4X,EACA,kDAKHxhC,GAAQuN,EAAQwgK,YAER,OADX/tK,EAAM07C,GAAOsyH,MAAUxsI,MAErBxhC,EAAM07C,GAAOsyH,MAAPC,QAGHjuK,CAAA,EAGL6jD,GAAWtQ,EAAI2vH,YAAYgL,QAAU,eACnCtkJ,EAAW+1B,KACXne,EAAY,SAAS5X,GAAA,OAChBA,CAAA,MAOJ,IAAIrc,KALiB,OAAtBsW,IACF2d,EAAYqlB,GAAWqkH,UAAUthJ,EAAU,IAE7C4wB,EAAI,MACJA,EAAI,cAAgB4I,GAAU5hB,EAAU,SAAWkS,GAAMztB,UAAY,KACrDg2B,GACVA,GAAmBn2C,eAAeyH,IAAQ0uC,GAAmB1uC,IAC/DitC,EACE,IACEjtC,EAAIi4F,OAAO,EAAG,GAAGh2D,cACjBjiC,EAAIi4F,OAAO,GACX,KACApiD,GAAU5hB,EAAUya,GAAmB1uC,KACvC,KAIRitC,EAAI,kBAAoB4I,GAAU5hB,EAAUiV,IAAiB,KAC7D+D,EAAI,MACJA,EAAI,WAGFwL,GAAczS,EAAI2vH,YAAYiL,WAAa,SAASvkJ,GAAA,IAElD4X,GADJ5X,EAAUA,GAAW,CAAC,GAEZ6hJ,qBAAuB/rH,GAAA,OACjCC,KACAnF,EAAI,MACJA,EAAI,kBACJA,EAAI,UAAYhZ,EAAyB,QAEpCxL,KAAUA,GAAW,aAClBA,IAAA,IACD,YACHwkB,EAAI,4CAED,aACHA,EAAI,4CAED,WACHA,EAAI,sCAED,WACHA,EAAI,0DAGAjtC,EAAM,GAAKyoB,GACoB,MAA/BzoB,EAAIi4F,OAAOj4F,EAAIrN,OAAS,KAC1B81B,GAAWoZ,SAASpZ,IAAY,KACV,iBAAbA,IACTwkB,EAAI,qCAAuC1C,EAAG9hB,IAAY,YAG3DooB,KAAYA,GAAa,cACtBA,IAAA,IACD,aACH5D,EAAI,oCAED,SACHA,EAAI,qCAED,UACA,UACHA,EAAI,wCAED,WACHA,EAAI,+BAGJW,IAQFX,EAAI,cAAgBW,IAEtBI,GAAO49E,QAAQ,cACf3+E,EAAI,MACJA,EAAI,WAGFmI,GAAcpP,EAAI2vH,YAAYkL,WAAa,WAC7C5zH,EAAI,WACJA,EAAI,MACJA,EAAI,UAAY1B,EAAe,IAE/B0B,EAAI,SAAW1B,EAAe,QAC9B0B,EAAI,UAAY1B,EAAe,GAAK,QACV,OAAtBj1B,GACF22B,EAAI,YAAcqM,GAAW+lH,IAAM,QAErCpyH,EAAI,UAAYxC,EAAS,MAAQA,EAAS,OAC1CwC,EAAI,OAGFsM,GAAavT,EAAI2vH,YAAYmL,UAAY,WAC3C7zH,EAAI,QAAUhH,GACdgH,EAAI,UAGFsL,GAAWvS,EAAI2vH,YAAYoL,QAAU,eACnC1kJ,EAAI,aAER4wB,EAAI,QACJA,EAAI,MAAQ1B,EAAe,IAC3B0B,EAAI,2BACC,IAAIhZ,EAAI,EAAGA,GAAKsX,EAActX,IAEX,mBADT8Y,EAAQ9Y,GAEnBgZ,GAAK5wB,EAAI0wB,EAAQ9Y,MAAMzuB,OAAO,IAAM,sBAEzBunC,EAAQ9Y,GACjBgZ,GAAK5wB,EAAI0wB,EAAQ9Y,IAAIzuB,OAAO,IAAM,aAElCynC,EAAI,wBAMR2K,GAAiB5R,EAAI2vH,YAAYqL,cAAgB,WACnD3zH,IACAF,EAAqBvB,GAErBoC,GAAO49E,QAAQ,iBAEfryE,KACAxG,KACAqD,KACAH,KAC0B,OAAtB3/B,GAA4Bm+B,KAChC6B,KACAmC,KAAA,IAEIp8B,EAAemvB,EAAA,OACnB+M,KACAnD,KACAnI,EAAI,aACJA,EAAI,GAAK5wB,GACT4wB,EAAI,SAEJE,EAAqBL,EAAMn8B,IAEpBi7B,EAAQnQ,KAAK,OAGlBoc,GAAW7R,EAAI2vH,YAAYsL,QAAU,SAAS5kJ,GAAA,OACzC,IAAIouI,KAAK,CAACr9G,GAAe/wB,IAAQ,CACtC7lB,KAAM,qBA4BNsiD,GAAU9S,EAAIorE,OAASprE,EAAI2vH,YAAYvkD,OAASx6D,IAAK,SACvDv6B,EACA4X,GAAA,OAIuB,iBAFvBA,EAAUA,GAAW,CAAC,GAGpBA,EAAU,CACRk8E,SAAUl8E,GAGZA,EAAQk8E,SAAWl8E,EAAQk8E,UAAY,gBAGjC9zF,GAAA,YACD,OACIu7B,KAAA,IACJ,OACH5R,EAAI88D,KAAK7uE,EAAQk8E,UAAA,UAEd,qBACI/iE,GAAewK,MAAA,IACnB,cACIC,GAAQD,MAAA,IACZ,cACA,sBAGMhmC,GAAao4I,KACwB,mBAArCp4I,GAAao4I,IAAIK,gBAAA,OAGrBz4I,GAAao4I,KACZp4I,GAAao4I,IAAIK,gBAAgBxyG,GAAQD,aAAA,EAI7ClzC,GAAQosF,KACN,oHAID,oBACA,oBACC9wF,EAAU,GACVvN,EAAcmlD,KAAA,IAEhB53C,EAAU8V,GAAKrjB,EAAA,CACf,MAAO4pB,GACPrc,EAAU8V,GAAKorJ,SAASt6E,mBAAmBn0F,IAAA,OAG3C,iCACAwhC,EAAQk8E,SACR,WACAnwG,EAAA,IAEC,wBAEgD,oBAAjDrI,OAAOwzB,UAAU6P,SAAS7/B,KAAKyW,IAC/B,KACIiX,EACF,0EACEyB,EACF,uIAEE2J,EAAQktI,eACVt4I,EAAeoL,EAAQktI,aACvB72I,EAAY,QAGVvV,EACF,kIAEA8T,EACA,IACAyB,EACA,wCACA74B,KAAK2/G,OAAO,iBACZ,MACAptE,KAAKC,UAAUhQ,GACf,6BACE1P,EAAK3S,GAAagtE,OAAA,OAEX,OAAPr6D,GACFA,EAAG6Q,SAASuuC,MAAM5uD,GAEbwP,CAAA,OAED,IAAIqkB,MACR,0EAGD,oBAEgD,oBAAjDjxC,OAAOwzB,UAAU6P,SAAS7/B,KAAKyW,IAC/B,KAEIlf,EACF,kJAFauhC,EAAQmtI,UAAY,mCAMjC,uBACAntI,EAAQk8E,SALR,kDAQE1+F,EAAiBG,GAAagtE,OAAA,GAEX,OAAnBntE,EAAyB,CAC3BA,EAAe2jB,SAASuuC,MAAMjxE,GAAA,IAC1BwoC,EAAQzpC,KACZggB,EAAe2jB,SAASiQ,gBAAgBpP,cACtC,cACAywD,OAAS,WACTj1E,EAAe2jB,SAASm0B,MAAQt1B,EAAQk8E,SACxC1+F,EAAe2jB,SAASiQ,gBACrBpP,cAAc,cACdk1D,cAAck2E,qBAAqBziF,KAClC1jD,EAAMk2E,OAAO,oBAId3/F,CAAA,OAED,IAAIm3B,MACR,sEAGD,sBAEgD,oBAAjDjxC,OAAOwzB,UAAU6P,SAAS7/B,KAAKyW,IAAA,MAkBzB,IAAIg3B,MACR,wEAjBE9lC,EACF,kIAIArR,KAAK2/G,OAAO,gBAAiBn9E,GAJ7B,4BAOEX,EAAmB1hB,GAAagtE,OAAA,GACX,OAArBtrD,IACFA,EAAiB8B,SAASuuC,MAAM7gE,GAChCwwB,EAAiB8B,SAASm0B,MAAQt1B,EAAQk8E,UAExC78E,GAAsC,oBAAXq3H,OAC7B,OAAOr3H,EAAA,UAOR,cACA,iBACK1hB,GAAawjB,SAASmhE,SAASP,KAAOvkG,KAAK2/G,OACjD,gBACAn9E,GAAA,eAGK,SAST0lB,GAAY,SAASt9B,GAAA,WAErBpN,MAAMlY,QAAQu7C,KAAsBA,GAASruC,QAAQoY,IAAe,UAIhEwM,GAAA,IACD,KACH4kB,GAAc,YAEX,KACHA,GAAc,GAAK,eAEhB,KACHA,GAAc,GAAK,eAEhB,KACHA,GAAc,aAEX,KAEDA,GAD6B,GAA3BkM,GAAU,cACE,IAEA,GAAK,aAGlB,SAGA,KACHlM,GAAc,aAEX,KACHA,GAAc,mBAGM,iBAAT5kB,EAAA,MAGH,IAAI+f,MAAM,iBAAmB/f,GAFnC4kB,GAAc5kB,EAAA,IAMhBywB,GAAa,KACjB5O,IACAM,IAAA,IAEI4O,GAAe,SAASv9B,GAAA,OACA,OAAtB/F,EACKgjC,GAAWqkH,UAAUthJ,EAAU,GAEjC,SAASA,GAAA,OACPA,CAAA,GAOP48B,GAAejT,EAAI2vH,YAAY2L,YAAct7H,EAAIs7H,YAAc,SACjEjlJ,GAAA,GAEIkmB,MAAMlmB,IAAuBA,EAAqB,GAAM,EAAG,MACvD,IAAIusB,MAAM,sDAGX,CACLo0H,MAFUjrH,GAAa11B,GAAoB2gJ,MAG3C8B,WAAYziJ,EACZwiJ,YAAa9sH,GAAa11B,GAAA,EAI1B08B,GAAsB/S,EAAI2vH,YAAY4L,mBAAqB,SAC7DllJ,GAAA,GAEIkmB,MAAMlmB,IAAUA,EAAQ,GAAM,EAAG,MAC7B,IAAIusB,MAAM,2DAEb,IAAI3U,KAAc8d,GAAA,GACjBA,GAAa9d,GAAY+oI,QAAU3gJ,EAAA,aAIlC48B,GAAYhlB,EAAA,EAGjB4lB,GAAsB7T,EAAI2vH,YAAY6L,mBAAqBx7H,EAAIw7H,mBAAqB,iBAC/E,CACLxE,MAAOjrH,GAAaphC,GAAaqsJ,MACjC8B,WAAYnuJ,EACZkuJ,YAAa9sH,GAAaphC,GAAA,EAgB9Bq1B,EAAImrE,QAAU,kBACZr7D,GAASx9C,MAAM7G,KAAMmoB,WACdnoB,IAAA,EAmBTu0C,EAAI4mE,QAAU,kBACZ51D,GAAS1+C,MAAM7G,KAAMmoB,WACrBuzB,EAAqBhyC,KAAK1J,KAAMq7C,EAAMn8B,IAC/Blf,IAAA,EAYTu0C,EAAIy7H,WAAa,SAASplJ,GAAA,YACnB80F,UAAA,KACAuwD,SAAS/wJ,EAAa0L,GACpB5qB,IAAA,EAYTu0C,EAAI07H,SAAW,SAASrlJ,EAAY4X,GAAA,IAC9Bj0B,EAAU4R,EAAA,GACVyK,EAAa4X,EAAY,CAC3Bj0B,EAAW8sC,EAAMzwB,GACjBzK,EAAkBmgC,GAAa11B,GAAA,IAC1B,IAAI5pB,EAAI4pB,EAAY5pB,EAAIwhC,EAAYxhC,IACvCq6C,EAAMr6C,GAAKq6C,EAAMr6C,EAAI,GACrBs/C,GAAat/C,GAAKs/C,GAAat/C,EAAI,GAErCq6C,EAAM7Y,GAAcj0B,EACpB+xC,GAAa9d,GAAcriB,EAAA,KACtBg7F,QAAQ34E,EAAA,MACR,GAAI5X,EAAa4X,EAAY,CAClCj0B,EAAW8sC,EAAMzwB,GACjBzK,EAAkBmgC,GAAa11B,GAAA,IAC1B,IAAI3X,EAAI2X,EAAY3X,EAAIuvB,EAAYvvB,IACvCooC,EAAMpoC,GAAKooC,EAAMpoC,EAAI,GACrBqtC,GAAartC,GAAKqtC,GAAartC,EAAI,GAErCooC,EAAM7Y,GAAcj0B,EACpB+xC,GAAa9d,GAAcriB,EAAA,KACtBg7F,QAAQ34E,EAAA,QAERxiC,IAAA,EAYTu0C,EAAI27H,WAAa,kBACfrpH,GAAYhgD,MAAM7G,KAAMmoB,WACjBnoB,IAAA,EAuCTu0C,EAAI2vH,YAAYzjI,KAAO8T,EAAI9T,KAAO,SAAS+B,EAAMj0B,EAAG4R,EAAGnf,EAASiS,GAAA,IAe1DmkB,EAASyB,EAAIvV,EAAOwP,EAAOzO,EAAWpjB,EAAU+e,EAAOypB,EAkBvDp4B,EAnBAwwB,GADJ7gC,EAAUA,GAAW,CAAC,GACFO,OAASvB,KAAA,GASX,iBAATwiC,GACM,iBAANj0B,IACO,iBAAN4R,GAAkB3C,MAAMlY,QAAQ6a,IACxC,KACI0E,EAAM1E,EACVA,EAAI5R,EACJA,EAAIi0B,EACJA,EAAO3d,CAAA,IAKLsD,UAAU,aAAcq4B,IAAA,GAE1Bl9B,EAAQ6E,UAAU,GAClB2K,EAAQ3K,UAAU,GAEG,YAAjByC,EAAAA,EAAAA,GAJJ5K,EAAQmI,UAAU,KAIyB,OAAVnI,IACV,iBAAVsD,IACTwP,EAAQxP,EACRA,EAAQ,MAEW,iBAAVtD,IACT8S,EAAQ9S,EACRA,EAAQ,MAEW,iBAAVA,IACTsD,EAAQtD,EACRA,EAAQ,MAEVhf,EAAU,CACR2xE,MAAO3yD,EACPg3D,MAAO1zD,EACP6sJ,MAAOr9I,MAIXimB,EACE,yDAEF1nC,EAAuB4B,GAGrB69B,MAAMviC,IAAMuiC,MAAM3wB,IAAlB,MAA+BqiB,EAAA,MAC3B,IAAI2U,MAAM,6CAGE,IAAhB3U,EAAKthC,OAAA,OACA2gC,EAAA,IAGLr/B,EAAO,GACP+xC,GAAA,EACAC,EACkC,iBAA7BxzC,EAAQovK,iBACXpvK,EAAQovK,iBACRC,GACFx6H,EAAchU,EAAMw5E,SAASi1D,YAAA,SAExBj7H,EAAIzqB,GAAA,OACXA,EAAIA,EAAEyO,MAAM,MAAM2Q,KAAKxsB,MAAMxc,EAAQuvK,QAAU,GAAGvmI,KAAK,MAChDoa,GAAUx5B,EAAG5K,EAAA,UAGby0B,EAA4B7pB,GAAA,QAK/B4X,EAHAj0B,EAAKqc,EAAKpS,SACV2H,EAAK,GACLnf,EAAMuN,EAAGrN,OAINF,KAEgB,iBADrBwhC,EAAQj0B,EAAG3K,SAETuc,EAAG5f,KAAKiiC,GAGNhlB,MAAMlY,QAAQslB,KACI,IAAjB4X,EAAMthC,aAAA,IACJshC,EAAM,aAAoBA,EAAM,IAEnCriB,EAAG5f,KAAKiiC,EAAM,IAEdriB,EAAG5f,KAAK,CAACiiC,EAAM,GAAIA,EAAM,GAAIA,EAAM,YAIlCriB,CAAA,UAGA3B,EAAsBoM,EAAM4X,GAAA,IAC/Bj0B,EAAA,GACgB,iBAATqc,EACTrc,EAASi0B,EAAmB5X,GAAM,QAC7B,GAAIpN,MAAMlY,QAAQslB,GAAO,SAK1BzK,EACAnf,EAJAiS,EAAK2X,EAAKpS,SACV4e,EAAK,GACLyB,EAAM5lB,EAAG/R,OAKN23B,KAEgB,iBADrB1Y,EAAQlN,EAAGrP,SAETwzB,EAAG72B,KAAKiiC,EAAmBriB,GAAO,IACzB3C,MAAMlY,QAAQ6a,IAA8B,iBAAbA,EAAM,KAC9Cnf,EAAYwhC,EAAmBriB,EAAM,GAAIA,EAAM,GAAIA,EAAM,IACzDiX,EAAG72B,KAAK,CAACS,EAAU,GAAIA,EAAU,GAAIA,EAAU,MAGnDuN,EAAS6oB,CAAA,QAEJ7oB,CAAA,KAILqnC,GAAA,EACAtpB,GAAA,EAAwB,GAER,iBAATkW,EACToT,GAAA,OACK,GAAIp4B,MAAMlY,QAAQk9B,GAAO,KAE1B8S,EAAK9S,EAAKhqB,SACdqgB,EAAK,WAED6d,EADA5B,EAAMQ,EAAGp0C,OAIN4zC,MAGc,iBAFnB4B,EAAQpB,EAAG1xC,UAGR4Z,MAAMlY,QAAQoxC,IAA8B,iBAAbA,EAAM,MAEtCpqB,GAAA,GAGJspB,EAAqBtpB,CAAA,SAEnBspB,EAAA,MACI,IAAIuB,MACR,0CACE3U,EACA,wBAWc,iBAATA,IAEPA,EADEA,EAAKqK,MAAM,WACNrK,EAAKnJ,MAAM,eAEX,CAACmJ,IAAA,IAKR5N,EAASmnB,GAAiBla,EAAMw5E,SAASi1D,YACzCl4H,EAAUxjB,GAAU4f,EAAa,UAE7BxzC,EAAQwvG,UAAA,IACT,SACHrwF,GAAKi4B,EAAA,UAEF,MACHj4B,GAAKyU,EAASwjB,EAAA,UAEX,UACHj4B,GAAKyU,EAAS,EAAIwjB,EAAA,UAEf,SACHj4B,GAAKyU,EAAS,EAAIwjB,EAAA,IAUtBn3C,EAAWD,EAAQu5I,UAAY,GAEhB,IACO,iBAAT/3G,EACTA,EAAOX,EAAM2uI,gBAAgBhuI,EAAMvhC,GACe,mBAAzCiF,OAAOwzB,UAAU6P,SAAS7/B,KAAK84B,KACxCA,EAAOA,EAAKphB,QAAO,SAASwJ,EAAK4X,GAAA,OACxB5X,EAAIpS,OAAOqpB,EAAM2uI,gBAAgBhuI,EAAUvhC,GAAA,GACjD,MAKPm2B,EAAU,CACRqJ,KAAM+B,EACNyS,EAAG1mC,EACHgmC,EAAGp0B,EACHvK,QAAS5U,EACTyvK,MAAO,CACLlC,UAAWnqH,GACXssH,cAAe1xH,GACfwgD,MAAOhgD,GACPmxH,eAAgB50H,KAGpBQ,GAAO49E,QAAQ,iBAAkB/iG,GAEjCoL,EAAOpL,EAAQqJ,KAIfnd,GAHAtiB,EAAUo2B,EAAQxhB,SAGFohE,MAGd3lE,aAAgCmvC,IAAA,GAChCl9B,GACiB,iBAAVA,EACP,CACAA,GAAS2Q,KAAKgjD,GAAK,IAEe,IAA9Bj2E,EAAQ4vK,oBACVttJ,GAASA,GAGPiyB,IAAYN,EAAQkxH,WACtB7iJ,GAASA,GAAA,IAGPmzB,EAAIxiB,KAAK+vD,IAAI1gE,GACboxB,EAAIzgB,KAAK8vD,IAAIzgE,GACjBjS,EAAuB,IAAImvC,GAAO/J,EAAG/B,GAAIA,EAAG+B,EAAG,EAAG,QACzCnzB,GAASA,aAAiBk9B,KACnCnvC,EAAuBiS,GAGrBiyB,IAAYN,EAAQkxH,UAAa90J,IACnCA,EAAuBuvC,SAAA,KAKzBv8B,EAAYrjB,EAAQ6vK,WAAat3D,MAG/B/2G,GAAQuyC,EAAI0E,EAAMp1B,IAAc,aAC3BysJ,aAAa9wK,KAAK+wK,gBAAkB,cAG3CtnI,EAAkBzoC,EAAQgwK,mBAExBxuK,GAAQuyC,EAAsB,IAAlBtL,GAAyB,SAK5BzoC,EAAQ4lI,KAAA,IAOf9wF,GAAiB,EACjBgD,OAAA,IACK93C,EAAQiwK,cACXjwK,EAAQiwK,cACRjwK,EAAQy2G,OACV9iE,EAAc9S,EAAMw5E,SAAS00D,qBAAqB3C,YAAA,OAE9Ct0H,GAAA,KACD,SACA,IACA,OACHhD,EAAgB,aAEb,SACA,IACA,SACHA,EAAgB,aAEb,MACA,iBACHA,EAAgB,aAEb,MACA,YACHA,EAAgB,aAEb,MACA,wBACHA,EAAgB,aAEb,MACA,8BACHA,EAAgB,aAEb,MACA,wCACHA,EAAgB,aAEb,MACA,uBACHA,EAAgB,MAIhBuC,OAAA,IACK1D,EAAYu8H,kBACfv8H,EAAYu8H,mBACX,GAIgB,IAAnBp7H,EACFtzC,GAAQszC,EAAgB,SAGQ,IAAvBuC,IACT71C,GAAQ,WAGa,IAAnBszC,IACFnB,EAAYu8H,kBAAoBp7H,GAIlChjB,EAAQ9xB,EAAQmvK,OAAS,WAOrBn5H,EANAS,EAAUsE,GAAiBvH,EAC3BwE,EAAYnX,EAAMw5E,SAASN,SAAS1qD,WACpC3W,EAAa8F,GAAMR,IACvB36B,EAAYrjB,EAAQ6vK,WAAat3D,GACjCt4G,EAAWD,EAAQu5I,UAAY,EAG/Bv6H,EAAQ9Z,OAAO8pC,OAAO,CAAEo+H,YAAA,EAAkBE,OAAA,GAAettK,EAAQ2xE,OAAA,IAE7Dp5B,EAAqB,GACrBI,EAAY,SAAS/uB,GAAA,OAEpBiX,EAAMsvI,mBAAmBvmJ,EAAG,CAC3B4nF,KAAM94D,EACNm3H,UAAWxsJ,EACXmlE,SAAUztC,GACVq1H,WAAA,IAEAr1H,GACFlG,CAAA,KAGyC,mBAAzC3vC,OAAOwzB,UAAU6P,SAAS7/B,KAAK84B,GAA4B,KAEzD8W,EADJzgB,EAAK4b,EAA4BjS,GAEnB,SAAV1P,IACFkkB,EAAane,EAAGxyB,IAAIszC,IAAA,IAMlBV,EADAW,EAAY,KAEF,UAAV9mB,EAAmB,CAGrBvkB,GAAKyoC,EAAW,GAChBxU,EAAO,GACPsS,EAAMjc,EAAG33B,OAAA,IACJ,IAAIge,EAAI,EAAGA,EAAI41B,EAAK51B,IACb,IAANA,GACF+5B,EAAOgb,GAAwB1lD,GAC/B+qC,EAAO+3H,GAAsBlxJ,KAE7B84B,EAAOQ,EAAMG,EAAY5C,EAAW93B,IACpCo6B,GAAQ7B,GAEVjV,EAAKjiC,KAAK,CAACs4B,EAAG3Z,GAAI+5B,EAAMK,IACxBM,EAAY5C,EAAW93B,EAAA,MAEpB,GAAc,WAAV4T,EAAoB,CAG7BvkB,GAAKyoC,EAAW,GAAK,EACrBxU,EAAO,GACPsS,EAAMjc,EAAG33B,OAAA,IACJ,IAAIg4C,GAAI,EAAGA,GAAIpE,EAAKoE,KACb,IAANA,IACFD,EAAOgb,GAAwB1lD,GAC/B+qC,EAAO+3H,GAAsBlxJ,KAE7B84B,EAAOQ,GAAOG,EAAY5C,EAAWkC,KAAM,GAC3CI,GAAQ7B,GAEVjV,EAAKjiC,KAAK,CAACs4B,EAAGqgB,IAAID,EAAMK,IACxBM,EAAY5C,EAAWkC,GAAA,MAEpB,GAAc,SAAVpmB,EAAkB,CAC3B0P,EAAO,GACPsS,EAAMjc,EAAG33B,OAAA,IACJ,IAAI24C,GAAI,EAAGA,GAAI/E,EAAK+E,KACvBrX,EAAKjiC,KAAKs4B,EAAGghB,IAAA,MAEV,GAAc,YAAV/mB,GAA+C,eAAxB4mB,EAAWniB,SAA2B,CAEtEiL,EAAO,GACPsS,EAAMjc,EAAG33B,OACTD,EAAwB,IAAbA,EAAiBA,EAAW+3C,EAAA,QACnCc,GAAe,EACVwB,GAAI,EAAGA,GAAIxG,EAAKwG,KAAA,GACvBhC,EAAa,IAANgC,GAAU+1H,GAAsBlxJ,IAAMs3B,EAC7CwB,EAAa,IAANqC,GAAU2Y,GAAwB1lD,GAAKurC,GAC1CwB,GAAIxG,EAAM,EAAG,KACXqF,GAAUV,GACXx4C,EAAW+1C,EAAWsE,MAAOziB,EAAGyiB,IAAGjiB,MAAM,KAAKn4B,OAAS,IAEtD64C,GAAQlhB,EAAGyiB,IAAGjiB,MAAM,KACxBmJ,EAAKjiC,KAAK,CAACw5C,GAAM,GAAK,IAAKd,EAAMK,IACjCQ,GAAe,MACV,IAAIyB,GAAI,EAAGA,GAAIxB,GAAM74C,OAAQq6C,KAAK,KACjCF,IACD1B,EAAUI,GAAMwB,GAAI,GAAK,IAAMxB,GAAMwB,KACpC5B,EAAUI,GAAMwB,MAChB1F,EACFsE,GACEoB,IAAKxB,GAAM74C,OAAS,EAAGshC,EAAKjiC,KAAK,CAACw5C,GAAMwB,IAAIF,GAAa,IACxD7Y,EAAKjiC,KAAK,CAACw5C,GAAMwB,IAAK,IAAKF,GAAa,IAC7CvB,IAAgBuB,EAAA,OAGlB7Y,EAAKjiC,KAAK,CAACs4B,EAAGyiB,IAAIrC,EAAMK,IAG5B9W,EAAKjiC,KAAK,CAAC,GAAIu5C,GAAc,QACxB,IAAc,YAAVhnB,EAAA,MAqBH,IAAIqkB,MACR,8EAnBqC,IAFvC3U,EAAO,GACPsS,EAAMjc,EAAG33B,OACTD,EAAwB,IAAbA,EAAiBA,EAAW+3C,EAC9BsC,GAAI,EAAGA,GAAIxG,EAAKwG,KACvBhC,EAAa,IAANgC,GAAU+1H,GAAsBlxJ,IAAMs3B,EAC7CwB,EAAa,IAANqC,GAAU2Y,GAAwB1lD,GAAK,EAC1C+sC,GAAIxG,EAAM,EACZyE,EAAmBh5C,KACjBw0C,EACE0E,GACGx4C,EAAW+1C,EAAWsE,MAAOziB,EAAGyiB,IAAGjiB,MAAM,KAAKn4B,OAAS,MAK9Dq4C,EAAmBh5C,KAAK,GAE1BiiC,EAAKjiC,KAAK,CAACs4B,EAAGyiB,IAAIrC,EAAMK,GAAA,MAU1Bc,GAAqC,kBAAhBp5C,EAAQsnK,IAAoBtnK,EAAQsnK,IAAMrsH,IAAA,IAC/D7B,KACF5X,EAAOhkB,EAAsBgkB,GAAM,SAAS5X,EAAM4X,EAAMj0B,GAAA,MAC/C,CACLqc,EACGyO,MAAM,IACNkuE,UACAv9D,KAAK,IACRxH,EACAj0B,EAAA,KAMN6oB,EAAU,CACRqJ,KAAM+B,EACNyS,EAAG1mC,EACHgmC,EAAGp0B,EACHvK,QAAS5U,EACTyvK,MAAO,CACLlC,UAAWnqH,GACXssH,cAAe1xH,GACfwgD,MAAOhgD,GACPmxH,eAAgB50H,KAGpBQ,GAAO49E,QAAQ,kBAAmB/iG,GAElCoL,EAAOpL,EAAQqJ,KACf8T,EAAQnd,EAAQq5I,MAAMrhG,QAAA,EAAS,IAG3B3zB,GAAqB+D,GAAMR,IAAeznB,SAGrB,oBAAvBkkB,IACuB,qBAAvBA,KAEAjZ,EAAOhkB,EAAsBgkB,GAAM,SAAS5X,EAAM4X,EAAMj0B,GAAA,MAC/C,CAAC8mC,EAAIzqB,GAAO4X,EAAMj0B,EAAA,KAI7BsqB,EAAK4b,EAA4BjS,GAEjCA,EAAO,WAIHoZ,GACAF,GACAG,GALAF,GAAS,EACTG,GAAQ,EACR9kB,GAAUxZ,MAAMlY,QAAQuzB,EAAG,IAAMijB,GAAQH,GAIzCO,GAAc,GAEdC,GAAmB,SACrBvxB,EACA4X,EACAj0B,GAAA,IAEI4R,EAAW,UACX5R,aAAoCiyC,IAKpCjyC,EAD2B,iBAAlBvN,EAAQg2E,MACUl2B,GACzBvyC,EACA,IAAIiyC,GAAO,EAAG,EAAG,EAAG,EAAG51B,EAAU4X,IAGRse,GACzB,IAAIN,GAAO,EAAG,EAAG,EAAG,EAAG51B,EAAU4X,GACjCj0B,GAIAgnC,IAAYN,EAAQkxH,WACtB53J,EAA2BuyC,GACzB,IAAIN,GAAO,EAAG,EAAG,GAAI,EAAG,EAAG,GAC3BjyC,IAIJ4R,EAAW5R,EAAyBy7B,KAAK,KAAO,SAEhD7pB,EAAW40B,EAAInqB,GAAY,IAAMmqB,EAAIvS,GAAY,QAE5CriB,CAAA,EAGAi8B,GAAY,EAAGA,GAAYvjB,EAAG33B,OAAQk7C,KAAa,QAC1DF,GAAc,GAENllB,IAAA,KACD8kB,GACHD,IACGtH,EAAQ,IAAM,KAAO1b,EAAGujB,IAAW,IAAM7H,EAAQ,IAAM,KAC1DqH,GAAO/K,WAAWhY,EAAGujB,IAAW,IAChCV,GAAO7K,WAAWhY,EAAGujB,IAAW,eAE7BT,GACHE,IAAWtH,EAAQ,IAAM,KAAO1b,EAAGujB,KAAc7H,EAAQ,IAAM,KAC/DqH,GAAOqY,GAAwB1lD,GAC/BmtC,GAAO21H,GAAsBlxJ,QAAA,IAKxBo5B,QAAA,IACAA,EAAmB6C,MAE1BF,GAAc3C,EAAmB6C,IAAa,SAG9B,IAAdA,GACF5Z,EAAKjiC,KACH27C,GACEC,GAAiBP,GAAMF,GAAMrqC,GAC7BwqC,IAEK7kB,KAAY2kB,GACrBnZ,EAAKjiC,KAAK27C,GAAcL,IACf7kB,KAAY8kB,IACrBtZ,EAAKjiC,KACH27C,GACEC,GAAiBP,GAAMF,GAAMrqC,GAC7BwqC,GAAA,CAKRrZ,EAAOxL,KAAY2kB,GAASnZ,EAAKwH,KAAK,YAAcxH,EAAKwH,KAAK,SAC9DxH,GAAQ,YAEJ4c,GAAS,eACbA,IAAUJ,GAAgB,IAAMjD,GAAiB,QACjDqD,IAAUrK,EAAIgH,GAAiBvH,GAAc,QAC7C4K,IAAUkyH,GAAY,KACtBlyH,IAAU58C,EACV48C,IAAU5c,EAGVgZ,EAFA4D,IAAU,MAGVlsC,EAAU8rC,KAAA,EACHnd,CAAA,MA6BLkjB,GAAQxQ,EAAI2vH,YAAY3yD,KAAOh9D,EAAIg9D,KAAO,SAAS3mF,GAAA,OAInD4wB,EADE,YAAc5wB,EACZ,KAEA,KAEC5qB,IAAA,EAaTu0C,EAAIg9H,YAAc,kBACTxsH,GAAK,YAYdxQ,EAAI2vH,YAAYsN,YAAcj9H,EAAIi9H,YAAc,kBAC9Ch2H,EAAI,KACGx7C,IAAA,MAGLunD,GAAgBhT,EAAI2vH,YAAYuN,aAAe,SAAS7mJ,GAAA,IAetD4X,GAAA,EAAS,OAC8B,IAflB,MAAC,EAExB,KACA,IACA,IACA,IACA,KACA,KACA,IACA,KACA,IACA,KACA,KAGqBhwB,QAAQoY,KAC7B4X,GAAA,GAEKA,CAAA,EAGT+R,EAAI2vH,YAAYwN,wBAA0Bn9H,EAAIm9H,wBAA0B,SACtE9mJ,GAAA,OAEI28B,GAAa38B,KACfiX,EAAuBjX,GAElB5qB,IAAA,MAGLyyI,GAAYl+F,EAAI2vH,YAAYyN,SAAWp9H,EAAIo9H,SAAW,SAAS/mJ,GAAA,IAE7D4X,EAAKX,EAAA,OAEDjX,GAAA,IACD,QACA,IACH4X,EAAK,cAEF,IACHA,EAAK,cAEF,SACA,KACHA,EAAK,cAEF,QACA,SACA,QACA,KAQHA,EAAK5X,EAAA,OAGF4X,CAAA,EAWLovI,GAASr9H,EAAI4E,MAAQ,kBACvBqC,EAAI,KACGx7C,IAAA,EAWTu0C,EAAIkjE,OAAS,kBACXj8D,EAAI,KACGx7C,IAAA,EAaTu0C,EAAIrb,KAAO,SAAStO,GAAA,OAClBinJ,GAAwB,IAAKjnJ,GACtB5qB,IAAA,EAaTu0C,EAAIu9H,YAAc,SAASlnJ,GAAA,OACzBinJ,GAAwB,KAAMjnJ,GACvB5qB,IAAA,EAaTu0C,EAAIw9H,WAAa,SAASnnJ,GAAA,OACxBinJ,GAAwB,IAAKjnJ,GACtB5qB,IAAA,EAaTu0C,EAAIy9H,kBAAoB,SAASpnJ,GAAA,OAC/BinJ,GAAwB,KAAMjnJ,GACvB5qB,IAAA,MAGL6xK,GAA0B,SAASrvI,EAAOj0B,GACrB,YAAnBqc,EAAAA,EAAAA,GAAOrc,GACT+zD,GAAgB/zD,EAASi0B,GAEzBgZ,EAAIhZ,EAAA,EAIJyvI,GAAW,SAASrnJ,GAEV,OAAVA,GACC2qB,IAAYN,EAAQkxH,eAAA,IAAYv7I,IAKnCA,EAAQ6nH,GAAS7nH,GAGjB4wB,EAAI5wB,GAAA,WAGGsnJ,GAAmBtnJ,EAAY4X,EAAaj0B,EAAO4R,EAAOnf,GAAA,IAC7DiS,EAAQ,IAAIwjC,GACdjU,GAAexiC,KAAKmjK,YACpB50J,GAASvO,KAAKojK,MACdjjJ,GAASngB,KAAKqjK,MACdrjK,KAAKgjK,OACLhiK,GAAUhB,KAAK8qF,QAEjB73E,EAAMglJ,OAASj4J,KAAKi4J,OAAA,IAChB7gI,EAAMxM,EAAa,KAAO5qB,KAAKsjK,aAAe,YAClDviH,GAAW3pB,EAAKnkB,GACTA,CAAA,KAGLqvD,GAAkB,SAAS13C,EAAa4X,GAAA,IACtCj0B,EAAYoxC,GAAW/0B,EAAY5lB,KACnCmb,EAAU68B,GAASzuC,GAAA,GAEnB4R,aAAmBi4B,GACrBoD,EAAI,KAEJA,EAAI22H,GAAkB3vI,IAElBriB,EAAQ6iJ,QACVzuH,EAAI69H,UAAUjyJ,EAAQ6iJ,QAExBxnH,EAAI5wB,EAAYkgE,OAAOvhD,WAAa,OACpCiS,EAAI,IAAMjtC,EAAY,OACtBitC,EAAI,UACC,GAAIr7B,aAAmBs2B,GAAe,KAGvCz1C,EAAS,IAAIw/C,GAAO,EAAG,EAAG,GAAI,EAAG,EAAG6lH,MAEpCz7I,EAAYkgE,SACd9pF,EAASA,EAAOkpK,SAASt/I,EAAYkgE,QAAUlqC,IAG/CryC,EAAY2jK,GAAmBxoK,KAC7ByW,EACAyK,EAAY5lB,IACZ4lB,EAAYu4I,YACZv4I,EAAYw4I,MACZx4I,EAAYy4I,MACZriK,GACAyQ,IAGJ+pC,EAAI,KACJA,EAAI,eACJA,EAAI,IAAMjtC,EAAY,QAElB4R,EAAQ6iJ,QACVzuH,EAAI69H,UAAUjyJ,EAAQ6iJ,QAGxBxnH,EAAIhZ,GACJgZ,EAAI,OAIJ22H,GAAoB,SAASvnJ,GAAA,OACvBA,GAAA,IACD,QACA,UACI,UACJ,WACI,WACJ,UACI,UACJ,WACI,WAIJ,UACI,UACJ,UACI,QAcTynJ,GAAU99H,EAAI+/D,OAAS,SAAS1pF,EAAG4X,GAAA,OACrCgZ,EAAIzG,EAAI0E,EAAM7uB,IAAM,IAAMmqB,EAAIiC,EAAgBxU,IAAM,MAC7CxiC,IAAA,EAcLsyK,GAAU/9H,EAAIggE,OAAS,SAAS3pF,EAAG4X,GAAA,OACrCgZ,EAAIzG,EAAI0E,EAAM7uB,IAAM,IAAMmqB,EAAIiC,EAAgBxU,IAAM,MAC7CxiC,IAAA,EAmBLuyK,GAAWh+H,EAAIi+H,QAAU,SAAS5nJ,EAAI4X,EAAIj0B,EAAI4R,EAAInf,EAAIiS,GAAA,OACxDuoC,EACE,CACEzG,EAAI0E,EAAM7uB,IACVmqB,EAAIiC,EAAgBxU,IACpBuS,EAAI0E,EAAMlrC,IACVwmC,EAAIiC,EAAgB72B,IACpB40B,EAAI0E,EAAMz4C,IACV+zC,EAAIiC,EAAgB/jC,IACpB,KACA+2B,KAAK,MAEFhqC,IAAA,EAiBTu0C,EAAI2vH,YAAYh4E,KAAO33C,EAAI23C,KAAO,SAASthE,EAAI4X,EAAIj0B,EAAI4R,EAAInf,GAAA,GAEvD8vC,MAAMlmB,IACNkmB,MAAMtO,IACNsO,MAAMviC,IACNuiC,MAAM3wB,KACLonC,GAAavmD,GAAA,MAER,IAAIm2C,MAAM,iDAEd5B,IAAYN,EAAQixH,OACflmK,KAAKyyK,MAAM,CAAC,CAAClkK,EAAKqc,EAAIzK,EAAKqiB,IAAM5X,EAAI4X,EAAI,CAAC,EAAG,GAAIxhC,GAAS,KAE1DhB,KAAKyyK,MAAM,CAAC,CAAClkK,EAAKqc,EAAIzK,EAAKqiB,IAAM5X,EAAI4X,EAAI,CAAC,EAAG,IAAIi1E,QAAA,EAuC5DljE,EAAI2vH,YAAYuO,MAAQl+H,EAAIk+H,MAAQ,SAClC7nJ,EACA4X,EACAj0B,EACA4R,EACAnf,EACAiS,GAAA,IAEImkB,EAAQyB,EAAQvV,EAAGwP,EAAGzO,EAAKpjB,EAAI+e,EAAIypB,EAAIp4B,EAAIwwB,EAAIhd,EAAIriB,EAAA,GAOlC,iBAAVooB,IACTpoB,EAAM+L,EACNA,EAAIi0B,EACJA,EAAI5X,EACJA,EAAQpoB,GAGV2d,EAAQA,GAAS,CAAC,EAAG,GACrBlN,EAASA,IAAA,EAGP69B,MAAMtO,IACNsO,MAAMviC,KACLiP,MAAMlY,QAAQslB,KACdpN,MAAMlY,QAAQ6a,KACdonC,GAAavmD,IACI,kBAAXiS,EAAA,MAED,IAAIkkC,MAAM,+CAIlBk7H,GAAO7vI,EAAGj0B,GAEV6oB,EAASjX,EAAM,GACf0Y,EAAS1Y,EAAM,GACf2S,EAAIlI,EAAM1pB,OAIV2gC,EAAKW,EACL3d,EAAKtW,EAEA+U,EAAI,EAAGA,EAAIwP,EAAGxP,IAEE,KADnBe,EAAMuG,EAAMtH,IACJpiB,QAEN2gC,EAAKxd,EAAI,GAAK+S,EAASyK,EACvBhd,EAAKR,EAAI,GAAKwU,EAAShU,EACvBytJ,GAAOzwI,EAAIhd,KAGX5jB,EAAKojB,EAAI,GAAK+S,EAASyK,EACvB7hB,EAAKqE,EAAI,GAAKwU,EAAShU,EACvB4kB,EAAKplB,EAAI,GAAK+S,EAASyK,EACvBxwB,EAAKgT,EAAI,GAAKwU,EAAShU,EACvBgd,EAAKxd,EAAI,GAAK+S,EAASyK,EACvBhd,EAAKR,EAAI,GAAKwU,EAAShU,EACvB0tJ,GAAQtxK,EAAI+e,EAAIypB,EAAIp4B,EAAIwwB,EAAIhd,IAAA,OAI5B5R,GACF2+J,KAGFK,GAASjxK,GACFhB,IAAA,EAaTu0C,EAAIpb,KAAO,SAASvO,GAAA,IACb,IAAI4X,EAAI,EAAGA,EAAI5X,EAAM1pB,OAAQshC,IAAK,KACjCj0B,EAAMqc,EAAM4X,GACZriB,EAAS5R,EAAI+U,EAAA,OACT/U,EAAI4zD,IAAA,IACL,IACHkwG,GAAOlyJ,EAAO,GAAIA,EAAO,cAEtB,IACHmyJ,GAAOnyJ,EAAO,GAAIA,EAAO,cAEtB,IACHoyJ,GAAQ1rK,MAAM7G,KAAMmgB,GAAA,UAEjB,IACHyxJ,KAAA,QAKC5xK,IAAA,EAwBTu0C,EAAI2vH,YAAYphG,KAAOvuB,EAAIuuB,KAAO,SAASl4C,EAAG4X,EAAGj0B,EAAG4R,EAAGnf,GAAA,GACjD8vC,MAAMlmB,IAAMkmB,MAAMtO,IAAMsO,MAAMviC,IAAMuiC,MAAM3wB,KAAOonC,GAAavmD,GAAA,MAC1D,IAAIm2C,MAAM,iDAEd5B,IAAYN,EAAQixH,SACtB/lJ,GAAKA,GAGPq7B,EACE,CACEzG,EAAI0E,EAAM7uB,IACVmqB,EAAIiC,EAAgBxU,IACpBuS,EAAI0E,EAAMlrC,IACVwmC,EAAI0E,EAAMt5B,IACV,MACA6pB,KAAK,MAGTioI,GAASjxK,GACFhB,IAAA,EA0BTu0C,EAAI2vH,YAAYwO,SAAWn+H,EAAIm+H,SAAW,SACxC9nJ,EACA4X,EACAj0B,EACA4R,EACAnf,EACAiS,EACAmkB,GAAA,GAGE0Z,MAAMlmB,IACNkmB,MAAMtO,IACNsO,MAAMviC,IACNuiC,MAAM3wB,IACN2wB,MAAM9vC,IACN8vC,MAAM79B,KACLs0C,GAAanwB,GAAA,MAER,IAAI+f,MAAM,0DAEbs7H,MACH,CACE,CAAClkK,EAAKqc,EAAIzK,EAAKqiB,GAAA,CACdxhC,EAAKuN,EAAI0E,EAAKkN,GAAA,CACdyK,EAAK5pB,EAAIwhC,EAAKvvB,IAEjB2X,EACA4X,EAAA,CACC,EAAG,GACJpL,GAAA,GAGKp3B,IAAA,EA0BTu0C,EAAI2vH,YAAYyO,YAAcp+H,EAAIo+H,YAAc,SAC9C/nJ,EACA4X,EACAj0B,EACA4R,EACAnf,EACAiS,EACAmkB,GAAA,GAGE0Z,MAAMlmB,IACNkmB,MAAMtO,IACNsO,MAAMviC,IACNuiC,MAAM3wB,IACN2wB,MAAM9vC,IACN8vC,MAAM79B,KACLs0C,GAAanwB,GAAA,MAER,IAAI+f,MAAM,qDAEdte,EAAS,EAAI,GAAM5E,KAAK2+I,MAAQ,UAEpC5xK,EAAKizB,KAAKC,IAAIlzB,EAAQ,GAAJuN,GAClB0E,EAAKghB,KAAKC,IAAIjhB,EAAQ,GAAJkN,GAAA,KAEbsyJ,MACH,CACE,CAAClkK,EAAI,EAAIvN,EAAI,GACb,CAACA,EAAK63B,EAAO,EAAG73B,EAAIiS,EAAKA,EAAK4lB,EAAO73B,EAAIiS,GACzC,CAAC,EAAGkN,EAAI,EAAIlN,GACZ,CAAC,EAAGA,EAAK4lB,GAAS73B,EAAK63B,EAAQ5lB,GAAKjS,EAAIiS,GACxC,CAAM,EAAIjS,EAARuN,EAAY,GACd,EAAGvN,EAAK63B,EAAQ,GAAI73B,GAAMiS,EAAK4lB,GAAS73B,GAAKiS,GAC7C,CAAC,EAAQ,EAAIA,EAARkN,GACL,CAAC,GAAKlN,EAAK4lB,EAAQ73B,EAAK63B,GAAQ5lB,EAAIjS,GAAKiS,IAE3C2X,EAAI5pB,EACJwhC,EAAA,CACC,EAAG,GACJpL,GAAA,GAGKp3B,IAAA,EAwBTu0C,EAAI2vH,YAAY2O,QAAUt+H,EAAIs+H,QAAU,SAASjoJ,EAAG4X,EAAGj0B,EAAI4R,EAAInf,GAAA,GAE3D8vC,MAAMlmB,IACNkmB,MAAMtO,IACNsO,MAAMviC,IACNuiC,MAAM3wB,KACLonC,GAAavmD,GAAA,MAER,IAAIm2C,MAAM,iDAEdlkC,EAAM,EAAI,GAAMghB,KAAK2+I,MAAQ,GAAKrkK,EACpC6oB,EAAM,EAAI,GAAMnD,KAAK2+I,MAAQ,GAAKzyJ,EAAA,OAEpCkyJ,GAAOznJ,EAAIrc,EAAIi0B,GACf+vI,GAAQ3nJ,EAAIrc,EAAIi0B,EAAIpL,EAAIxM,EAAI3X,EAAIuvB,EAAIriB,EAAIyK,EAAG4X,EAAIriB,GAC/CoyJ,GAAQ3nJ,EAAI3X,EAAIuvB,EAAIriB,EAAIyK,EAAIrc,EAAIi0B,EAAIpL,EAAIxM,EAAIrc,EAAIi0B,GAChD+vI,GAAQ3nJ,EAAIrc,EAAIi0B,EAAIpL,EAAIxM,EAAI3X,EAAIuvB,EAAIriB,EAAIyK,EAAG4X,EAAIriB,GAC/CoyJ,GAAQ3nJ,EAAI3X,EAAIuvB,EAAIriB,EAAIyK,EAAIrc,EAAIi0B,EAAIpL,EAAIxM,EAAIrc,EAAIi0B,GAEhDyvI,GAASjxK,GACFhB,IAAA,EAuBTu0C,EAAI2vH,YAAY4O,OAASv+H,EAAIu+H,OAAS,SAASloJ,EAAG4X,EAAGj0B,EAAG4R,GAAA,GAClD2wB,MAAMlmB,IAAMkmB,MAAMtO,IAAMsO,MAAMviC,KAAOg5C,GAAapnC,GAAA,MAC9C,IAAIg3B,MAAM,mDAEXn3C,KAAK6yK,QAAQjoJ,EAAG4X,EAAGj0B,EAAGA,EAAG4R,EAAA,EAgBlCo0B,EAAIw+H,QAAU,SAASnoJ,EAAU4X,EAAWj0B,GAAA,OACtCA,IACFi0B,EAAYlW,EAA8BkW,EAAWj0B,IAEvDywC,GAAgBoI,GAAQx8B,EAAU4X,EAAW,CAC3CssI,gBAAA,IAEK9uK,IAAA,MAYLw0D,GAAgBjgB,EAAI2vH,YAAY8O,QAAUz+H,EAAIy+H,QAAU,kBACnDxzH,GAAM4H,GAAQvgD,MAAM0tC,EAAKpsB,WAAA,EAclCosB,EAAI2vH,YAAY+O,YAAc1+H,EAAI0+H,YAAc,eAE5CroJ,EACA4X,EAFEj0B,EAAO,CAAC,EAAD,IAINqc,KAAY8xB,GAAA,GACXA,GAAQ51C,eAAe8jB,GAAA,IAEpB4X,KADLj0B,EAAKqc,GAAY,GACC8xB,GAAQ9xB,GACpB8xB,GAAQ9xB,GAAU9jB,eAAe07B,IACnCj0B,EAAKqc,GAAUrqB,KAAKiiC,GAAA,OAKrBj0B,CAAA,EAiBTgmC,EAAI2+H,QAAU,SACZtoJ,EACA4X,EACAj0B,EACA4R,EACAnf,GAAA,IAEIiS,EAAkB,CACpB,mBACA,mBACA,aACA,0BAEEkV,UAAU,KAAiD,IAA3ClV,EAAgBT,QAAQ2V,UAAU,IAEpDnnB,EAAWmnB,UAAU,GACZA,UAAU,KAAgD,GAA1ClV,EAAgBT,QAAQ2V,UAAU,MAC3D5Z,EAAY+d,EAA8B/d,EAAW4R,IAEvDnf,EAAWA,GAAY,aAChBqkD,GAAQ37C,KAAK1J,KAAM4qB,EAAgB4X,EAAUj0B,EAAWvN,EAAA,MAuE7DqvK,GApEA3B,GAAYlsI,EAAQwwE,WAAa,QAUjCmgE,GAAgB5+H,EAAI2vH,YAAYkP,aAAe7+H,EAAI6+H,aAAe,kBAC7D1E,EAAA,EAaLD,GAAgBl6H,EAAI2vH,YAAYmP,aAAe9+H,EAAI8+H,aAAe,SACpEzoJ,GAAA,OAEA8jJ,GAAY9jJ,EACZ4wB,EAAIzG,EAAI0E,EAAM7uB,IAAU,MACjB5qB,IAAA,EAiBTu0C,EAAI2vH,YAAY3sD,YAAc7iE,GAAM03H,IAAI70D,YAAc7iE,GAAM03H,IAAIkH,mBAAqB,SACnF1oJ,EACA4X,GAAA,GAEA5X,EAAYA,GAAa,GACzB4X,EAAYA,GAAa,EAErBsO,MAAMtO,KAAehlB,MAAMlY,QAAQslB,GAAA,MAC/B,IAAIusB,MAAM,wDAGlBvsB,EAAYA,EACTvkB,KAAI,SAASukB,GAAA,OACLmqB,EAAI0E,EAAM7uB,GAAA,IAElBof,KAAK,KACRxH,EAAYuS,EAAI0E,EAAMjX,IAEtBgZ,EAAI,IAAM5wB,EAAY,KAAO4X,EAAY,MAClCxiC,IAAA,MAKLuzK,GAAiBh/H,EAAI2vH,YAAYsP,cAAgBj/H,EAAIi/H,cAAgB,kBAChEz3H,GAAiBs0H,EAAA,EAG1B97H,EAAI2vH,YAAYsP,cAAgBj/H,EAAIi/H,cAAgB,kBAC3Cz3H,GAAiBs0H,EAAA,MAatBoD,GAAuBl/H,EAAI2vH,YAAYwP,oBAAsBn/H,EAAIm/H,oBAAsB,SACzF9oJ,GAAA,MAGqB,iBADrBA,EAAQA,GAAS,QAEfylJ,GAAmBzlJ,GAEd5qB,IAAA,EAYL2zK,GAAuBp/H,EAAI2vH,YAAY0P,oBAAsBr/H,EAAIq/H,oBAAsB,kBAClFvD,EAAA,EAGToD,GAAoBjxI,EAAQ8mD,YAAA,IAExBr1B,GAA2B1f,EAAI2vH,YAAY2P,wBAA0B,SACvEjpJ,GAAA,OAEO6uB,EAAM7uB,EAAA,EAGXymJ,GAAyB98H,EAAI2vH,YAAY4P,sBAAwB,SACnElpJ,GAAA,OAEI2qB,IAAYN,EAAQkxH,SACfv7I,EAGL01B,GAAaphC,GAAaytJ,SAASI,UACnCzsH,GAAaphC,GAAaytJ,SAASE,YACjBpzH,EAAM7uB,EAAA,EAI1BmpJ,GAAiCx/H,EAAI2vH,YAAY8P,8BAAgCz/H,EAAIy/H,8BAAgC,SACvHppJ,GAAA,OAEOmqB,EAAIkf,GAAwBrpC,GAAA,EAGjCqpJ,GAA+B1/H,EAAI2vH,YAAYgQ,4BAA8B3/H,EAAI2/H,4BAA8B,SACjHtpJ,GAAA,OAEOmqB,EAAIs8H,GAAsBzmJ,GAAA,EAG/B+jJ,GAAcnsI,EAAQ2xI,aAAe,MAWzC5/H,EAAI2vH,YAAYkQ,eAAiB7/H,EAAI8/H,aAAe,kBAC3CnzH,GAAkBytH,GAAA,EAyC3Bp6H,EAAI2vH,YAAYoQ,eAAiB//H,EAAIggI,aAAe,SAClD3pJ,EACA4X,EACAj0B,EACA4R,GAAA,OAWAwuJ,GAAcptH,GATA,CACZ9pB,IAAK7M,EACL8M,IAAK8K,EACLkpI,IAAKn9J,EACLo9J,IAAKxrJ,EACLyrJ,aAAc,OACd9H,UAAW,IAIbtoH,EAAImzH,IACG3uK,IAAA,MAGLw0K,GAAYhyI,EAAQiyI,WAAa,MAWrClgI,EAAI2vH,YAAYwQ,aAAengI,EAAImgI,aAAe,kBACzCxzH,GAAkBszH,GAAA,EAyC3BjgI,EAAI2vH,YAAYyQ,aAAepgI,EAAIogI,aAAe,SAChD/pJ,EACA4X,EACAj0B,EACA4R,GAAA,OAWAq0J,GAAYjzH,GATE,CACZ9pB,IAAK7M,EACL8M,IAAK8K,EACLkpI,IAAKn9J,EACLo9J,IAAKxrJ,EACLyrJ,aAAc,OACd9H,UAAW,IAIbtoH,EAAIg5H,IACGx0K,IAAA,MAGLsxK,GAAY9uI,EAAQoyI,WAAa,MAUjCC,GAAgBtgI,EAAI2vH,YAAY4Q,aAAevgI,EAAIugI,aAAe,kBAC7D5zH,GAAkBowH,GAAA,EAwC3B/8H,EAAI2vH,YAAY6Q,aAAexgI,EAAIwgI,aAAe,SAChDnqJ,EACA4X,EACAj0B,EACA4R,GAAA,OAUAmxJ,GAAY/vH,GARE,CACZ9pB,IAAK7M,EACL8M,IAAK8K,EACLkpI,IAAKn9J,EACLo9J,IAAKxrJ,EACLyrJ,aAAc,OACd9H,UAAW,IAIN9jK,IAAA,MAGLu5G,GAAkB/2E,EAAQquI,UAW1BmE,GAAgBzgI,EAAI2vH,YAAY6M,aAAex8H,EAAIw8H,aAAe,kBAC7DlgI,WAAW0oE,IAAmB,IAavChlE,EAAI2vH,YAAY4M,aAAev8H,EAAIu8H,aAAe,SAASlmJ,GAAA,GACrDkmB,MAAMlmB,GAAA,MACF,IAAIusB,MAAM,wDAElBoiE,GAAkB3uF,EACX5qB,IAAA,MAGL4uK,GAAY,EAShBr6H,EAAI0gI,cAAgB,GACf,EACHC,KAAM,EACNC,IAAK,EACLC,MAAO,IACJ,EACHhyH,MAAO,EACPiyH,QAAS,EACTvC,OAAQ,IACL,EACHwC,WAAY,EACZC,QAAS,EACTC,OAAQ,EACRC,MAAO,GAcTlhI,EAAI2vH,YAAYwR,WAAanhI,EAAImhI,WAAa,SAAS9qJ,GAAA,IACjD4X,EAAK+R,EAAI0gI,cAAcrqJ,GAAA,YACvB4X,EAAA,MACI,IAAI2U,MACR,sBACEvsB,EACA,sFAGNgkJ,GAAYpsI,EACZgZ,EAAIhZ,EAAK,MAEFxiC,IAAA,MAGL6uK,GAAa,EAYjBt6H,EAAI2vH,YAAYyR,YAAcphI,EAAIohI,YAAc,SAAS/qJ,GAAA,IACnD4X,EAAK+R,EAAI0gI,cAAcrqJ,GAAA,YACvB4X,EAAA,MACI,IAAI2U,MACR,uBACEvsB,EACA,sFAGNikJ,GAAarsI,EACbgZ,EAAIhZ,EAAK,MAEFxiC,IAAA,EAcTu0C,EAAI2vH,YAAY0R,kBAAoBrhI,EAAI2vH,YAAY2R,cAAgBthI,EAAIqhI,kBAAoBrhI,EAAIshI,cAAgB,SAC9GjrJ,GAAA,GAEAA,EAASA,GAAU,EACfkmB,MAAMlmB,GAAA,MACF,IAAIusB,MAAM,6DAElBqE,EAAIzG,EAAI0E,EAAM7uB,IAAW,MAElB5qB,IAAA,EAcTu0C,EAAIuhI,OAASlhJ,GAWb2f,EAAI69H,UAAY,SAASxnJ,IAErBA,EADoB,iBAAXA,EACA20B,GAAQjD,GAAW1xB,IAEnBmrJ,GAAU,KAAMnrJ,IAGforJ,OAAOz1H,MACjB/E,EAAI,IAAM5wB,EAAOnZ,GAAK,OACtB8uC,GAAe31B,EAAA,MASfmrJ,GAAY,SAASnrJ,EAAK4X,GAAA,IAExB5X,IAAO0xB,GAAW1xB,GAAA,KAClBrc,GAAA,EAAY,IACX,IAAI4R,KAAKo/B,GAAA,GACRA,GAAQz4C,eAAeqZ,IACrBo/B,GAAQp/B,GAAG61J,OAAOxzI,GAAS,CAC7Bj0B,GAAA,EAAY,SAMdA,EACFi0B,EAAS+c,GAAQp/B,OACZ,KACDnf,EAAY,MAAQkF,OAAO/B,KAAKo7C,IAASr+C,OAAS,GAAGqoC,SAAS,IAClEgW,GAAQv+C,GAAawhC,EACrBA,EAAO/wB,GAAKzQ,CAAA,QAId4pB,IAAQ0xB,GAAW1xB,GAAO4X,EAAO/wB,IAEjC8qC,GAAO49E,QAAQ,YAAa33F,GAErBA,CAAA,GAcT+R,EAAI0hI,UAAY,SAASrrJ,EAAK4X,GAAA,OAC5BuzI,GAAUnrJ,EAAK4X,GACRxiC,IAAA,EAYTu0C,EAAI6xH,kBAAoB,kBACtB5qH,EAAI,KAEJ8D,GAAe/+C,KAAK,CAClByE,IAAKg6C,GACL37C,KAAM04C,GACNg8B,MAAOu5F,KAEFtxK,IAAA,EAUTu0C,EAAIiyH,qBAAuB,WACzBhrH,EAAI,SAGA5wB,EAAY00B,GAAel+C,MAAA,OAC/B49C,GAAgBp0B,EAAU5lB,IAC1B+2C,GAAiBnxB,EAAUvnB,KAC3BiuK,GAAY1mJ,EAAUmtD,MAEtBx3B,GAAe,KAERvgD,IAAA,EAYTu0C,EAAI2hI,+BAAiC,SAAStrJ,GAAA,OAC5C4wB,EAAI5wB,EAAO2e,WAAa,OACjBvpC,IAAA,EAYTu0C,EAAI4hI,QAAU,SAASvrJ,GAAA,OACrB4wB,EAAI,IAAM5wB,GACH5qB,IAAA,MAMLuqK,GAAQ,SAAS3/I,EAAG4X,GAAA,IAClBj0B,EAAKqc,GAAK,EACd1kB,OAAO+a,eAAejhB,KAAM,IAAK,CAC/BujB,YAAA,EACApgB,IAAK,kBACIoL,CAAA,EAETxK,IAAK,SAAS6mB,GACPkmB,MAAMlmB,KACTrc,EAAKsiC,WAAWjmB,GAAA,QAKlBzK,EAAKqiB,GAAK,EACdt8B,OAAO+a,eAAejhB,KAAM,IAAK,CAC/BujB,YAAA,EACApgB,IAAK,kBACIgd,CAAA,EAETpc,IAAK,SAAS6mB,GACPkmB,MAAMlmB,KACTzK,EAAK0wB,WAAWjmB,GAAA,QAKlB5pB,EAAQ,YACZkF,OAAO+a,eAAejhB,KAAM,OAAQ,CAClCujB,YAAA,EACApgB,IAAK,kBACInC,CAAA,EAET+C,IAAK,SAAS6mB,GACZ5pB,EAAQ4pB,EAAM2e,UAAA,IAGXvpC,IAAA,EAMLyqK,GAAY,SAAS7/I,EAAG4X,EAAGj0B,EAAG4R,GAChCoqJ,GAAM7gK,KAAK1J,KAAM4qB,EAAG4X,GAAA,KACfz9B,KAAO,WAER/D,EAAKuN,GAAK,EACdrI,OAAO+a,eAAejhB,KAAM,IAAK,CAC/BujB,YAAA,EACApgB,IAAK,kBACInC,CAAA,EAET+C,IAAK,SAAS6mB,GACPkmB,MAAMlmB,KACT5pB,EAAK6vC,WAAWjmB,GAAA,QAKlB3X,EAAKkN,GAAK,SACdja,OAAO+a,eAAejhB,KAAM,IAAK,CAC/BujB,YAAA,EACApgB,IAAK,kBACI8P,CAAA,EAETlP,IAAK,SAAS6mB,GACPkmB,MAAMlmB,KACT3X,EAAK49B,WAAWjmB,GAAA,IAKf5qB,IAAA,EAOLo2K,GAAe,gBACZp7D,KAAO/7D,GAAA,KACPo3H,YAAcn3J,EAAA,KACduuJ,MAAQpyH,EAAMtnC,MAAM,QACpBuiK,aAAeh2H,GAAavsC,MAAM,QAClCkhC,EAAIoK,GAAA,KACJ9K,EAAIuK,GAAA,KACJgsC,OAAS3rC,GAAA,KACT0E,MAAQ0yH,GAAar3J,GAAA,KACrB4kC,OAASuiH,GAAcnnJ,GAAA,KACvBs3J,kBAAoB/6H,EAAA,KAEpBhqC,GAAK,QACLsxJ,cAAgB,GAGvBqT,GAAa18I,UAAU83E,QAAU,WAC/BvyD,GAAOj/C,KAAKg7G,KACZ97F,EAAclf,KAAKq2K,YACnB/1H,GAAetgD,KAAKs2K,aACpBj7H,EAAQr7C,KAAKytK,MACbpuH,GAAQr/C,KAAKi1C,EACb6J,GAAQ9+C,KAAKu0C,EACb4K,GAAan/C,KAAK8qF,OAClB2rF,GAAav3J,EAAalf,KAAK6jD,OAC/B6yH,GAAcx3J,EAAalf,KAAK8jD,QAChCrI,EAAoBz7C,KAAKw2K,iBAAA,MAGvBtL,GAAuB,SAAStgJ,EAAG4X,EAAGj0B,EAAO4R,EAAQnf,GAEvD0+C,GAAkBn/C,KAAK,IAAI61K,IAG3Bn3H,GAAO//B,EAAc,EACrBm8B,EAAQ,GACRgE,GAAQz0B,EACRk0B,GAAQtc,EAER2c,GAAan+C,EAEbskD,GAAU,CAAC/2C,EAAO4R,GAAA,EAGhBw2J,GAAgB,SAAS/rJ,GAAA,GAEvB60B,GAAgB70B,GAClB80B,GAAkBt+C,MAAMowG,cAAA,KAKtBhvE,EAAa,IAAI4zI,GAEjB7nK,EAAY,MAAQrI,OAAO/B,KAAKk8C,IAAen/C,OAAS,GAAGqoC,SAAS,IACxE/G,EAAW/wB,GAAKlD,EAEhBkxC,GAAgB70B,GAAOrc,EACvB8xC,GAAc9xC,GAAai0B,EAE3B+Z,GAAO49E,QAAQ,gBAAiB33F,GAGhCkd,GAAkBt+C,MAAMowG,SAAA,OAoIrB,IAAIolE,MAhHTriI,EAAIsiI,gBAAkB,SAASjsJ,EAAG4X,EAAGj0B,EAAO4R,EAAQnf,GAAA,OAQlDkqK,GAAqBtgJ,EAAG4X,EAAGj0B,EAAO4R,EAAQnf,GACnChB,IAAA,EAWTu0C,EAAIuiI,cAAgB,SAASlsJ,GAAA,OAC3B+rJ,GAAc/rJ,GACP5qB,IAAA,EAeTu0C,EAAIwiI,aAAe,SAASnsJ,EAAK4X,GAAA,IAC3Bj0B,EAAU8xC,GAAcZ,GAAgB70B,IAAA,OAC5C4wB,EAAI,KACJA,EAAIhZ,EAAO+G,WAAa,OACxBiS,EAAI,IAAMjtC,EAAQkD,GAAK,OACvB+pC,EAAI,KACGx7C,IAAA,EAYTu0C,EAAIyiI,cAAgB,SAASpsJ,GAAA,IACvB4X,EAAU6d,GAAcZ,GAAgB70B,IAAA,MACrC,CACLqqB,EAAGzS,EAAQyS,EACXV,EAAG/R,EAAQ+R,EACXsP,MAAOrhB,EAAQqhB,MACfC,OAAQthB,EAAQshB,OAChBgnC,OAAQtoD,EAAQsoD,OAAA,EAepBv2C,EAAI88D,KAAO,SAASzmF,EAAU4X,GAAA,OAC5B5X,EAAWA,GAAY,iBAEvB4X,EAAUA,GAAW,CAAC,GACdy0I,cAAgBz0I,EAAQy0I,gBAAA,GAAiB,IAE7Cz0I,EAAQy0I,eACVh2K,GAAOmlD,GAAQD,MAAkBv7B,GACJ,mBAAlB3pB,GAAOi2K,QACZ/2J,GAAa8nB,YACfA,WAAWhnC,GAAOi2K,OAAQ,KAGvBl3K,MAEA,IAAIiR,SAAQ,SAASuxB,EAASj0B,GAAA,QAE7BvN,EAASC,GAAOmlD,GAAQD,MAAkBv7B,GACjB,mBAAlB3pB,GAAOi2K,QACZ/2J,GAAa8nB,YACfA,WAAWhnC,GAAOi2K,OAAQ,KAG9B10I,EAAQxhC,EAAA,CACR,MAAO4pB,GACPrc,EAAOqc,EAAEkkH,QAAA,MAUEp6F,GAAM03H,IACnB13H,GAAM03H,IAAItlK,eAAe8vK,MACZ,WAAXA,IAAuBliI,GAAM03H,IAAI93B,OAAOpzI,OAAA,SAChC0pB,EAAQ4X,GAAA,IAMZj0B,EAAW4R,EAAkBnf,EAAA,IAE5BA,EAAIwhC,EAAUthC,OAAS,GAAU,IAAPF,EAAUA,IAMvCuN,EAAYi0B,EAAUxhC,GAAG,GACzBmf,EAAmBqiB,EAAUxhC,GAAG,GAChC4pB,EAAOiuG,UAAUhyH,MACf+jB,EACA,CAACrc,GAAWiK,OACkB,mBAArB2H,EACH,CAACA,GACDA,GAAA,CAtB8B,CA0BvCo8B,GAAQ7H,GAAM03H,IAAI93B,QAErB//F,EAAIqiI,IAAUliI,GAAM03H,IAAIwK,KAAA,IAK1BL,GAAgBhiI,EAAI4iI,aAAe,SAASvsJ,GAAA,OAG3C01B,GAFH11B,EAAaA,GAAc1L,GAECytJ,SAASG,UACjCxsH,GAAa11B,GAAY+hJ,SAASC,aACpC5wH,EAAA,EAIAy6H,GAAgBliI,EAAI6iI,aAAe,SAASxsJ,EAAY4X,GAC1D8d,GAAa11B,GAAY+hJ,SAASG,UAChCtqI,EAAQwZ,GAAcsE,GAAa11B,GAAY+hJ,SAASC,WAAA,EAGxDvG,GAAiB9xH,EAAI8iI,cAAgB,SAASzsJ,GAAA,OAG7C01B,GAFH11B,EAAaA,GAAc1L,GAECytJ,SAASI,UACjCzsH,GAAa11B,GAAY+hJ,SAASE,aACpC7wH,EAAA,EAIA06H,GAAiBniI,EAAI+iI,cAAgB,SAAS1sJ,EAAY4X,GAC5D8d,GAAa11B,GAAY+hJ,SAASI,UAChCvqI,EAAQwZ,GAAcsE,GAAa11B,GAAY+hJ,SAASE,WAAA,SAQ5Dt4H,EAAI8mE,SAAW,CACbkzD,UAAWnqH,GACXutH,SAAUl/B,GACVugC,QAASx+G,GACT+xG,YAAarqH,GACb60H,aAAciE,GACdF,aAAcD,GACdrB,cAAeD,GACfK,oBAAqBD,GACrBP,aAAcD,GACdjhG,MAAOr2B,GACPg4H,wBAAyB5/G,GACzB6/G,sBAAuBzC,GACvBkG,oBAAqBxD,GACrBG,4BAA6BD,GAC7BuD,YAAa,CAAC,EACdpM,UAAWzqH,GACX2qH,oBAAqBpsH,GACrBmsH,kBAAmB5qH,GACnBg3H,uBAAwBz2H,GACxB6qH,WAAYzqH,GACZ0qH,UAAW3qH,GACXmzF,OAAQ/3F,GACR+zH,YAAat0H,GACb++D,SAAU,CACR1qD,SAAU,kBACDkmH,GAAar3J,EAAA,EAEtBw4J,SAAU,SAAS9sJ,GACjB6rJ,GAAav3J,EAAa0L,EAAA,EAE5B+sJ,UAAW,kBACFtR,GAAcnnJ,EAAA,EAEvB04J,UAAW,SAAShtJ,GAClB8rJ,GAAcx3J,EAAa0L,EAAA,GAG/BitJ,kBAAmBhzJ,EACnB4+I,WAAY57G,GACZiwH,aAAc3vH,GACdw3D,OAAQt4D,GACRi0D,iBAAkB53D,GAClB+pH,MAAOpyH,EACP24G,IAAKx4G,EACLwrH,GAAIluH,EACJmuH,GAAItyH,EACJk7H,YAAaroH,GACbsoH,mBAAoBxoH,GACpByoH,mBAAoB3nH,GACpB2vH,cAAeliI,EACfmiI,MAAOzN,GACP0N,UAAWxN,GACXC,OAAQlqH,GACR03H,UAAWhwH,IAGbhiD,OAAO+a,eAAeszB,EAAI8mE,SAASN,SAAU,QAAS,CACpD53G,IAAK,kBACIozK,GAAar3J,EAAA,EAEtBnb,IAAK,SAAS6mB,GACZ6rJ,GAAav3J,EAAa0L,EAAA,EAE5BrH,YAAA,EACAC,cAAA,IAEFtd,OAAO+a,eAAeszB,EAAI8mE,SAASN,SAAU,SAAU,CACrD53G,IAAK,kBACIkjK,GAAcnnJ,EAAA,EAEvBnb,IAAK,SAAS6mB,GACZ8rJ,GAAcx3J,EAAa0L,EAAA,EAE7BrH,YAAA,EACAC,cAAA,IAOFihC,GAAS/6C,KAAK6qC,EAAKuH,IACnBkD,GAAgB,KAChBqF,GAASxrB,EAAQ73B,GAEjBu7C,GAAO49E,QAAQ,eACR5lF,CAAA,CF51LTe,GAAY5b,UAAUipI,aAAe,SAAS/3I,GAAA,OACrC7jB,OAAO08D,aACE,IAAb74C,EACAA,GAAQ,EAAK,IACbA,GAAQ,GAAM,IACdA,GAAQ,GAAM,MAYnB0qB,GAAY5b,UAAUm0I,YAAc,SAASjjJ,GAAA,OACpCA,EACJyO,MAAM,IACNhzB,KAAI,SAASukB,GAAA,OACJ,KAA4B,IAArBA,EAAK8iB,WAAW,IAAWnE,SAAS,KAAKx1B,OAAO,MAEhEi2B,KAAK,KAWVsL,GAAY5b,UAAUkpI,WAAa,SAASh4I,GAAA,IACrC,IAAI4X,EAAQ,GAAIj0B,EAAI,EAAGA,EAAIqc,EAAI1pB,OAAQqN,GAAK,EAC/Ci0B,EAAMjiC,KAAKwG,OAAO08D,aAAarzB,SAASxlB,EAAI47E,OAAOj4F,EAAG,GAAI,aACrDi0B,EAAMwH,KAAK,KAYpBsL,GAAY5b,UAAU+oI,qBAAuB,SAC3C73I,EACA4X,GAAA,OAGOoT,GADGX,GAAOzS,GAAqBgkE,OAAO,EAAG,GAChC57E,EAAA,EAiBlB0qB,GAAY5b,UAAUwyI,UAAY,SAASthJ,EAAU4X,GAAA,IAC/Cj0B,EAAM0mC,GACRj1C,KAAK0iK,cACH37J,OAAO08D,aACM,IAAX74C,EACCA,GAAY,EAAK,IACjBA,GAAY,GAAM,IACN,IAAb4X,EACCA,GAAc,EAAK,MAExBgkE,OAAO,EAAG,WACL,SAAS57E,GAAA,OACPgrB,GAAIrnC,EAAKqc,EAAA,GExCpBgK,GAAO8E,UAAUs8I,OAAS,SAAgBxzI,GAAA,IAEpCj0B,EADA4R,EAAS,6BAERqiB,IAAS5X,EAAAA,EAAAA,GAAO4X,MAAA5X,EAAAA,EAAAA,GAAiB5qB,MAAM,OAAO,MAC/CgB,EAAQ,MACPuN,KAAKvO,KAAM,KACVmgB,EAAO3N,QAAQjE,IAAM,OACrBvO,KAAK8G,eAAeyH,KAAOi0B,EAAM17B,eAAeyH,GAAI,OAAO,KAC3DvO,KAAKuO,KAAOi0B,EAAMj0B,GAAI,OAAO,EACjCvN,GAAA,KAEGuN,KAAKi0B,EACJA,EAAM17B,eAAeyH,IAAM4R,EAAO3N,QAAQjE,GAAK,GAAGvN,IAAA,OAEvC,IAAVA,CAAA,EA6zLT0zC,GAAM03H,IAAM,CACV93B,OAAQ,IAQV5/F,GAAMztB,QAAU,QCz7LhB,IAAI8xB,GAAWrE,GAAM03H,IACjBt2H,GAAc,EAEdgD,GAAY,SAASluB,GAAA,OAChBA,EACJ9U,QAAQ,MAAO,QACfA,QAAQ,MAAO,OACfA,QAAQ,MAAO,QAEhB6+B,GAAc,SAAS/pB,GAAA,OAClBA,EACJ9U,QAAQ,QAAS,MACjBA,QAAQ,QAAS,KACjBA,QAAQ,QAAS,MAGlB2jC,GAAK,SAAS7uB,GAAA,OACTA,EAAOk8I,QAAQ,IAGpBzuH,GAAK,SAASztB,GAAA,OACTA,EAAOk8I,QAAQ,IAGxB/tH,GAASo/H,aAAe,CAAC,EACzB,IAAInhI,GAAU,SAASpsB,EAAO4X,GAC5B5X,EAAM8O,UAAYxzB,OAAO+Y,OAAOujB,EAAO9I,WACvC9O,EAAM8O,UAAU55B,YAAc8qB,CAAA,EAG5B6sB,GAAQ,SAAS7sB,GAAA,OACZA,EAAIkrB,EAAA,EAGTkD,GAAoB,SAASpuB,GAAA,IAC3B4X,EAAO,IAAIoZ,GACXrtC,EAAS8tC,GAAmBg/D,SAASs8D,UAAU/sJ,IAAe,EAC9DzK,EAAQk8B,GAAmBg/D,SAAShrD,SAASzlC,IAAe,SAChE4X,EAAK41I,KAAO,CAAC,EAAG,EAAG5yK,OAAOi0C,GAAGt5B,IAAS3a,OAAOi0C,GAAGlrC,KACzCi0B,CAAA,EAMLkX,GAAUX,GAASo/H,aAAaE,OAAS,SAASztJ,EAAQ4X,GAAA,GAC5D5X,EAASA,GAAU,EACnB4X,EAAcA,GAAe,EAEzBsO,MAAMlmB,IAAWkmB,MAAMtO,GAAA,MACnB,IAAI2U,MACR,oEAKJvsB,EAFc,GAAK4X,CAAA,EAOjB+W,GAAYR,GAASo/H,aAAaG,SAAW,SAAS1tJ,EAAQ4X,GAAA,GAChE5X,EAASA,GAAU,EACnB4X,EAAcA,GAAe,EAEzBsO,MAAMlmB,IAAWkmB,MAAMtO,GAAA,MACnB,IAAI2U,MACR,sEAKJvsB,IAFc,GAAK4X,EAAA,EAOjBmX,GAAUZ,GAASo/H,aAAaI,OAAS,SAAS3tJ,EAAQ4X,GAAA,GACxDsO,MAAMlmB,IAAWkmB,MAAMtO,GAAA,MACnB,IAAI2U,MACR,oEAGqC,IAAjCvsB,EAAU,GAAK4X,GAAsB,EAAI,GAM/C8W,GAAgBP,GAASo/H,aAAaK,aAAe,SACvD5tJ,EACA4X,GAAA,GAEIsO,MAAMlmB,IAAWkmB,MAAMtO,GAAA,MACnB,IAAI2U,MACR,0EAGGwC,GAAO/uB,EAAQ4X,EAAc,IAGlCyW,GAAgBF,GAASo/H,aAAaM,aAAe,SACvD7tJ,EACA4X,GAAA,GAEIsO,MAAMlmB,IAAWkmB,MAAMtO,GAAA,MACnB,IAAI2U,MACR,0EAGGuC,GAAO9uB,EAAQ4X,EAAc,IAGlCoX,GAAkBb,GAASo/H,aAAaO,eAAiB,SAC3D9tJ,EACA4X,GAAA,GAEIsO,MAAMlmB,IAAWkmB,MAAMtO,GAAA,MACnB,IAAI2U,MACR,4EAGGoC,GAAS3uB,EAAQ4X,EAAc,IAGpCtjB,GAAwB65B,GAASo/H,aAAaQ,qBAAuB,SACvE/tJ,EACA4X,GAAA,IAEIj0B,EAA0Bi0B,EAAM64E,SAASw4D,wBACzC1zJ,EAAwBqiB,EAAM64E,SAASy4D,sBACvC9yK,EAAI4pB,EAAK,GACT3X,EAAI2X,EAAK,GACTwM,EAAIxM,EAAK,GACTiO,EAAIjO,EAAK,GAETtH,EAAc,CAAC,EAAD,OAElBA,EAAYs1J,YAAcrqK,EAAwBvN,IAAM,EACxDsiB,EAAYu1J,YAAc14J,EAAsBlN,EAAI4lB,IAAM,EAC1DvV,EAAYw1J,aAAevqK,EAAwBvN,EAAIo2B,IAAM,EAC7D9T,EAAYy1J,aAAe54J,EAAsBlN,IAAM,EAEhD,CACLzN,OAAOi0C,GAAGn2B,EAAYs1J,cACtBpzK,OAAOi0C,GAAGn2B,EAAYu1J,cACtBrzK,OAAOi0C,GAAGn2B,EAAYw1J,eACtBtzK,OAAOi0C,GAAGn2B,EAAYy1J,eAAA,EAItB7/H,GAA4B,SAAStuB,GAAA,GACnCA,EAAWouJ,wBAAA,OACNpuJ,EAAWouJ,wBAAA,GAGfpuJ,EAAWouB,GAAMpuB,EAAWquJ,GAAA,KAM7Bz2I,EAAS,GACTj0B,EAAOqc,EAAWsuJ,IAAMtuJ,EAAWquJ,GACnC94J,EAAU05B,GAAWjvB,EAAYrc,GACjCvN,EAAU4pB,EAAWrpB,MAAM85G,SAAS23D,QACtCpoJ,EAAWkjJ,SACXljJ,EAAW4hE,WACX/6E,GAGF+wB,EAAOjiC,KAAK,WACZiiC,EAAOjiC,KAAK,KACZiiC,EAAOjiC,KAAK,MACZiiC,EAAOjiC,KAAKqqB,EAAWrpB,MAAM2iK,YAAYuH,kBAAkB7gJ,EAAWmtD,QACtEv1C,EAAOjiC,KAAK,IAAMS,EAAU,IAAMy4C,GAAGt5B,EAAQqpE,UAAY,OACzDhnD,EAAOjiC,KAAK,kBACZiiC,EAAOjiC,KAAK4f,EAAQsgB,MACpB+B,EAAOjiC,KAAK,MACZiiC,EAAOjiC,KAAK,KACZiiC,EAAOjiC,KAAK,WAER0S,EAA0B+lC,GAAkBpuB,GAAA,OAChD3X,EAAwB1R,MAAQqpB,EAAWrpB,MAC3C0R,EAAwBglJ,OAASz1H,EAAOwH,KAAK,MACtC/2B,CAAA,GAGL4mC,GAAa,SAASjvB,EAAY4X,GAAA,IAChCj0B,EACsB,IAAxBqc,EAAW4+D,SAAiB5+D,EAAWuuJ,YAAcvuJ,EAAW4+D,SAC9DrpE,EAAc,CAChBsgB,KAAM,GACN+oD,SAAU,IASRxoF,GALJwhC,EACkC,MAFlCA,EAA4B,KAArBA,EAAKgkE,OAAO,EAAG,GAAYhkE,EAAKgkE,OAAO,GAAKhkE,GAE5CgkE,OAAOhkE,EAAKthC,OAAS,GACtBshC,EAAKgkE,OAAO,EAAGhkE,EAAKthC,OAAS,GAC7BshC,GAEenJ,MAAM,KAEzBr4B,EADE4pB,EAAWgkG,UACD5tH,EAAUqF,KAAI,SAAAukB,GAAA,OAAQA,EAAKyO,MAAM,SAEjCr4B,EAAUqF,KAAI,SAAAukB,GAAA,MAAQ,CAACA,EAAA,QAGjC3X,EAAW1E,EAIX6oB,EAASilB,GAAmBg/D,SAASs8D,UAAU/sJ,IAAe,EAClEwM,EAASA,EAAS,GAAKA,EAASA,EAAA,IAC5ByB,EAAQwjB,GAAmBg/D,SAAShrD,SAASzlC,IAAe,EAChEiO,EAAQA,EAAQ,GAAKA,EAAQA,EAAA,IAEzBvV,EAAqB,SAASkf,EAAGj0B,EAAU4R,GAAA,GACzCqiB,EAAI,EAAIxhC,EAAUE,OAAQ,KACxB+R,EAAM1E,EAAW,IAAMvN,EAAUwhC,EAAI,GAAG,UAC5BsX,GAAmB7mC,EAAK2X,EAAYzK,GAAU0jC,OAC7ChrB,EAAQ,UAGlB,EAIX5lB,IACA2X,EAAU,KAAO3X,EAAW,GAAG,CAC7BuvB,EAAO,GACPvvB,IAAA,IAMI6f,EAKAzO,EAVApjB,EAAa64C,GAAmB,IAAKlvB,EAAY3X,GAAU6wC,OAC3D9jC,EAAS4K,EAAWgkG,UACpBx3F,EAASnkB,GACRmkB,EAASn2B,GAAc,EAIxBwoC,EAHJzpB,GA3BgB,EA+BZ3O,EAAkB,EACpBwwB,EAAiB,EAEfhd,EAAW,KAEX5R,GAAY,EAAG,CAGjBuvB,EAAO,aACPA,GACE,oBACAsX,GAAmBtX,EAAM5X,EAJ3B3X,EAAW,IAIsC4wC,MAC/C,gBACAhrB,EACA,WAME,IAAK,IAFPr2B,EAAW,GACX0Q,EAAY,EACDqhC,EAAI,EAAGA,EAAIvzC,EAAUE,OAAQqzC,IAAA,GACtCvzC,EAAU8F,eAAeytC,GAAA,KACvBC,GAAA,EAAgB,GACQ,IAAxBxzC,EAAUuzC,GAAGrzC,QAAgB2jB,IAAa7jB,EAAUuzC,GAAGrzC,OAAS,EAAG,KAElED,EAxDO,IAwDsBiS,EAAY,GAxDlC,EAyDRkkB,EAAA,SAESxM,EAGXpoB,GAAYxB,EAAUuzC,GAAG1vB,GACzB2vB,GAAA,EACA3S,EAAiB0S,EACjBA,GAAA,KACK,CAEL/xC,EAC0C,MAF1CA,GAAYxB,EAAUuzC,GAAG1vB,GAAY,KAE1B2hF,OAAOhkG,EAAStB,OAAS,GAC9BsB,EAASgkG,OAAO,EAAGhkG,EAAStB,OAAS,GACrCsB,EAAA,IACFqzC,EAAMzF,SAASmE,GACfc,EAAoB/xB,EAAmBuyB,EAAKrzC,EAAUyQ,GACtDwhC,EAAaF,GAAKvzC,EAAUE,OAAS,KAErCm0C,IAAsBZ,EAAY,CACpCjyC,GAAY,IACZqiB,EAAW,WAEN,GAAKwwB,GAAsBZ,GAe3B,GAAIA,EACT5S,EAAiBgU,OAAA,GAGfjrB,EAAWgkG,YACV3tH,EApGK,IAoGwBiS,EAAY,GApGpC,EAqGJkkB,EAAA,SAGOxM,MAxBiC,KACvCA,EAAWgkG,UAAA,SACLhkG,EAAA,IAGN3pB,EArFG,IAqF0BiS,EAAY,GArFtC,EAsFJkkB,EAAA,SAISxM,EAEXiX,EAAiBgU,CAAA,UAkBnBZ,EAAO,GAEFM,EAAIlkC,EAAiBkkC,GAAK1T,EAAgB0T,IAAK,KAClD/2B,EAAWxd,EAAUu0C,GAAA,GACrB3qB,EAAWgkG,UAAW,IACpBr5E,IAAM1T,EAAgB,CACxBoT,GAAQz2B,EAASqG,GAAY,IAC7BA,GAAYA,EAAW,GAAKrG,EAAStd,OAAA,YAGnCq0C,IAAMlkC,EAAiB,CACzB4jC,GAAQz2B,EAASA,EAAStd,OAAS,GAAK,cAI5C+zC,GAAQz2B,EAAS,GAAK,WAIxBy2B,EACkC,KAAhCA,EAAKuxD,OAAOvxD,EAAK/zC,OAAS,GACtB+zC,EAAKuxD,OAAO,EAAGvxD,EAAK/zC,OAAS,GAC7B+zC,EAEN5wB,EAAay1B,GAAmB7E,EAAMrqB,EAAY3X,GAAU4wC,MAGpDj5B,EAAWy/D,WAAA,IACZ,QACHv3D,EAAS+F,EAAQxU,EA1IP,YA4IP,SACHyO,GAAU+F,EAAQxU,GAAc,YAE7B,eAEHyO,EAjJU,EAoJd0P,GAAQiX,GAAG3mB,GAAU,IAAM2mB,GAAGhQ,GAAS,QACvCjH,GAAQ,IAAMsW,GAAU7D,GAAQ,SAEhCzS,IAASiX,GAAG3mB,GAAU,UAGtB2W,IAAUx2B,EA3JE,GA8JZoR,EAAa,EACbhT,EAAkBmjC,EAAgB3S,EAAiBA,EAAiB,EACpE3uB,IAEA1Q,EAAW,gBAOjB2d,EAAYsgB,KAAO+B,EACnBriB,EAAYqpE,SAAWv2E,EAEhBkN,CAAA,EAUL25B,GAAqB,SAASlvB,EAAM4X,EAAYj0B,GAAA,IAC9C4R,EAAOqiB,EAAWjhC,MAAM85G,SAAS23D,QACnCxwI,EAAWsrI,SACXtrI,EAAWgqD,WAETxrF,EACFwhC,EAAWjhC,MAAM4vK,mBAAmBvmJ,EAAM,CACxC4nF,KAAMryF,EACNqpE,SAAU34C,WAAWtiC,GACrBsiK,UAAW,IACRhgI,WAAWtiC,GAAA,MASX,CAAEu1C,OAPPthB,EAAWjhC,MAAM4vK,mBAAmB,IAAK,CACvC3+D,KAAMryF,EACNqpE,SAAU34C,WAAWtiC,GACrBsiK,UAAW,IAEbhgI,WAAWtiC,GACX,IACuBs1C,MAAO7iD,EAAA,EAG9Bs6C,GAAyB,CAC3B89H,OAAQ,GACRC,OAAQ,GAMRC,uBAAwB,KAMxBC,YAAA,EACAl+D,SAAU,KACVm+D,eAAA,GAmCEr/H,GAA4B,SAASvvB,EAAQ4X,GAAA,IAC3Cj0B,EAAU,CACZxJ,KAAM,YACNw/G,OAAQ35F,QAAA,IAMR4X,EAAM64E,SACHw0D,YAAYjlJ,EAAOowF,MACnBoyD,YAAYqM,YAAYvkI,MANb,SAAStqB,GAAA,OAChBA,EAAM7lB,OAASwJ,EAAQxJ,MAAQ6lB,EAAM25F,SAAWh2G,EAAQg2G,MAAA,KAO/D/hF,EAAM64E,SACHw0D,YAAYjlJ,EAAOowF,MACnBoyD,YAAYqM,YAAYl5K,KAAKgO,EAAA,EAgKhCwrC,GAA4B,SAASvX,EAAYj0B,GAAA,IAC9C,IAAI4R,KAAKqiB,EAAA,GACRA,EAAW17B,eAAeqZ,GAAI,KAC5Bnf,EAAMmf,EACNlN,EAAcuvB,EAAWriB,GAE7B5R,EAAM8sG,SAASo8D,uBAAuBxkK,EAAYs4J,OAAA,GAGzB,YAAvB3gJ,EAAAA,EAAAA,GAAO3X,IAC0B,mBAA1BA,EAAY64J,WAEnB74J,EAAY64J,mBAEPtpI,EAAWxhC,EAAA,GAKpBu6C,GAAqB,SAAS/Y,EAAOj0B,GAAA,GACvCA,EAAWhN,MAAQihC,OAAA,IAEjBA,EAAM64E,gBAAA,IACL74E,EAAM64E,SAASq+D,iBAAA,IACdl3I,EAAM64E,SAASq+D,eAAeF,eAChC,IACAh+H,GAAcm+H,SAAW,EACzBn3I,EAAM64E,SAASq+D,eAAiBnnI,KAAKgE,MACnChE,KAAKC,UAAU8I,KAEb9Y,EAAM64E,SAASq+D,eAAeJ,uBAAA,MAC1B,IAAIniI,MAAM,+CAElBrB,GAActT,EAAM64E,SAASi1D,YAE7B9tI,EAAM64E,SAASq+D,eAAeJ,uBAAyB,IAAI59H,GAC3DlZ,EAAM64E,SAASq+D,eAAeJ,uBAAuB/3K,MAAQihC,EAG7DA,EAAM64E,SAASq+D,eAAeJ,uBAAuBM,SAAWp3I,EAAM64E,SAASi5B,OAAOzb,UACpF,oBACA,YA7K2B,SAASjuG,GAExCA,EAAMywF,SAASi5B,OAAOuuB,YACpBj4I,EAAMywF,SAASq+D,eAAeJ,uBAAuBM,iBAEhDhvJ,EAAMywF,SAASq+D,eAAeJ,uBAAuBM,SAC5DhvJ,EAAMywF,SAASq+D,eAAeH,YAAA,CAAa,CANZ,CA8KE/2I,EAAA,IAI/BA,EAAM64E,SAASi5B,OAAOzb,UAAU,iBAAiB,YA7PxB,SAASjuG,GAEpCA,EAAMywF,SAASq+D,eAAeJ,uBAAuB/N,WAAA,EAAQ,IACzD/oI,EAAS5X,EAAMywF,SAASq+D,eAAeJ,uBAAuBO,OAAA,IAC7D,IAAItrK,KAAKi0B,EAAA,GACRA,EAAO17B,eAAeyH,GAAI,KACxB4R,EAAaqiB,EAAOj0B,GAExB4R,EAAWorJ,WAAA,EAEPprJ,EAAW25J,eAGb3/H,GAA0Bh6B,EAAYyK,EAAA,EAbjB,CA8PA4X,EAAA,IAMzBA,EAAM64E,SAASi5B,OAAOzb,UAAU,cAAc,YA/MzB,SAASjuG,GAAA,YAGvBA,EAAMywF,SAASq+D,eAAeJ,uBAAA,MAW/B,IAAIniI,MAAM,qCARhBvsB,EAAMywF,SAASnpC,MACb,aACEtnD,EAAMywF,SAASq+D,eAAeJ,uBAAuB/N,MADvD,QAPmB,CAgNA/oI,EAAA,IAIrBA,EAAM64E,SAASi5B,OAAOzb,UAAU,gBAAgB,SAAStqH,IA/KnC,SAASi0B,EAAYj0B,GAAA,IACzC4R,GAAkBqiB,EAAA,IAgBjB,IAAIxhC,KAdJwhC,IAIHj0B,EAAM8sG,SAASo8D,uBACblpK,EAAM8sG,SAASq+D,eAAeJ,uBAAuB/N,OAAA,GAGvDh9J,EAAM8sG,SAASq+D,eAAeJ,uBAAuBxN,aAGvDtpI,EACEA,GAAcj0B,EAAM8sG,SAASq+D,eAAeJ,uBAAuBS,KAAA,GAG/Dv3I,EAAW17B,eAAe9F,GAAI,KAC5BiS,EAAcuvB,EAAWxhC,GACzBo2B,EAAe,GACfyB,EAAU5lB,EAAY+mK,KAAA,GAEtB/mK,EAAY+mK,OACd/mK,EAAY+mK,KAAO96J,GAAqBjM,EAAY+mK,KAAMzrK,IAI5DA,EAAM8sG,SAASo8D,uBAAuBxkK,EAAYs4J,OAAA,GAElDt4J,EAAYgnK,GAAK59H,GAAmB69H,8BAClCjnK,GAIuB,YAAvB2X,EAAAA,EAAAA,GAAO3X,IACyC,mBAAzCA,EAAYknK,2BAEnB/iJ,EAAenkB,EAAYknK,4BAG7BlnK,EAAY+mK,KAAOnhJ,EAGjB5lB,EAAYmnK,sBACXnnK,EAAY+lK,wBACb,KAEI11J,EAAa41B,GAA0BjmC,GAC3CmkB,EAAa72B,KAAK,CAAEyE,IAAK,KAAMjC,MAAO,QAAUugB,EAAa,OAE7D/U,EAAM8sG,SAASq+D,eAAeL,OAAO94K,KAAK+iB,EAAA,IAKxCrQ,EAAY+lK,wBAAyB,KACnClmJ,EAAyB,OAExB,IAAIzO,KAAKpR,EAAY+lK,wBAAA,GACpB/lK,EAAY+lK,wBAAwBlyK,eAAeud,GAAI,KACrDpjB,EAAQgS,EAAY+lK,wBAAwB30J,GAAA,GAChDyO,GAA0B,IAAMzO,EAAI,IACpCyO,GAA0B,KACtB5sB,OAAO/B,KAAKlD,GAAOC,QAAU,GAAKsc,MAAMlY,QAAQrE,IAAA,IAE7C,IAAID,KAAKC,EAAA,GACRA,EAAM6F,eAAe9F,GAAI,KACvBgf,EAAM/e,EAAMD,GACG,mBAARgf,IAGTA,EAAMA,EAAItW,KAAK6E,EAAO0E,IAExB6f,GAA0B,IAAM9xB,EAAI,IAAMgf,EAAM,IAI1CzR,EAAM8sG,SAASq+D,eAAeL,OAAO7mK,QAAQwN,IAAQ,GACzDzR,EAAM8sG,SAASq+D,eAAeL,OAAO94K,KAAKyf,EAAA,MAK7B,mBADnBA,EAAM/e,KAIJ+e,EAAMA,EAAItW,KAAK6E,EAAO0E,IAExB6f,GAA0B,IAAM9xB,EAAI,IAAMgf,EACpCzR,EAAM8sG,SAASq+D,eAAeL,OAAO7mK,QAAQwN,IAAQ,GACzDzR,EAAM8sG,SAASq+D,eAAeL,OAAO94K,KAAKyf,GAE9C8S,GAA0B,KAK9BsE,EAAa72B,KAAK,CAChByE,IAAK,KACLjC,MAAO,OAAS+vB,EAAyB,OAI7CvkB,EAAM8sG,SAASywD,UAAU,CACvBK,oBAAqB/0I,EACrB60I,SAAUh5J,EAAYs4J,QAGxBh9J,EAAM8sG,SAAS24C,IAAI,UAGnB7zI,GACF45B,GAA0BxrC,EAAM8sG,SAASq+D,eAAeL,OAAQ9qK,EAAA,CAjH1C,CAgLAA,EAAYi0B,EAAA,IAGlCA,EAAM64E,SAASq+D,eAAeF,eAAA,CAAgB,GAK9Cn+H,GAAmBtC,GAASo/H,aAAakC,gBAAkB,SAC7D73I,EACAj0B,EACA4R,GAAA,IAEInf,EAAY,SAAS4pB,GAAA,OAChBA,CAAA,KAELpN,MAAMlY,QAAQk9B,GAAQ,SACpBvvB,EAAU,IACLmkB,EAAI,EAAGA,EAAIoL,EAAMthC,OAAQk2B,IAAA,OACtB,IAANA,IACFnkB,GAAW,MAAA2X,EAAAA,EAAAA,GAEE4X,EAAMpL,KAAA,IACd,cACA,aACA,SACHnkB,GAAWuvB,EAAMpL,GAAGmS,WAAA,UAEjB,SAC2B,MAA1B/G,EAAMpL,GAAGovE,OAAO,EAAG,aACVj4F,GAAyB4R,IAClCnf,EAAYmf,EAAMk7F,SAASy8D,aAAavpK,IAC1C0E,GAAW,IAAM6lC,GAAU93C,EAAUwhC,EAAMpL,GAAGmS,aAAe,KAE7Dt2B,GAAWuvB,EAAMpL,GAAGmS,WAAA,OAK5Bt2B,EAAW,UAGP,IAAIkkC,MACR,kEAoBAiD,GAAc,SAASxvB,EAAQ4X,EAAOj0B,GAAA,IACpC4R,EAAY,SAASyK,GAAA,OAChBA,CAAA,kBAEE4X,GAAyBj0B,IAClC4R,EAAY5R,EAAM8sG,SAASy8D,aAAat1I,KAC1C5X,EAASA,GAAU,IACZ2e,WACE,IAAMuP,GAAU34B,EAAUyK,IAAW,KAY5C6wB,GAAoB,gBACjB6+H,YAAA,EAAS,KACTC,YAAA,EAMLr0K,OAAO+a,eAAejhB,KAAM,QAAS,CACnCmD,IAAK,uBACQnD,KAAKs6K,OAAwB,aAC3Bt6K,KAAKuB,MAAA,YAGX+4K,OAASt6K,KAAKuB,MAAM85G,SAASgwD,mBAAA,QAE7BrrK,KAAKs6K,MAAA,EAEdv2K,IAAK,SAAS6mB,GAAA,KACP0vJ,OAAS1vJ,CAAA,IAGlB1kB,OAAO+a,eAAejhB,KAAM,QAAS,CACnC+C,MAAO/C,KAAKu6K,OACZ3pI,UAAA,GAAU,EAOd6K,GAAkB/hB,UAAU6P,SAAW,kBAC9BvpC,KAAKurK,MAAQ,QAGtB9vH,GAAkB/hB,UAAUoyI,UAAY,eAClClhJ,EAAe5qB,KAAKm6K,2BAAA,KACnB54K,MAAM85G,SAASywD,UAAU,CAC5Bx0J,KAAMtX,KAAKi4J,OACXkU,oBAAqBvhJ,EACrBqhJ,SAAUjsK,KAAKurK,QAAA,KAEZhqK,MAAM85G,SAAS24C,IAAI,WAS1Bv4G,GAAkB/hB,UAAUygJ,yBAA2B,eACjDvvJ,EAAe,GACf4X,EAAOt8B,OAAOC,oBAAoBnG,MAAMoG,QAAO,SAASwkB,GAAA,MAEjD,WAAPA,GACO,2BAAPA,GACO,SAAPA,GACO,SAAPA,GACuB,KAAvBA,EAAI8sD,UAAU,EAAG,UAIhB,IAAInpE,KAAKi0B,EAAA,QACRt8B,OAAO29G,yBAAyB7jH,KAAMwiC,EAAKj0B,IAAIiV,aAAwB,KACrErD,EAAMqiB,EAAKj0B,GACXvN,EAAQhB,KAAKmgB,GAEbnf,IACEwc,MAAMlY,QAAQtE,GAChB4pB,EAAarqB,KAAK,CAChByE,IAAKmb,EACLpd,MAAOs4C,GAAgBr6C,EAAOhB,KAAKurK,MAAOvrK,KAAKuB,SAExCP,aAAiBy6C,IAG1Bz6C,EAAMO,MAAQvB,KAAKuB,MACnBqpB,EAAarqB,KAAK,CAAEyE,IAAKmb,EAAKpd,MAAO/B,EAAMuqK,MAAQ,UACzB,mBAAVvqK,GAChB4pB,EAAarqB,KAAK,CAAEyE,IAAKmb,EAAKpd,MAAO/B,IAAA,QAKtC4pB,CAAA,EAGT,IAAIgxB,GAAkB,WACpBH,GAAkB/xC,KAAK1J,MAEvBkG,OAAO+a,eAAejhB,KAAM,OAAQ,CAClC+C,MAAO,WACPygB,cAAA,EACAotB,UAAA,IAGF1qC,OAAO+a,eAAejhB,KAAM,UAAW,CACrC+C,MAAO,QACPygB,cAAA,EACAotB,UAAA,IAGF1qC,OAAO+a,eAAejhB,KAAM,WAAY,CACtC+C,MAAO,EACPygB,cAAA,EACAotB,UAAA,IAAU,IAoBRhmB,EAjBA4X,EAAQ,GACZt8B,OAAO+a,eAAejhB,KAAM,OAAQ,CAClCwjB,cAAA,EACArgB,IAAK,kBACIq/B,CAAA,EAETz+B,IAAK,SAAS6mB,GACZ4X,EAAQ5X,CAAA,IAIZ1kB,OAAO+a,eAAejhB,KAAM,YAAa,CACvC+C,MAAO,QACPygB,cAAA,EACAotB,UAAA,IAIF1qC,OAAO+a,eAAejhB,KAAM,SAAU,CACpCujB,YAAA,EACAC,cAAA,EACAzf,IAAK,SAASy+B,GACZ5X,EAAU4X,EAAMtuB,MAAA,EAElB/Q,IAAK,kBACCynB,GAGK,SAMfosB,GAAQ4E,GAAiBH,IAEzB,IAAIC,GAAqB,WACvBD,GAAkB/xC,KAAK1J,MAAA,IAwBnB4qB,EAtBA4X,EAAQ,GAEZt8B,OAAO+a,eAAejhB,KAAM,OAAQ,CAClCujB,YAAA,EACAC,cAAA,EACArgB,IAAK,kBACCq/B,EAAMthC,OAAS,EACVshC,OAAA,KAMbt8B,OAAO+a,eAAejhB,KAAM,SAAU,CACpCujB,YAAA,EACAC,cAAA,EACArgB,IAAK,kBACIq/B,CAAA,IAMXt8B,OAAO+a,eAAejhB,KAAM,KAAM,CAChCujB,YAAA,EACAC,cAAA,EACArgB,IAAK,cACEynB,EAAA,KAGD4X,EAAY,SAAS5X,GAAA,OAChBA,CAAA,SAEL5qB,KAAKuB,QAAOihC,EAAYxiC,KAAKuB,MAAM85G,SAASy8D,aAAa93K,KAAKurK,QAC3D,IAAMzyH,GAAUtW,EAAU5X,IAAQ,MAE3C7mB,IAAK,SAASy+B,GACZ5X,EAAM4X,CAAA,KAKZwU,GAAQ0E,GAAoBD,IAQ5B,IAAID,GAAgB,SAAhB5wB,IACF6wB,GAAkB/xC,KAAK1J,MAAA,IAGnBwiC,EAAK,EACTt8B,OAAO+a,eAAejhB,KAAM,IAAK,CAC/BujB,YAAA,EACAC,cAAA,EACArgB,IAAK,kBACIq/B,CAAA,EAETz+B,IAAK,SAAS6mB,GAAA,GACPkmB,MAAMlmB,GAAA,MAGH,IAAIusB,MACR,kBAAoBvsB,EAAQ,+BAH9B4X,EAAK5X,CAAA,IAiBX1kB,OAAO+a,eAAejhB,KAAM,kBAAmB,CAC7CujB,YAAA,EACAC,cAAA,EACArgB,IAAK,kBACIknB,QAAQivB,GAAa9W,EAAI,KAElCz+B,IAAK,SAAS6mB,IAAA,IACRP,QAAQO,GAAA,KACL8rB,EAAIuC,GAAazW,EAAI,QAErBkU,EAAIkD,GAAepX,EAAI,UAK9Bj0B,EAAM,EACVrI,OAAO+a,eAAejhB,KAAM,KAAM,CAChCujB,YAAA,EACAC,cAAA,EACArgB,IAAK,kBACIoL,CAAA,EAETxK,IAAK,SAAS6mB,GAAA,GACPkmB,MAAMlmB,GAAA,MAGH,IAAIusB,MACR,kBAAoBvsB,EAAQ,gCAH9Brc,EAAMqc,CAAA,QASRzK,EAAQ,GACZja,OAAO+a,eAAejhB,KAAM,OAAQ,CAClCujB,YAAA,EACAC,cAAA,EACArgB,IAAK,cACkB,IAAjBgd,EAAMjf,OAAA,OAGHif,CAAA,EAETpc,IAAK,SAAS6mB,GAEVzK,OAAA,IADSyK,EACDA,EAEA,MAYd1kB,OAAO+a,eAAejhB,KAAM,IAAK,CAC/BujB,YAAA,EACAC,cAAA,EACArgB,IAAK,kBACEgd,GAAS2wB,MAAM3wB,EAAM,IACjB,EAEFA,EAAM,IAEfpc,IAAK,SAAS6mB,GACZzK,EAAM,GAAKyK,CAAA,IAWf1kB,OAAO+a,eAAejhB,KAAM,IAAK,CAC/BujB,YAAA,EACAC,cAAA,EACArgB,IAAK,kBACEgd,GAAS2wB,MAAM3wB,EAAM,IACjB,EAEFA,EAAM,IAEfpc,IAAK,SAAS6mB,GACZzK,EAAM,GAAKyK,CAAA,IAWf1kB,OAAO+a,eAAejhB,KAAM,QAAS,CACnCujB,YAAA,EACAC,cAAA,EACArgB,IAAK,kBACEgd,GAAS2wB,MAAM3wB,EAAM,IACjB,EAEFA,EAAM,IAEfpc,IAAK,SAAS6mB,GACZzK,EAAM,GAAKyK,CAAA,IAWf1kB,OAAO+a,eAAejhB,KAAM,SAAU,CACpCujB,YAAA,EACAC,cAAA,EACArgB,IAAK,kBACEgd,GAAS2wB,MAAM3wB,EAAM,IACjB,EAEFA,EAAM,IAEfpc,IAAK,SAAS6mB,GACZzK,EAAM,GAAKyK,CAAA,QAIX5pB,EAAM,GACVkF,OAAO+a,eAAejhB,KAAM,KAAM,CAChCujB,YAAA,EACAC,cAAA,EACArgB,IAAK,kBACInC,CAAA,EAET+C,IAAK,SAAS6mB,GAAA,OACJA,GAAA,IACD,WACA,UACA,UACA,OACH5pB,EAAM4pB,EAAA,oBAGA,IAAIusB,MACR,kBAAoBvsB,EAAQ,wCAMlC3X,EAAK,KAET/M,OAAO+a,eAAejhB,KAAM,IAAK,CAC/BujB,YAAA,EACAC,cAAA,EACArgB,IAAK,eACE8P,GAAMA,EAAG/R,OAAS,EAAG,IAEpBlB,gBAAgBm8C,GAAA,OAGpBlpC,EAAK,cAAgB2X,EAAc+uJ,UAAA,KAEjCn3I,EAAY,SAAS5X,GAAA,OAChBA,CAAA,SAEL5qB,KAAKuB,QAAOihC,EAAYxiC,KAAKuB,MAAM85G,SAASy8D,aAAa93K,KAAKurK,QAC3D,IAAMzyH,GAAUtW,EAAUvvB,IAAO,KAE1ClP,IAAK,SAAS6mB,GACZ3X,EAAK2X,EAAM2e,UAAA,IAWfrjC,OAAO+a,eAAejhB,KAAM,YAAa,CACvCwjB,cAAA,EACAD,YAAA,EACApgB,IAAK,kBACI8P,CAAA,EAETlP,IAAK,SAAS6mB,GACZ3X,EAAK2X,CAAA,QAILwM,EAAY,YAQhBlxB,OAAO+a,eAAejhB,KAAM,WAAY,CACtCujB,YAAA,EACAC,cAAA,EACArgB,IAAK,kBACIi0B,CAAA,EAETrzB,IAAK,SAAS6mB,GACZwM,EAAYxM,CAAA,QAIZiO,EAAa,SAQjB3yB,OAAO+a,eAAejhB,KAAM,YAAa,CACvCujB,YAAA,EACAC,cAAA,EACArgB,IAAK,kBACI01B,CAAA,EAET90B,IAAK,SAAS6mB,GACZiO,EAAajO,CAAA,QAIbtH,EAAY,EAQhBpd,OAAO+a,eAAejhB,KAAM,WAAY,CACtCujB,YAAA,EACAC,cAAA,EACArgB,IAAK,kBACImgB,CAAA,EAETvf,IAAK,SAAS6mB,GACZtH,EAAYsH,CAAA,QAIZkI,OAAA,EAQJ5sB,OAAO+a,eAAejhB,KAAM,cAAe,CACzCujB,YAAA,EACAC,cAAA,EACArgB,IAAK,2BACC2vB,EAGK,GAAKgjB,GAELhjB,CAAA,EAGX/uB,IAAK,SAAS6mB,GACZkI,EAAelI,CAAA,QAIfvG,EAAS,QAQbne,OAAO+a,eAAejhB,KAAM,QAAS,CACnCujB,YAAA,EACAC,cAAA,EACArgB,IAAK,kBACIkhB,CAAA,EAETtgB,IAAK,SAAS6mB,GACZvG,EAASuG,CAAA,QAIT3pB,EAAM,eAEViF,OAAO+a,eAAejhB,KAAM,KAAM,CAChCujB,YAAA,EACAC,cAAA,EACArgB,IAAK,iBAEAlC,GACDjB,gBAAgBm8C,IAChBn8C,gBAAgBo/C,IAAA,OAIXhF,GAAYn5C,EAAKjB,KAAKurK,MAAOvrK,KAAKuB,MAAA,EAE3CwC,IAAK,SAAS6mB,GACZA,EAAQA,EAAM2e,WACdtoC,EAAM2pB,CAAA,QAIN5K,EAAM,KACV9Z,OAAO+a,eAAejhB,KAAM,KAAM,CAChCujB,YAAA,EACAC,cAAA,EACArgB,IAAK,cACE6c,EAAA,OAGDhgB,gBAAgBg3B,IAAA,EACXojB,GAAYp6B,EAAKhgB,KAAKurK,MAAOvrK,KAAKuB,OAEpCye,CAAA,EAETjc,IAAK,SAAS6mB,GACZA,EAAQA,EAAM2e,WAGVvpB,EAFAhgB,gBAAgBg3B,IAAA,EACS,MAAvBpM,EAAM47E,OAAO,EAAG,GACZ7xD,GAAY/pB,EAAM47E,OAAO,EAAG57E,EAAM1pB,OAAS,IAE3CyzC,GAAY/pB,GAGdA,CAAA,IAYZ1kB,OAAO+a,eAAejhB,KAAM,eAAgB,CAC1CujB,YAAA,EACAC,cAAA,EACArgB,IAAK,kBACCnD,gBAAgBg3B,IAAA,EACX2d,GAAY30B,EAAIwmF,OAAO,EAAGxmF,EAAI9e,OAAS,IAEvC8e,CAAA,EAGXjc,IAAK,SAAS6mB,GACZA,EAAQA,EAAM2e,WAEZvpB,EADEhgB,gBAAgBg3B,IAAA,EACZ,IAAMpM,EAENA,CAAA,QAKR6e,EAAK,KACTvjC,OAAO+a,eAAejhB,KAAM,KAAM,CAChCujB,YAAA,EACAC,cAAA,EACArgB,IAAK,cACEsmC,EAAA,OAGEA,CAAA,EAET1lC,IAAK,SAAS6mB,GAAA,KACPouB,EAAIpuB,CAAA,IAGb1kB,OAAO+a,eAAejhB,KAAM,IAAK,CAC/BujB,YAAA,EACAC,cAAA,EACArgB,IAAK,cACEsmC,EAAA,OAGDzpC,gBAAgBg3B,IAAA,EACXojB,GAAY3Q,EAAIzpC,KAAKurK,MAAOvrK,KAAKuB,OAEnCkoC,CAAA,EAET1lC,IAAK,SAAS6mB,GACZA,EAAQA,EAAM2e,WAGVE,EAFAzpC,gBAAgBg3B,IAAA,EACS,MAAvBpM,EAAM47E,OAAO,EAAG,GACb7xD,GAAY/pB,EAAM47E,OAAO,EAAG57E,EAAM1pB,OAAS,IAE3CyzC,GAAY/pB,GAGdA,CAAA,IAYX1kB,OAAO+a,eAAejhB,KAAM,QAAS,CACnCujB,YAAA,EACAC,cAAA,EACArgB,IAAK,kBACCnD,gBAAgBg3B,IAAA,EACX2d,GAAYlL,EAAG+8D,OAAO,EAAG/8D,EAAGvoC,OAAS,IAErCuoC,CAAA,EAGX1lC,IAAK,SAAS6mB,GACZA,EAAQA,EAAM2e,WAEZE,EADEzpC,gBAAgBg3B,IAAA,EACb,IAAMpM,EAENA,CAAA,IAYX1kB,OAAO+a,eAAejhB,KAAM,gBAAiB,CAC3CujB,YAAA,EACAC,cAAA,EACArgB,IAAK,kBACInD,KAAKg6K,IAAA,IAIhB9zK,OAAO+a,eAAejhB,KAAM,OAAQ,CAClCujB,YAAA,EACAC,cAAA,EACArgB,IAAK,kBACInD,KAAK85K,cAAgB,SAAW,QAI3C5zK,OAAO+a,eAAejhB,KAAM,UAAW,CACrCujB,YAAA,EACAC,cAAA,EACArgB,IAAK,kBACInD,KAAK85K,cAAgB,UAAY,YA8BxCzoK,EA1BAwwB,GAAA,EAQJ37B,OAAO+a,eAAejhB,KAAM,sBAAuB,CACjDujB,YAAA,EACAC,cAAA,EACArgB,IAAK,kBACI0+B,CAAA,EAET99B,IAAK,SAAS6mB,GACZA,EAAQP,QAAQO,GAChBiX,EAAuBjX,CAAA,IAW3B1kB,OAAO+a,eAAejhB,KAAM,OAAQ,CAClCujB,YAAA,EACAC,cAAA,EACArgB,IAAK,cACEkO,EAAA,OAGEA,CAAA,EAETtN,IAAK,SAAS6mB,GACZvZ,EAAQuZ,CAAA,IAWZ1kB,OAAO+a,eAAejhB,KAAM,WAAY,CACtCujB,YAAA,EACAC,cAAA,EACArgB,IAAK,kBACIknB,QAAQivB,GAAat5C,KAAKw6K,GAAI,KAEvCz2K,IAAK,SAAS6mB,IAAA,IACRP,QAAQO,GAAA,KACL4vJ,GAAKvhI,GAAaj5C,KAAKw6K,GAAI,QAE3BA,GAAK5gI,GAAe55C,KAAKw6K,GAAI,MAYxCt0K,OAAO+a,eAAejhB,KAAM,WAAY,CACtCujB,YAAA,EACAC,cAAA,EACArgB,IAAK,kBACIknB,QAAQivB,GAAat5C,KAAKw6K,GAAI,KAEvCz2K,IAAK,SAAS6mB,IAAA,IACRP,QAAQO,GAAA,KACL4vJ,GAAKvhI,GAAaj5C,KAAKw6K,GAAI,QAE3BA,GAAK5gI,GAAe55C,KAAKw6K,GAAI,MAYxCt0K,OAAO+a,eAAejhB,KAAM,WAAY,CACtCujB,YAAA,EACAC,cAAA,EACArgB,IAAK,kBACIknB,QAAQivB,GAAat5C,KAAKw6K,GAAI,KAEvCz2K,IAAK,SAAS6mB,IAAA,IACRP,QAAQO,GAAA,KACL4vJ,GAAKvhI,GAAaj5C,KAAKw6K,GAAI,QAE3BA,GAAK5gI,GAAe55C,KAAKw6K,GAAI,UAKpC31J,EAAK,KACT3e,OAAO+a,eAAejhB,KAAM,IAAK,CAC/BujB,YAAA,EACAC,cAAA,EACArgB,IAAK,cACQ,OAAP0hB,EAAA,OAGGA,CAAA,EAET9gB,IAAK,SAAS6mB,GAAA,IACsB,IAA9B,CAAC,EAAG,EAAG,GAAGpY,QAAQoY,GAAA,MAGd,IAAIusB,MACR,kBAAoBvsB,EAAQ,+BAH9B/F,EAAK+F,CAAA,IAiBX1kB,OAAO+a,eAAejhB,KAAM,YAAa,CACvCmD,IAAK,eACCynB,EAAA,OACI/F,GAAA,KACD,UAEH+F,EAAS,kBAEN,EACHA,EAAS,oBAEN,EACHA,EAAS,eAGNA,CAAA,EAETpH,cAAA,EACAD,YAAA,EACAxf,IAAK,SAAS6mB,GAAA,OACJA,GAAA,IACD,aACA,EACH/F,EAAK,YAEF,cACA,EACHA,EAAK,YAEF,YACA,UAEHA,EAAK,OAMfmyB,GAAQwE,GAAeC,IAAA,IAMnBI,GAAsB,WACxBL,GAAc9xC,KAAK1J,MAAAA,KAEdy6K,GAAK,WAELzhI,EAAI,UAEJ80H,SAAW,mBAEZljJ,EAAM,EAEV1kB,OAAO+a,eAAejhB,KAAM,KAAM,CAChCujB,YAAA,EACAC,cAAA,EACArgB,IAAK,kBACIynB,CAAA,EAET7mB,IAAK,SAASy+B,GACZ5X,EAAM4X,CAAA,IAWVt8B,OAAO+a,eAAejhB,KAAM,WAAY,CACtCujB,YAAA,EACAC,cAAA,EACArgB,IAAK,kBACIynB,CAAA,EAET7mB,IAAK,SAASy+B,GACZ5X,EAAM4X,CAAA,QAINA,EAAO,GACXt8B,OAAO+a,eAAejhB,KAAM,MAAO,CACjCujB,YAAA,EACAC,cAAA,EACArgB,IAAK,kBACIk4C,GAAgB7Y,EAAMxiC,KAAKurK,MAAOvrK,KAAKuB,MAAA,EAEhDwC,IAAK,SAAS6mB,GA97BU,IAASrc,EAC/B4R,EAAAA,EAAS,GACQ,iBAFc5R,EA+7BFqc,KA57B/BzK,EAZJ,SAAoByK,EAAQ4X,EAAOj0B,GACjCA,IAAUA,EAAQ,WAEd4R,EADAnf,EAAU,GAENmf,EAAQqiB,EAAMymF,KAAKr+F,IACzB5pB,EAAQT,KAAK4f,EAAM5R,IAAA,OAEdvN,CAAA,CAPT,CAYwBuN,EAAO,eA47BzBi0B,EA17BGriB,CAAA,SAq8BFu6J,WAAa,kBACTl4I,CAAA,OAUJuoB,WAAa,SAASngC,GACzB4X,EAAO5X,EACH5qB,KAAKgT,MACPwvB,EAAKxvB,MAAA,OAWJ2nK,UAAY,SAAS/vJ,GAExBA,GADAA,EAAQA,GAAS,IACH2e,WACd/G,EAAKjiC,KAAKqqB,GACN5qB,KAAKgT,MACPwvB,EAAKxvB,MAAA,OAYJ4nK,aAAe,SAAShwJ,EAAOrc,GAAA,IAClCA,EAAaA,IAAA,EAEbqc,GADAA,EAAQA,GAAS,IACH2e,YAEkB,IAAzB/G,EAAKhwB,QAAQoY,KAClB4X,EAAKpwB,OAAOowB,EAAKhwB,QAAQoY,GAAQ,QAC7Brc,KAAA,EAaRrI,OAAO+a,eAAejhB,KAAM,QAAS,CACnCujB,YAAA,EACAC,cAAA,EACArgB,IAAK,kBACIknB,QAAQivB,GAAat5C,KAAKw6K,GAAI,MAEvCz2K,IAAK,SAAS6mB,IAAA,IACRP,QAAQO,GAAA,KACL4vJ,GAAKvhI,GAAaj5C,KAAKw6K,GAAI,SAE3BA,GAAK5gI,GAAe55C,KAAKw6K,GAAI,OAYxCt0K,OAAO+a,eAAejhB,KAAM,OAAQ,CAClCujB,YAAA,EACAC,cAAA,EACArgB,IAAK,kBACIknB,QAAQivB,GAAat5C,KAAKw6K,GAAI,MAEvCz2K,IAAK,SAAS6mB,IAAA,IAER5qB,KAAK66K,SAAA,IACHxwJ,QAAQO,GAAA,KACL4vJ,GAAKvhI,GAAaj5C,KAAKw6K,GAAI,SAE3BA,GAAK5gI,GAAe55C,KAAKw6K,GAAI,QAa1Ct0K,OAAO+a,eAAejhB,KAAM,OAAQ,CAClCujB,YAAA,EACAC,cAAA,EACArgB,IAAK,kBACIknB,QAAQivB,GAAat5C,KAAKw6K,GAAI,MAEvCz2K,IAAK,SAAS6mB,IAAA,IACRP,QAAQO,IAAA,KACL4vJ,GAAKvhI,GAAaj5C,KAAKw6K,GAAI,IAChCh4I,EAAKxvB,QAAA,KAEAwnK,GAAK5gI,GAAe55C,KAAKw6K,GAAI,OAYxCt0K,OAAO+a,eAAejhB,KAAM,cAAe,CACzCujB,YAAA,EACAC,cAAA,EACArgB,IAAK,kBACIknB,QAAQivB,GAAat5C,KAAKw6K,GAAI,MAEvCz2K,IAAK,SAAS6mB,IAAA,IACRP,QAAQO,GAAA,KACL4vJ,GAAKvhI,GAAaj5C,KAAKw6K,GAAI,SAE3BA,GAAK5gI,GAAe55C,KAAKw6K,GAAI,OAYxCt0K,OAAO+a,eAAejhB,KAAM,kBAAmB,CAC7CujB,YAAA,EACAC,cAAA,EACArgB,IAAK,kBACIknB,QAAQivB,GAAat5C,KAAKw6K,GAAI,MAEvCz2K,IAAK,SAAS6mB,IAAA,IACRP,QAAQO,GAAA,KACL4vJ,GAAKvhI,GAAaj5C,KAAKw6K,GAAI,SAE3BA,GAAK5gI,GAAe55C,KAAKw6K,GAAI,OAaxCt0K,OAAO+a,eAAejhB,KAAM,oBAAqB,CAC/CujB,YAAA,EACAC,cAAA,EACArgB,IAAK,kBACIknB,QAAQivB,GAAat5C,KAAKw6K,GAAI,MAEvCz2K,IAAK,SAAS6mB,IAAA,IACRP,QAAQO,GAAA,KACL4vJ,GAAKvhI,GAAaj5C,KAAKw6K,GAAI,SAE3BA,GAAK5gI,GAAe55C,KAAKw6K,GAAI,YAKnCJ,qBAAA,CAAsB,EAE7BpjI,GAAQ6E,GAAqBL,IAAA,IAOzBG,GAAkB,WACpBE,GAAoBnyC,KAAK1J,MAAAA,KACpB8tK,SAAW,iBAGX+M,OAAA,CAAQ,EAEf7jI,GAAQ2E,GAAiBE,IAAA,IAQrBC,GAAmB,WACrBH,GAAgBjyC,KAAK1J,MAAAA,KAChB66K,OAAA,CAAQ,EAEf7jI,GAAQ8E,GAAkBH,IAAA,IAStBI,GAAkB,WACpBD,GAAiBpyC,KAAK1J,MAAAA,KACjB86K,MAAA,CAAO,EAEd9jI,GAAQ+E,GAAiBD,IAAA,IAMrB9kB,GAAiB,WACnBwkB,GAAc9xC,KAAK1J,MAAAA,KACdy6K,GAAK,OAQVv0K,OAAO+a,eAAejhB,KAAM,gBAAiB,CAC3CujB,YAAA,EACAC,cAAA,EACArgB,IAAK,kBACIknB,QAAQivB,GAAat5C,KAAKw6K,GAAI,MAEvCz2K,IAAK,SAAS6mB,IAAA,IACRP,QAAQO,GAAA,KACL4vJ,GAAKvhI,GAAaj5C,KAAKw6K,GAAI,SAE3BA,GAAK5gI,GAAe55C,KAAKw6K,GAAI,OAWxCt0K,OAAO+a,eAAejhB,KAAM,QAAS,CACnCujB,YAAA,EACAC,cAAA,EACArgB,IAAK,kBACIknB,QAAQivB,GAAat5C,KAAKw6K,GAAI,MAEvCz2K,IAAK,SAAS6mB,IAAA,IACRP,QAAQO,GAAA,KACL4vJ,GAAKvhI,GAAaj5C,KAAKw6K,GAAI,SAE3BA,GAAK5gI,GAAe55C,KAAKw6K,GAAI,OAWxCt0K,OAAO+a,eAAejhB,KAAM,aAAc,CACxCujB,YAAA,EACAC,cAAA,EACArgB,IAAK,kBACIknB,QAAQivB,GAAat5C,KAAKw6K,GAAI,MAEvCz2K,IAAK,SAAS6mB,IAAA,IACRP,QAAQO,GAAA,KACL4vJ,GAAKvhI,GAAaj5C,KAAKw6K,GAAI,SAE3BA,GAAK5gI,GAAe55C,KAAKw6K,GAAI,OAWxCt0K,OAAO+a,eAAejhB,KAAM,gBAAiB,CAC3CujB,YAAA,EACAC,cAAA,EACArgB,IAAK,kBACIknB,QAAQivB,GAAat5C,KAAKw6K,GAAI,MAEvCz2K,IAAK,SAAS6mB,IAAA,IACRP,QAAQO,GAAA,KACL4vJ,GAAKvhI,GAAaj5C,KAAKw6K,GAAI,SAE3BA,GAAK5gI,GAAe55C,KAAKw6K,GAAI,WAyDpCh4I,EApDAj0B,EAAM,CAAC,EACXrI,OAAO+a,eAAejhB,KAAM,KAAM,CAChCujB,YAAA,EACAC,cAAA,EACArgB,IAAK,eACCynB,EAAY,SAASA,GAAA,OAChBA,CAAA,KAEL5qB,KAAKuB,QAAOqpB,EAAY5qB,KAAKuB,MAAM85G,SAASy8D,aAAa93K,KAAKurK,QAClC,IAA5BrlK,OAAO/B,KAAKoK,GAAKrN,OAAc,KAG7BshC,EAFAriB,EAAS,OAGRqiB,KAFLriB,EAAO5f,KAAK,MAEAgO,EACV4R,EAAO5f,KAAK,IAAMiiC,EAAM,KAAOsW,GAAUluB,EAAUrc,EAAIi0B,KAAS,YAElEriB,EAAO5f,KAAK,MACL4f,EAAO6pB,KAAK,QAIvBjmC,IAAK,SAASy+B,GACS,YAAjB5X,EAAAA,EAAAA,GAAO4X,KACTj0B,EAAMi0B,EAAA,IAgBZt8B,OAAO+a,eAAejhB,KAAM,UAAW,CACrCujB,YAAA,EACAC,cAAA,EACArgB,IAAK,kBACIoL,EAAIwsK,IAAM,IAEnBh3K,IAAK,SAAS6mB,GACS,iBAAVA,IACTrc,EAAIwsK,GAAKnwJ,EAAA,IAMf1kB,OAAO+a,eAAejhB,KAAM,KAAM,CAChCujB,YAAA,EACAC,cAAA,EACArgB,IAAK,kBACIq/B,CAAA,EAETz+B,IAAK,SAAS6mB,GACZ4X,EAAM5X,CAAA,IAUV1kB,OAAO+a,eAAejhB,KAAM,kBAAmB,CAC7CujB,YAAA,EACAC,cAAA,EACArgB,IAAK,kBACIq/B,EAAIgkE,OAAO,EAAGhkE,EAAIthC,OAAS,IAEpC6C,IAAK,SAAS6mB,GACZ4X,EAAM,IAAM5X,CAAA,KAIlBosB,GAAQhgB,GAAgBwkB,IAAA,IAOpBU,GAAqB,WACvBllB,GAAettB,KAAK1J,MAAAA,KACfg7K,YAAA,CAAa,EAEpBhkI,GAAQkF,GAAoBllB,IAAA,IAOxBilB,GAAsB,WACxBjlB,GAAettB,KAAK1J,MAAAA,KACfqnI,OAAA,EAAQ,KACR2zC,YAAA,EAAa,IAEdpwJ,EAAQ,GACZ1kB,OAAO+a,eAAejhB,KAAM,OAAQ,CAClCujB,YAAA,EACAC,cAAA,EACArgB,IAAK,kBACIynB,CAAA,EAET7mB,IAAK,SAASy+B,GAEV5X,OAAA,IADS4X,EACDA,EAEA,OAKhBwU,GAAQiF,GAAqBjlB,IAS7B,IAAImlB,GAAqB,eAGnB3Z,EAYAj0B,EAdJitC,GAAc9xC,KAAK1J,MAGnBkG,OAAO+a,eAAejhB,KAAM,SAAU,CACpCujB,YAAA,EACAC,cAAA,EACArgB,IAAK,kBACIq/B,CAAA,EAETz+B,IAAK,SAAS6mB,GACZ4X,EAAU5X,CAAA,IAKd1kB,OAAO+a,eAAejhB,KAAM,aAAc,CACxCujB,YAAA,EACAC,cAAA,EACArgB,IAAK,kBACIoL,CAAA,EAETxK,IAAK,SAAS6mB,GACZrc,EAAcqc,CAAA,QAqDdzK,EAjDAnf,EAAM,CAAC,EACXkF,OAAO+a,eAAejhB,KAAM,KAAM,CAChCujB,YAAA,EACAC,cAAA,EACArgB,IAAK,eACCynB,EAAY,SAASA,GAAA,OAChBA,CAAA,EAEL5qB,KAAKuB,QAAOqpB,EAAY5qB,KAAKuB,MAAM85G,SAASy8D,aAAa93K,KAAKurK,QAAA,IAG9D/oI,EAFAj0B,EAAS,OAGRi0B,KAFLj0B,EAAOhO,KAAK,MAEAS,EACVuN,EAAOhO,KAAK,IAAMiiC,EAAM,KAAOsW,GAAUluB,EAAU5pB,EAAIwhC,KAAS,YAElEj0B,EAAOhO,KAAK,MACLgO,EAAOy7B,KAAK,OAErBjmC,IAAK,SAASy+B,GACS,YAAjB5X,EAAAA,EAAAA,GAAO4X,KACTxhC,EAAMwhC,EAAA,IAgBZt8B,OAAO+a,eAAejhB,KAAM,UAAW,CACrCujB,YAAA,EACAC,cAAA,EACArgB,IAAK,kBACInC,EAAI+5K,IAAM,IAEnBh3K,IAAK,SAAS6mB,GACS,iBAAVA,IACT5pB,EAAI+5K,GAAKnwJ,EAAA,IAMf1kB,OAAO+a,eAAejhB,KAAM,KAAM,CAChCujB,YAAA,EACAC,cAAA,EACArgB,IAAK,kBACIgd,CAAA,EAETpc,IAAK,SAAS6mB,GACZzK,EAAMyK,CAAA,IAUV1kB,OAAO+a,eAAejhB,KAAM,kBAAmB,CAC7CujB,YAAA,EACAC,cAAA,EACArgB,IAAK,kBACIgd,EAAIqmF,OAAO,EAAGrmF,EAAIjf,OAAS,IAEpC6C,IAAK,SAAS6mB,GACZzK,EAAM,IAAMyK,CAAA,SAGXsoH,QAAU,SACV+nC,gBAAkB,WAGlBC,gBAAkB7+H,GAAmB8+H,YAAYC,OAAA,KAEjDpC,wBAA0Bh5K,KAAKk7K,gBAAgBG,uBAClDr7K,KAAKs7K,WAAA,EAGTtkI,GAAQmF,GAAoBX,IAE5BS,GAAoBviB,UAAU6hJ,cAAgB,SAAS3wJ,GAAA,KAC/C,2BAA4BA,MAAc,UAAWA,GAAA,MACnD,IAAIusB,MACR,0EAGC,IAAI3U,KAASxiC,KAAK+5K,KAAA,GACjB/5K,KAAK+5K,KAAKjzK,eAAe07B,GAAQ,KAC/Bj0B,EAAQvO,KAAK+5K,KAAKv3I,GACtBj0B,EAAMyqK,wBAA0BpuJ,EAAWywJ,uBACzC9sK,EAAM+sK,YAER/sK,EAAM2kI,QAAUtoH,EAAW4wJ,OAAA,GAKjCv/H,GAAoBviB,UAAU+hJ,aAAe,SAAS7wJ,GAAA,IAEhD4X,EAAQ,IAAI2Z,GAAA,OAChB3Z,EAAMk5I,OAAS17K,KACfwiC,EAAM84I,WAAa1wJ,EAAA,KAEdmvJ,KAAKx5K,KAAKiiC,GAEfya,GAASvzC,KAAK1J,KAAKuB,MAAOihC,GAEnBA,CAAA,MAQL4Z,GAAmB,WACrBplB,GAAettB,KAAK1J,MAAAA,KAEf8tK,SAAW,oBACX56B,QAAU,SACV+nC,gBAAkB,UAClBl4K,MAAQ,UACRsnF,UAAY,cACZ2uF,wBAA0B38H,GAAmBs/H,SAASN,wBAAA,EAE7DrkI,GAAQoF,GAAkBplB,IAAA,IAMtBooB,GAAoB,WACtB5D,GAAc9xC,KAAK1J,MAAAA,KACdy6K,GAAK,MAQVv0K,OAAO+a,eAAejhB,KAAM,YAAa,CACvCujB,YAAA,EACAC,cAAA,EACArgB,IAAK,kBACIknB,QAAQivB,GAAat5C,KAAKw6K,GAAI,MAEvCz2K,IAAK,SAAS6mB,IAAA,IACRP,QAAQO,GAAA,KACL4vJ,GAAKvhI,GAAaj5C,KAAKw6K,GAAI,SAE3BA,GAAK5gI,GAAe55C,KAAKw6K,GAAI,OAWxCt0K,OAAO+a,eAAejhB,KAAM,aAAc,CACxCujB,YAAA,EACAC,cAAA,EACArgB,IAAK,kBACIknB,QAAQivB,GAAat5C,KAAKw6K,GAAI,MAEvCz2K,IAAK,SAAS6mB,IAAA,IACRP,QAAQO,GAAA,KACL4vJ,GAAKvhI,GAAaj5C,KAAKw6K,GAAI,SAE3BA,GAAK5gI,GAAe55C,KAAKw6K,GAAI,OAWxCt0K,OAAO+a,eAAejhB,KAAM,kBAAmB,CAC7CujB,YAAA,EACAC,cAAA,EACArgB,IAAK,kBACIknB,QAAQivB,GAAat5C,KAAKw6K,GAAI,MAEvCz2K,IAAK,SAAS6mB,IAAA,IACRP,QAAQO,GAAA,KACL4vJ,GAAKvhI,GAAaj5C,KAAKw6K,GAAI,SAE3BA,GAAK5gI,GAAe55C,KAAKw6K,GAAI,OAWxCt0K,OAAO+a,eAAejhB,KAAM,cAAe,CACzCujB,YAAA,EACAC,cAAA,EACArgB,IAAK,kBACIknB,QAAQivB,GAAat5C,KAAKw6K,GAAI,MAEvCz2K,IAAK,SAAS6mB,IAAA,IACRP,QAAQO,GAAA,KACL4vJ,GAAKvhI,GAAaj5C,KAAKw6K,GAAI,SAE3BA,GAAK5gI,GAAe55C,KAAKw6K,GAAI,OAWxCt0K,OAAO+a,eAAejhB,KAAM,OAAQ,CAClCujB,YAAA,EACAC,cAAA,EACArgB,IAAK,kBACIknB,QAAQivB,GAAat5C,KAAKw6K,GAAI,MAEvCz2K,IAAK,SAAS6mB,IAAA,IACRP,QAAQO,GAAA,KACL4vJ,GAAKvhI,GAAaj5C,KAAKw6K,GAAI,SAE3BA,GAAK5gI,GAAe55C,KAAKw6K,GAAI,OAWxCt0K,OAAO+a,eAAejhB,KAAM,WAAY,CACtCujB,YAAA,EACAC,cAAA,EACArgB,IAAK,kBACIknB,QAAQivB,GAAat5C,KAAKw6K,GAAI,MAEvCz2K,IAAK,SAAS6mB,IAAA,IACRP,QAAQO,GAAA,KACL4vJ,GAAKvhI,GAAaj5C,KAAKw6K,GAAI,SAE3BA,GAAK5gI,GAAe55C,KAAKw6K,GAAI,WAKpC5vJ,EAAU,KACd1kB,OAAO+a,eAAejhB,KAAM,SAAU,CACpCujB,YAAA,EACAC,cAAA,EACArgB,IAAK,kBACIynB,CAAA,EAET7mB,IAAK,SAASy+B,GACZ5X,EAAU4X,CAAA,IAUdt8B,OAAO+a,eAAejhB,KAAM,YAAa,CACvCujB,YAAA,EACAC,cAAA,EACArgB,IAAK,kBACIynB,CAAA,EAET7mB,IAAK,SAASy+B,GACRh9B,OAAOo2K,UAAUp5I,KACnB5X,EAAU4X,EAAA,IAKhBt8B,OAAO+a,eAAejhB,KAAM,sBAAuB,CACjDujB,YAAA,EACAC,cAAA,EACArgB,IAAK,kBACInD,KAAKg5C,GAAKh5C,KAAKi5K,EAAA,KAI5BjiI,GAAQoI,GAAmB5D,IAAA,IAOvBuD,GAAwB,WAC1BK,GAAkB11C,KAAK1J,MASvBkG,OAAO+a,eAAejhB,KAAM,WAAY,CACtCujB,YAAA,EACAC,cAAA,EACArgB,IAAK,kBACIknB,QAAQivB,GAAat5C,KAAKw6K,GAAI,MAEvCz2K,IAAK,SAAS6mB,IAAA,IACRP,QAAQO,GAAA,KACL4vJ,GAAKvhI,GAAaj5C,KAAKw6K,GAAI,SAE3BA,GAAK5gI,GAAe55C,KAAKw6K,GAAI,YAInChzC,UAAA,CAAW,EAElBxwF,GAAQ+H,GAAuBK,IAAA,IAG3B/C,GAAqB,CACvBs/H,SAAU,CACRN,uBAAwB,iBACL,CACfxlI,EAAG,CACDgc,GAAIxV,GAAmBs/H,SAASE,WAElC/lI,EAAG,CACD+b,GAAIxV,GAAmBs/H,SAASG,YAChCC,IAAK1/H,GAAmBs/H,SAASK,aAAA,EAWvCF,YAAa,SAASlxJ,GAAA,IAChB4X,EAAOwW,GAAkBpuB,GAC7B4X,EAAKjhC,MAAQqpB,EAAWrpB,MAAA,IACpBgN,EAAS,GACT4R,EAAUyK,EAAWrpB,MAAM85G,SAAS23D,QACtCpoJ,EAAWkjJ,SACXljJ,EAAW4hE,WACX/6E,GACEzQ,EAAe4pB,EAAWrpB,MAAM2iK,YAAYuH,kBAC9C7gJ,EAAWmtD,OAET9kE,EAAU4mC,GAAWjvB,EAAYA,EAAWsoH,SAAA,OAChD3kI,EAAOhO,KAAK,cACZgO,EAAOhO,KACL,OACEk5C,GAAG4C,GAAmBg/D,SAAShrD,SAASzlC,IACxC,IACA6uB,GAAG4C,GAAmBg/D,SAASs8D,UAAU/sJ,IACzC,OAEJrc,EAAOhO,KAAK,KACZgO,EAAOhO,KAAK,OACZgO,EAAOhO,KAAK,KACZgO,EAAOhO,KAAK,YACZgO,EAAOhO,KACL,IAAM4f,EAAU,IAAMs5B,GAAGxmC,EAAQu2E,UAAY,OAASxoF,GAExDuN,EAAOhO,KAAK,MACZgO,EAAOhO,KAAK0S,EAAQwtB,MACpBlyB,EAAOhO,KAAK,MACZgO,EAAOhO,KAAK,KACZgO,EAAOhO,KAAK,OACZiiC,EAAKy1H,OAAS1pJ,EAAOy7B,KAAK,MACnBxH,CAAA,EAGTq5I,UAAW,SAASjxJ,GAAA,IACd4X,EAAOwW,GAAkBpuB,GAC7B4X,EAAKjhC,MAAQqpB,EAAWrpB,MAAA,IACpBgN,EAAUqc,EAAWrpB,MAAM85G,SAAS23D,QACtCpoJ,EAAWkjJ,SACXljJ,EAAW4hE,WACX/6E,GACE0O,EAAeyK,EAAWrpB,MAAM2iK,YAAYuH,kBAC9C7gJ,EAAWmtD,OAET/2E,EAAS,GACTiS,EAASopC,GAAmBg/D,SAASs8D,UAAU/sJ,GAC/CwM,EAAQilB,GAAmBg/D,SAAShrD,SAASzlC,GAC7CiO,EAAUghB,GAAWjvB,EAAYA,EAAWsoH,SAAA,OAChDlyI,EAAOT,KAAK,OACZS,EAAOT,KAAK,OAASk5C,GAAGriB,GAAS,IAAMqiB,GAAGxmC,GAAU,OACpDjS,EAAOT,KAAK,KACZS,EAAOT,KAAK,KACZS,EAAOT,KAAK,YACZS,EAAOT,KAAK,OAASk5C,GAAGriB,EAAQ,GAAK,IAAMqiB,GAAGxmC,EAAS,GAAK,OAC5DjS,EAAOT,KAAK,KACZS,EAAOT,KAAK,KACZS,EAAOT,KAAK,OACZS,EAAOT,KAAK,MACZS,EAAOT,KACL,IAAMgO,EAAU,IAAMkrC,GAAG5gB,EAAQ2wD,UAAY,OAASrpE,GAExDnf,EAAOT,KAAKs4B,EAAQ4H,MACpBz/B,EAAOT,KAAK,MACZS,EAAOT,KAAK,KACZiiC,EAAKy1H,OAASj3J,EAAOgpC,KAAK,MACnBxH,CAAA,EAQTw5I,YAAa,SAASpxJ,GAAA,IAChB4X,EAAOwW,GAAkBpuB,GAC7B4X,EAAKjhC,MAAQqpB,EAAWrpB,MAAA,IACpBgN,EAAS,UACbA,EAAOhO,KAAK,cACZgO,EAAOhO,KACL,OACEk5C,GAAG4C,GAAmBg/D,SAAShrD,SAASzlC,IACxC,IACA6uB,GAAG4C,GAAmBg/D,SAASs8D,UAAU/sJ,IACzC,OAEJrc,EAAOhO,KAAK,KACZiiC,EAAKy1H,OAAS1pJ,EAAOy7B,KAAK,MACnBxH,CAAA,GAIX24I,YAAa,CACXC,OAAQ,CACNC,uBAAwB,SAASzwJ,GAAA,IAC3B4X,EAA0B,CAC5BsT,EAAG,CACDimI,IAAK1/H,GAAmB8+H,YAAYC,OAAOY,aAE7CnmI,EAAG,CAAC,GAAD,OAELrT,EAAwBqT,EAAEjrB,GACxByxB,GAAmB8+H,YAAYC,OAAOS,UACxCr5I,EAAwBsT,EAAElrB,GACxByxB,GAAmB8+H,YAAYC,OAAOU,YACjCt5I,CAAA,EAETg5I,MAAO,iBACE,KAGTK,UAAW,SAASjxJ,GAAA,IACd4X,EAAOwW,GAAkBpuB,GAC7B4X,EAAKjhC,MAAQqpB,EAAWrpB,MAAA,IACpBgN,EAAS,GAET4R,EACFk8B,GAAmBg/D,SAAShrD,SAASzlC,IACrCyxB,GAAmBg/D,SAASs8D,UAAU/sJ,GAClCyxB,GAAmBg/D,SAAShrD,SAASzlC,GAAc,EACnDyxB,GAAmBg/D,SAASs8D,UAAU/sJ,GAAc,EAE1DzK,EAAY3a,QAAoB,GAAZ2a,GAAiB2mJ,QAAQ,QACzC9lK,EAAIq7C,GAAmBg/D,SAAS4gE,SAChChpK,EAAkBzN,QAAQ2a,EAAYnf,GAAG8lK,QAAQ,WAIrDv4J,EAAOhO,KAAK,KACZgO,EAAOhO,KACL,WACE83C,GAAGgE,GAAmBg/D,SAAShrD,SAASzlC,GAAc,GACtD,IACAytB,GAAGgE,GAAmBg/D,SAASs8D,UAAU/sJ,GAAc,GACvD,OAEJrc,EAAOhO,KAAK4f,EAAY,QACxB5R,EAAOhO,KACL4f,EACE,IACAlN,EACA,IACAA,EACA,IACAkN,EACA,MACAA,EACA,MAEJ5R,EAAOhO,KACL,IACE0S,EACA,IACAkN,EACA,KACAA,EACA,IACAlN,EACA,KACAkN,EACA,QAEJ5R,EAAOhO,KACL,IACE4f,EACA,KACAlN,EACA,KACAA,EACA,KACAkN,EACA,OACAA,EACA,MAEJ5R,EAAOhO,KACL0S,EACE,KACAkN,EACA,IACAA,EACA,KACAlN,EACA,IACAkN,EACA,QAEJ5R,EAAOhO,KAAK,KACZgO,EAAOhO,KAAK,KACZiiC,EAAKy1H,OAAS1pJ,EAAOy7B,KAAK,MACnBxH,CAAA,EAETs5I,YAAa,SAASlxJ,GAAA,IAChB4X,EAAOwW,GAAkBpuB,GAC7B4X,EAAKjhC,MAAQqpB,EAAWrpB,MAAA,IACpBgN,EAAS,GACT4R,EACFk8B,GAAmBg/D,SAAShrD,SAASzlC,IACrCyxB,GAAmBg/D,SAASs8D,UAAU/sJ,GAClCyxB,GAAmBg/D,SAAShrD,SAASzlC,GAAc,EACnDyxB,GAAmBg/D,SAASs8D,UAAU/sJ,GAAc,EAE1DzK,EAAY3a,QAAoB,GAAZ2a,GAAiB2mJ,QAAQ,QAGzC9lK,EAAIwE,QAAoB,EAAZ2a,GAAe2mJ,QAAQ,IACnC7zJ,EAAKzN,QAAQxE,EAAIq7C,GAAmBg/D,SAAS4gE,UAAUnV,QAAQ,IAC/D1vI,EAAK5xB,QACN2a,EAAYk8B,GAAmBg/D,SAAS4gE,UAAUnV,QAAQ,WAG7Dv4J,EAAOhO,KAAK,cACZgO,EAAOhO,KAAK,KACZgO,EAAOhO,KACL,WACE83C,GAAGgE,GAAmBg/D,SAAShrD,SAASzlC,GAAc,GACtD,IACAytB,GAAGgE,GAAmBg/D,SAASs8D,UAAU/sJ,GAAc,GACvD,OAEJrc,EAAOhO,KAAKS,EAAI,QAChBuN,EAAOhO,KAAKS,EAAI,IAAMiS,EAAK,IAAMA,EAAK,IAAMjS,EAAI,MAAQA,EAAI,MAC5DuN,EAAOhO,KACL,IAAM0S,EAAK,IAAMjS,EAAI,KAAOA,EAAI,IAAMiS,EAAK,KAAOjS,EAAI,QAExDuN,EAAOhO,KACL,IAAMS,EAAI,KAAOiS,EAAK,KAAOA,EAAK,KAAOjS,EAAI,OAASA,EAAI,MAE5DuN,EAAOhO,KAAK0S,EAAK,KAAOjS,EAAI,IAAMA,EAAI,KAAOiS,EAAK,IAAMjS,EAAI,QAC5DuN,EAAOhO,KAAK,KACZgO,EAAOhO,KAAK,KACZgO,EAAOhO,KAAK,OACZgO,EAAOhO,KAAK,KACZgO,EAAOhO,KACL,WACE83C,GAAGgE,GAAmBg/D,SAAShrD,SAASzlC,GAAc,GACtD,IACAytB,GAAGgE,GAAmBg/D,SAASs8D,UAAU/sJ,GAAc,GACvD,OAEJrc,EAAOhO,KAAK4f,EAAY,QACxB5R,EAAOhO,KAEH4f,EACA,IACAiX,EACA,IACAA,EACA,IACAjX,EACA,MACAA,EACA,MAEJ5R,EAAOhO,KACL,IACE62B,EACA,IACAjX,EACA,KACAA,EACA,IACAiX,EACA,KACAjX,EACA,QAEJ5R,EAAOhO,KACL,IACE4f,EACA,KACAiX,EACA,KACAA,EACA,KACAjX,EACA,OACAA,EACA,MAEJ5R,EAAOhO,KACL62B,EACE,KACAjX,EACA,IACAA,EACA,KACAiX,EACA,IACAjX,EACA,QAEJ5R,EAAOhO,KAAK,KACZgO,EAAOhO,KAAK,KACZiiC,EAAKy1H,OAAS1pJ,EAAOy7B,KAAK,MACnBxH,CAAA,EAETw5I,YAAa,SAASpxJ,GAAA,IAChB4X,EAAOwW,GAAkBpuB,GAC7B4X,EAAKjhC,MAAQqpB,EAAWrpB,MAAA,IACpBgN,EAAS,GACT4R,EACFk8B,GAAmBg/D,SAAShrD,SAASzlC,IACrCyxB,GAAmBg/D,SAASs8D,UAAU/sJ,GAClCyxB,GAAmBg/D,SAAShrD,SAASzlC,GAAc,EACnDyxB,GAAmBg/D,SAASs8D,UAAU/sJ,GAAc,EAE1DzK,EAAY3a,QAAoB,GAAZ2a,GAAiB2mJ,QAAQ,QAGzC9lK,EAAIwE,QAAoB,EAAZ2a,GAAe2mJ,QAAQ,IACnC7zJ,EAAKzN,QAAQxE,EAAIq7C,GAAmBg/D,SAAS4gE,UAAUnV,QAAQ,WAEnEv4J,EAAOhO,KAAK,cACZgO,EAAOhO,KAAK,KACZgO,EAAOhO,KACL,WACE83C,GAAGgE,GAAmBg/D,SAAShrD,SAASzlC,GAAc,GACtD,IACAytB,GAAGgE,GAAmBg/D,SAASs8D,UAAU/sJ,GAAc,GACvD,OAEJrc,EAAOhO,KAAKS,EAAI,QAChBuN,EAAOhO,KAAKS,EAAI,IAAMiS,EAAK,IAAMA,EAAK,IAAMjS,EAAI,MAAQA,EAAI,MAC5DuN,EAAOhO,KACL,IAAM0S,EAAK,IAAMjS,EAAI,KAAOA,EAAI,IAAMiS,EAAK,KAAOjS,EAAI,QAExDuN,EAAOhO,KACL,IAAMS,EAAI,KAAOiS,EAAK,KAAOA,EAAK,KAAOjS,EAAI,OAASA,EAAI,MAE5DuN,EAAOhO,KAAK0S,EAAK,KAAOjS,EAAI,IAAMA,EAAI,KAAOiS,EAAK,IAAMjS,EAAI,QAC5DuN,EAAOhO,KAAK,KACZgO,EAAOhO,KAAK,KACZiiC,EAAKy1H,OAAS1pJ,EAAOy7B,KAAK,MACnBxH,CAAA,GAIX05I,MAAO,CAQLb,uBAAwB,SAASzwJ,GAAA,IAC3B4X,EAA0B,CAC5BsT,EAAG,CACDimI,IAAK1/H,GAAmB8+H,YAAYe,MAAMF,aAE5CnmI,EAAG,CAAC,GAAD,OAELrT,EAAwBqT,EAAEjrB,GACxByxB,GAAmB8+H,YAAYe,MAAML,UACvCr5I,EAAwBsT,EAAElrB,GACxByxB,GAAmB8+H,YAAYe,MAAMJ,YAChCt5I,CAAA,EAETg5I,MAAO,iBACE,KAGTK,UAAW,SAASjxJ,GAAA,IACd4X,EAAOwW,GAAkBpuB,GAC7B4X,EAAKjhC,MAAQqpB,EAAWrpB,MAAA,IACpBgN,EAAS,GACT4R,EAAQk8B,GAAmBg/D,SAAS8gE,eAAevxJ,GAAA,OACvDrc,EAAOhO,KAAK,KACZgO,EAAOhO,KACL,OACEk5C,GAAG4C,GAAmBg/D,SAAShrD,SAASzlC,GAAc,GACtD,IACA6uB,GAAG4C,GAAmBg/D,SAASs8D,UAAU/sJ,GAAc,GACvD,OAEJrc,EAAOhO,KAAK,KACZgO,EAAOhO,KAAK,KACZgO,EAAOhO,KAAKk5C,GAAGt5B,EAAM80F,GAAGhgE,GAAK,IAAMwE,GAAGt5B,EAAM80F,GAAG1gE,GAAK,MACpDhmC,EAAOhO,KAAKk5C,GAAGt5B,EAAMi8J,GAAGnnI,GAAK,IAAMwE,GAAGt5B,EAAMi8J,GAAG7nI,GAAK,MACpDhmC,EAAOhO,KAAKk5C,GAAGt5B,EAAMk8J,GAAGpnI,GAAK,IAAMwE,GAAGt5B,EAAMk8J,GAAG9nI,GAAK,MACpDhmC,EAAOhO,KAAKk5C,GAAGt5B,EAAMm8J,GAAGrnI,GAAK,IAAMwE,GAAGt5B,EAAMm8J,GAAG/nI,GAAK,MACpDhmC,EAAOhO,KAAK,KACZgO,EAAOhO,KAAK,KACZiiC,EAAKy1H,OAAS1pJ,EAAOy7B,KAAK,MACnBxH,CAAA,EAETs5I,YAAa,SAASlxJ,GAAA,IAChB4X,EAAOwW,GAAkBpuB,GAC7B4X,EAAKjhC,MAAQqpB,EAAWrpB,MAAA,IACpBgN,EAAQ8tC,GAAmBg/D,SAAS8gE,eAAevxJ,GACnDzK,EAAS,UACbA,EAAO5f,KAAK,cACZ4f,EAAO5f,KACL,OACEk5C,GAAG4C,GAAmBg/D,SAAShrD,SAASzlC,IACxC,IACA6uB,GAAG4C,GAAmBg/D,SAASs8D,UAAU/sJ,IACzC,OAEJzK,EAAO5f,KAAK,KACZ4f,EAAO5f,KAAK,KACZ4f,EAAO5f,KACL,OACEk5C,GAAG4C,GAAmBg/D,SAAShrD,SAASzlC,GAAc,GACtD,IACA6uB,GAAG4C,GAAmBg/D,SAASs8D,UAAU/sJ,GAAc,GACvD,OAEJzK,EAAO5f,KAAK,KACZ4f,EAAO5f,KAAK,KACZ4f,EAAO5f,KAAKk5C,GAAGlrC,EAAM0mG,GAAGhgE,GAAK,IAAMwE,GAAGlrC,EAAM0mG,GAAG1gE,GAAK,MACpDp0B,EAAO5f,KAAKk5C,GAAGlrC,EAAM6tK,GAAGnnI,GAAK,IAAMwE,GAAGlrC,EAAM6tK,GAAG7nI,GAAK,MACpDp0B,EAAO5f,KAAKk5C,GAAGlrC,EAAM8tK,GAAGpnI,GAAK,IAAMwE,GAAGlrC,EAAM8tK,GAAG9nI,GAAK,MACpDp0B,EAAO5f,KAAKk5C,GAAGlrC,EAAM+tK,GAAGrnI,GAAK,IAAMwE,GAAGlrC,EAAM+tK,GAAG/nI,GAAK,MACpDp0B,EAAO5f,KAAK,KACZ4f,EAAO5f,KAAK,KACZiiC,EAAKy1H,OAAS93I,EAAO6pB,KAAK,MACnBxH,CAAA,EAETw5I,YAAa,SAASpxJ,GAAA,IAChB4X,EAAOwW,GAAkBpuB,GAC7B4X,EAAKjhC,MAAQqpB,EAAWrpB,MAAA,IACpBgN,EAAS,UACbA,EAAOhO,KAAK,cACZgO,EAAOhO,KACL,OACEk5C,GAAG4C,GAAmBg/D,SAAShrD,SAASzlC,IACxC,IACA6uB,GAAG4C,GAAmBg/D,SAASs8D,UAAU/sJ,IACzC,OAEJrc,EAAOhO,KAAK,KACZiiC,EAAKy1H,OAAS1pJ,EAAOy7B,KAAK,MACnBxH,CAAA,IAUb03I,8BAA+B,SAAStvJ,GAAA,IAGlC4X,EAAU5X,EAAWrpB,MAAM85G,SAAS23D,QACtCpoJ,EAAWkjJ,SACXljJ,EAAW4hE,WACX/6E,GACElD,EAAeqc,EAAWrpB,MAAM2iK,YAAYuH,kBAC9C7gJ,EAAWmtD,OAAA,MAGA,IAAMv1C,EAAU,IADd5X,EAAW4+D,SACoB,OAASj7E,CAAA,GAK3D8tC,GAAmBg/D,SAAW,CAC5B4gE,SAAU,cAEVE,eAAgB,SAASvxJ,GAAA,IACnB4X,EAAQ6Z,GAAmBg/D,SAAShrD,SAASzlC,GAC7Crc,EAAS8tC,GAAmBg/D,SAASs8D,UAAU/sJ,GAC/CzK,EAAI8T,KAAKC,IAAIsO,EAAOj0B,GAAA,MAEZ,CACV0mG,GAAI,CAEFhgE,GAAIzS,EAAQriB,GAAK,EACjBo0B,GAAIhmC,EAAS4R,GAAK,EAAIA,GAExBi8J,GAAI,CAEFnnI,GAAIzS,EAAQriB,GAAK,EAAIA,EACrBo0B,GAAIhmC,EAAS4R,GAAK,GAEpBm8J,GAAI,CAEFrnI,GAAIzS,EAAQriB,GAAK,EACjBo0B,GAAIhmC,EAAS4R,GAAK,GAEpBk8J,GAAI,CAEFpnI,GAAIzS,EAAQriB,GAAK,EAAIA,EACrBo0B,GAAIhmC,EAAS4R,GAAK,EAAIA,GAAA,GAO9Bk8B,GAAmBg/D,SAAShrD,SAAW,SAAS7tB,GAAA,IAC1Cj0B,EAAS,QACa,YAAtBqc,EAAAA,EAAAA,GAAO4X,KACTj0B,EAASkpC,GAAMjV,EAAWw3I,KAAK,KAE1BzrK,CAAA,EAET8tC,GAAmBg/D,SAASs8D,UAAY,SAASn1I,GAAA,IAC3Cj0B,EAAS,QACa,YAAtBqc,EAAAA,EAAAA,GAAO4X,KACTj0B,EAASkpC,GAAMjV,EAAWw3I,KAAK,KAE1BzrK,CAAA,EAcT,IAAI0uC,GAAYlE,GAASwjI,SAAW,SAAS3xJ,GAAA,GAC3C2wB,GAAmBv7C,KAAM4qB,KAErBA,aAAuB4wB,IAAA,MAGnB,IAAIrE,MAAM,8CAvlFN,IAAS3U,EAAA,OAAAA,EAqlFX5X,GAplFKrpB,MAAM85G,SAASq+D,eAAeH,aAC3C/2I,EAAWjhC,MAAM85G,SAASq+D,eAAeH,YAAA,EACzC/2I,EAAWjhC,MAAM85G,SAASq+D,eAAeJ,uBAAyB,MAEpE92I,EAAWjhC,MAAM85G,SAASq+D,eAAeJ,uBAAuBO,OAAOt5K,KACrEiiC,GAmlFF5X,EAAYowF,KAAOpwF,EAAYrpB,MAAM85G,SAAS00D,qBAAqB1C,WAC5DrtK,IAAA,EAGT+4C,GAASyjI,oBAAsB3gI,GAC/B9C,GAAS0jI,gBAAkB9gI,GAC3B5C,GAAS2jI,iBAAmB5gI,GAC5B/C,GAAS4jI,gBAAkB5gI,GAC3BhD,GAAS6jI,eAAiB5lJ,GAC1B+hB,GAAS8jI,mBAAqB3gI,GAC9BnD,GAAS+jI,oBAAsB7gI,GAC/BlD,GAASgkI,iBAAmB3gI,GAC5BrD,GAASikI,kBAAoB59H,GAC7BrG,GAASkkI,sBAAwBl+H,GACjChG,GAASmkI,mBAAqB7gI,GAE9BtD,GAASokI,SAAW,CAClBC,YAAavhI,GACbwhI,QAAS1hI,GACT2hI,SAAUxhI,GACVyhI,QAASxhI,GACTqkB,OAAQppC,GACRwmJ,WAAYthI,GACZi/H,YAAal/H,GACb0/H,SAAUv/H,GACVqhI,UAAWr+H,GACXs+H,cAAe3+H,GACf4+H,WAAYthI,IAGd3H,GAAMyoI,SAAW,CACfC,YAAavhI,GACbwhI,QAAS1hI,GACT2hI,SAAUxhI,GACVyhI,QAASxhI,GACTqkB,OAAQppC,GACRwmJ,WAAYthI,GACZi/H,YAAal/H,GACb0/H,SAAUv/H,GACVqhI,UAAWr+H,GACXs+H,cAAe3+H,GACf4+H,WAAYthI,IAAA,IAGV2C,GAAWtK,GAAMyoI,SCzlGrB,SAASnhI,GAASpxB,GAAA,OACTA,EAAIxJ,QAAO,SAASwJ,EAAQ4X,EAAMj0B,GAAA,OACvCqc,EAAO4X,GAAQj0B,EAERqc,CAAA,GACN,CAAC,EAAD,ECgCL,SAAU4X,GAIRA,EAASo7I,aAAe,CAAC,EAAD,IAEpBrvK,EAAU,UAOV4R,EAAuB,CACzB09J,IAAK,CAAC,CAAC,IAAM,GAAM,GAAM,KACzBC,KAAM,CACJ,CAAC,GAAM,GAAM,EAAM,KAClB,GAAM,GAAM,GAAM,IAErBC,KAAM,CACJ,CACE,IACA,IACA,IACA,gBACA,EAEA,GACA,GACA,GACA,GACA,IAGA,IACA,IACA,IACA,gBACA,EAEA,GACA,IACA,IACA,IACA,EACA,IAED,IAAM,IAAM,IAAM,MAClB,IAAM,IAAM,IAAM,MAErBC,SAAU,CAAC,CAAC,EAAM,EAAM,EAAM,GAAM,IAAM,GAAM,GAAM,KACtDC,OAAQ,CAAC,CAAC,GAAM,GAAM,GAAM,GAAM,GAAM,KACxCC,OAAQ,CAAC,CAAC,GAAM,GAAM,GAAM,GAAM,GAAM,KACxCC,KAAM,CACJ,CACE,GACA,GACA,GACA,eACA,OACA,OACA,EAEA,GACA,GACA,GACA,KAGJC,IAAK,CACH,CAAC,GAAM,KACN,GAAM,KACN,GAAM,KACN,GAAM,KACN,GAAM,KACN,GAAM,MAiBPp9K,EAA+BwhC,EAASo7I,aAAaS,4BAA8B,SACrFzzJ,EACA4X,GAAA,IAGIxhC,EACAiS,EAEAmkB,EACAyB,EACAvV,EAHAwP,EAASvkB,EAAA,GAMQ,UATrBi0B,EAAiBA,GAAkBj0B,SAAA,IAUhCqc,EAAUtT,MACTsT,EAAUtT,gBAAgB0/G,mBAC1B,WAAYpsG,GACZ,UAAWA,EAAA,MAEN,UAGLqqB,EAAkBrqB,GAAA,IACftH,KAAYnD,EAAA,IACfiX,EAAiBjX,EAAqBmD,GACjCtiB,EAAI,EAAGA,EAAIo2B,EAAel2B,OAAQF,GAAK,EAAG,KAC7C63B,GAAA,EACK5lB,EAAI,EAAGA,EAAImkB,EAAep2B,GAAGE,OAAQ+R,GAAK,EAAG,QAAH,IACzCmkB,EAAep2B,GAAGiS,IAGlBmkB,EAAep2B,GAAGiS,KAAO2X,EAAU3X,GAAI,CACzC4lB,GAAA,EAAgB,cAIhBA,EAAwB,CAC1B/F,EAASxP,EAAA,gBAMVA,KAAYnD,EAAA,IACfiX,EAAiBjX,EAAqBmD,GACjCtiB,EAAI,EAAGA,EAAIo2B,EAAel2B,OAAQF,GAAK,EAAG,KAC7C63B,GAAA,EACK5lB,EAAI,EAAGA,EAAImkB,EAAep2B,GAAGE,OAAQ+R,GAAK,EAAG,QAAH,IACzCmkB,EAAep2B,GAAGiS,IAGlBmkB,EAAep2B,GAAGiS,KAAO2X,EAAU8iB,WAAWz6B,GAAI,CACpD4lB,GAAA,EAAgB,cAIhBA,EAAwB,CAC1B/F,EAASxP,EAAA,cAObwP,IAAWvkB,GAAWi0B,IAAmBj0B,IAC3CukB,EAAS0P,GAEJ1P,CAAA,EAIL7f,EAAW,SAAX2X,EAAoB4X,GAAA,QAClBj0B,EAAMvO,KAAKq7G,SAASnpC,MACpB/xD,EAAYngB,KAAKq7G,SAASywD,UAG1B9qK,GAAA,EAFahB,KAAKq7G,SAASwwD,eAGW,IAAnC7qK,EAAOwR,QAAQ,gBACpBxR,EAAOoR,OAAOpR,EAAOwR,QAAQ,eAAgB,GAG/CgwB,EAAMypI,SAAWjsK,KAAKq7G,SAAS+vD,YAAA,IAE3Bn4J,EAAsB,MAC1BA,EAAoB1S,KAAK,CAAEyE,IAAK,OAAQjC,MAAO,aAC/CkQ,EAAoB1S,KAAK,CAAEyE,IAAK,UAAWjC,MAAO,WAClDkQ,EAAoB1S,KAAK,CAAEyE,IAAK,QAASjC,MAAOy/B,EAAMqhB,QACtD5wC,EAAoB1S,KAAK,CAAEyE,IAAK,SAAUjC,MAAOy/B,EAAMshB,SAEnDthB,EAAM87I,aAAeprK,EAAaqrK,QACpCtrK,EAAoB1S,KAAK,CACvByE,IAAK,aACLjC,MACE,yBAECy/B,EAAMg8I,QAAQt9K,OAAS,EAAI,GAC5B,KACC,UAAWshC,QAAA,IAAgBA,EAAMi8I,MAC9Bj8I,EAAMypI,SAAW,EACjBzpI,EAAMypI,SAAW,GACrB,WAGJh5J,EAAoB1S,KAAK,CACvByE,IAAK,aACLjC,MAAO,IAAMy/B,EAAM87I,aAEjB97I,EAAM87I,aAAeprK,EAAawrK,aACpCzrK,EAAoB1S,KAAK,CAAEyE,IAAK,SAAUjC,MAAO,uBAGrDkQ,EAAoB1S,KAAK,CACvByE,IAAK,mBACLjC,MAAOy/B,EAAMm8I,mBAGb,qBAAsBn8I,QAAA,IACfA,EAAMo8I,kBAEb3rK,EAAoB1S,KAAK,CACvByE,IAAK,cACLjC,MAAO,KAAOy/B,EAAMo8I,iBAAmB,OAGvC,iBAAkBp8I,GAAShlB,MAAMlY,QAAQk9B,EAAMq8I,cAAe,SAC5DznJ,EAAe,GACjByB,EAAI,EACJvV,EAAMkf,EAAMq8I,aAAa39K,OACpB23B,EAAIvV,EAAKuV,IACdzB,GACEoL,EAAMq8I,aAAahmJ,GAAK,IAAM2J,EAAMq8I,aAAahmJ,GAAK,IAE1D5lB,EAAoB1S,KAAK,CACvByE,IAAK,OACLjC,MAAO,IAAMq0B,EAAe,eAGrBoL,EAAMi8I,OACfxrK,EAAoB1S,KAAK,CACvByE,IAAK,QACLjC,MAAOy/B,EAAMypI,SAAW,EAAI,aAI5Bn5I,OAAA,IACK0P,EAAMp8B,OAAyB,CAAC,IAAMo8B,EAAMp8B,aAAA,EAAU,GAE/D+Z,EAAU,CACR7I,KAAMkrB,EAAMlrB,KACZ60J,oBAAqBl5J,EACrB84J,sBAAuBj5I,EACvBm5I,SAAUzpI,EAAMypI,WAGlB19J,EAAI,UAGA,UAAWi0B,QAAA,IAAgBA,EAAMi8I,MAAuB,KACtDp6J,EACF,cACAme,EAAMs8I,UACN,gCACAt8I,EAAMm8I,iBACN,aACAn8I,EAAMqhB,MACJ5iD,EAAQ,CACV4iD,MAAOrhB,EAAMqhB,MACbC,OAAQthB,EAAMshB,OACdw6H,WAAY,aACZK,iBAAkBn8I,EAAMm8I,iBACxBC,iBAAkBv6J,EAClB/M,KAAMkrB,EAAMi8I,OAEV,WAAYj8I,IACdvhC,EAAMmF,OAASo8B,EAAMp8B,QAEvBwkB,EAASlhB,KAAK1J,KAAMiB,EAAA,IAIlBuhC,EAAM87I,aAAeprK,EAAaqrK,QAAS,KACzCv+J,EAAQhgB,KAAKq7G,SAAS+vD,YAG1BjrJ,EAAU,CACR7I,KAAMkH,EAA0B,IAAIolD,WAAWphC,EAAMg8I,UACrDvS,SAAUjsJ,IAEZzR,EAAI,YAGJ6oB,EAAuB,eACrBxM,EAAS5qB,KAAKq7G,SAASm8D,YAAduH,gBAAA,IACR,IAAIv8I,KAAK5X,EACZ3X,EAASvJ,KAAK1J,KAAM4qB,EAAO4X,GAAA,EAG3B3J,EAA0B,eAG1BjO,EAFE4X,EAASxiC,KAAKq7G,SAASm8D,YAAduH,gBACXxwK,EAAMvO,KAAKq7G,SAASnpC,MAAA,IAEjB,IAAI/xD,KAAKqiB,EAEZj0B,EAAI,MADJqc,EAAQ4X,EAAOriB,IACE9f,MAAOuqB,EAAMqhJ,SAAU,IAAK,MAS7C3oJ,EAAa,WACVtjB,KAAKq7G,SAASm8D,YAAduH,kBAAA/+K,KACEq7G,SAASm8D,YAAduH,gBAAkD,CAAC,EAAD,KAC7C1jE,SAASi5B,OAAOzb,UAAU,eAAgBzhG,GAAA,KAC1CikF,SAASi5B,OAAOzb,UAAU,iBAAkBhgG,GAAA,EAIjDxU,EAAY,eACVuG,EAAS5qB,KAAKq7G,SAASm8D,YAAduH,gBAAA,OACbz7J,EAAW5Z,KAAK1J,MACT4qB,CAAA,EAEL3pB,EAAgB,kBACXiF,OAAO/B,KAAKnE,KAAKq7G,SAASm8D,YAAduH,iBAAiD79K,MAAA,EAelE8e,EAAuB,SAAS4K,GAAA,MACyB,mBAA7C4X,EAAS,UAAY5X,EAAK4lB,cAAA,EAGtC/G,EAAe,SAASjH,GAAA,MACD,YAAlB5X,EAAAA,EAAAA,GAAO4X,IAA2C,IAApBA,EAAO8M,QAAA,EAG1Cj+B,EAA0B,SAASuZ,EAASrc,GAAA,GAErB,QAArBqc,EAAQi3B,UAAsBj3B,EAAQ+oB,aAAa,OAAQ,KACzDxzB,EAAM,GAAKyK,EAAQqhB,aAAa,UAGD,IAA/B9rB,EAAI3N,QAAQ,sBACPsgB,GACL28I,SAAStvJ,GACNkZ,MAAM,WACNj4B,OAAA,IAKHJ,EAAewhC,EAASw8I,SAAS7+J,GAAA,GAAK,YACtCnf,EAAA,OACKA,CAAA,IAIc,WAArB4pB,EAAQi3B,SAAuB,IACX,IAAlBj3B,EAAQi5B,OAAkC,IAAnBj5B,EAAQk5B,OAAA,MAC3B,IAAI3M,MACR,8CACEvsB,EAAQi5B,MACR,aACAj5B,EAAQk5B,QAAA,IAGV7wC,EAAA,OACI1E,GAAA,IACD,MACH0E,EAAW,sBAER,OACHA,EAAW,uBAER,WACA,cAEHA,EAAW,oBAGR6f,GACLlI,EACGypE,UAAUphF,EAAU,GACpBomB,MAAM,WACNj4B,MAAA,GAKLygC,EAAsB,SAASjX,GAAA,IAC7B4X,EAASxiC,KAAKq7G,SAASm8D,YAAduH,gBAAA,GACTv8I,EAAA,IACG,IAAIj0B,KAAKi0B,EAAA,GACR5X,IAAU4X,EAAOj0B,GAAG0wK,MAAA,OACfz8I,EAAOj0B,EAAA,EAMlBsW,EAA0B,SAAS+F,EAAO4X,EAAQj0B,GAAA,OAC/Cqc,GAAU4X,IACb5X,GAAS,GACT4X,GAAU,IAER5X,EAAQ,IACVA,GAAU,EAAIrc,EAAMs1C,MAAQ,GAAMj5B,EAAQ5qB,KAAKq7G,SAASi1D,aAEtD9tI,EAAS,IACXA,GAAW,EAAIj0B,EAAMu1C,OAAS,GAAMthB,EAASxiC,KAAKq7G,SAASi1D,aAE/C,IAAV1lJ,IACFA,EAAS4X,EAASj0B,EAAMs1C,MAASt1C,EAAMu1C,QAE1B,IAAXthB,IACFA,EAAU5X,EAAQrc,EAAMu1C,OAAUv1C,EAAMs1C,OAGnC,CAACj5B,EAAO4X,EAAA,EAGbhgC,EAAkB,SAASooB,EAAG4X,EAAGj0B,EAAO4R,EAAQnf,EAAOiS,GAAA,IACrDmkB,EAAOvS,EAAwBnb,KAAK1J,KAAMuO,EAAO4R,EAAQnf,GAC3D63B,EAAQ74B,KAAKq7G,SAASk8D,oBACtBj0J,EAAStjB,KAAKq7G,SAAS64D,4BAErBphJ,EAASzO,EAAU3a,KAAK1J,MAAA,GAE5BuO,EAAQ6oB,EAAK,GACbjX,EAASiX,EAAK,GACdtE,EAAO9xB,EAAMX,OAASW,EAElBiS,EAAU,CACZA,GAAYghB,KAAKgjD,GAAK,QAClBh2E,EAAIgzB,KAAK+vD,IAAI/wE,GACb+M,EAAIiU,KAAK8vD,IAAI9wE,GAEbw2B,EAAK,SAAS7e,GAAA,OACTA,EAAOk8I,QAAQ,IAEpBz1J,EAA+B,CACjCo4B,EAAGxoC,GACHwoC,EAAGzpB,GACHypB,GAAQ,EAALzpB,GACHypB,EAAGxoC,GACH,EACA,EACA,WAGCo6G,SAASnpC,MAAM,KAChBj/D,GAAA,KACGooG,SAASnpC,MACZ,CAAC,EAAG,IAAK,IAAK,EAAGr5C,EAAMjO,GAAItH,EAAOkf,EAAIriB,GAAS,MAAM6pB,KAAK,WAEvDqxE,SAASnpC,MAAM7gE,EAA6B24B,KAAK,WACjDqxE,SAASnpC,MACZ,CAACr5C,EAAMtqB,GAAQ,IAAK,IAAKsqB,EAAM1Y,GAAS,IAAK,IAAK,MAAM6pB,KAAK,YAG1DqxE,SAASnpC,MACZ,CACEr5C,EAAMtqB,GACN,IACA,IACAsqB,EAAM1Y,GACN0Y,EAAMjO,GACNtH,EAAOkf,EAAIriB,GACX,MACA6pB,KAAK,MAIPhqC,KAAK4mK,iBAAA,KAEFvrD,SAASnpC,MAAM,CAAC,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,MAAMloC,KAAK,WAGhDqxE,SAASnpC,MAAM,KAAOlxE,EAAMX,MAAQ,YACpCg7G,SAASnpC,MAAM,MAMlBh/D,EAAgBsvB,EAAS08I,aAAe,CAC1CC,WAAY,YACZC,YAAa,aACbV,YAAa,aACbW,SAAU,UACVC,QAAS,SACTC,IAAK,MACLC,UAAW,WACXjB,QAAS,UACTkB,QAAS,UACTC,WAAY,aACZC,SAAU,WAMZn9I,EAASitD,OAAS,CAChBmwF,WAAY,YACZC,aAAc,cACdC,WAAY,YACZC,WAAY,YACZC,aAAc,cACdC,eAAgB,gBAChBC,iBAAkB,iBAClBC,kBAAmB,kBACnBC,iBAAkB,sBAMhB7rI,EAAqB/R,EAAS69I,kBAAoB,CACpDC,KAAM,OACNC,KAAM,OACNC,OAAQ,SACRC,KAAM,QASJjsI,EAAahS,EAASo7I,aAAa8C,UAAY,SAAS91J,GAAA,IAExD4X,EACAj0B,EAFE4R,EAAO,KAIS,iBAATyK,EAAA,IACTrc,EAAMqc,EAAK1pB,OACNshC,EAAI,EAAGA,EAAIj0B,EAAKi0B,IACnBriB,GAAQA,GAAQ,GAAKA,EAAOyK,EAAK8iB,WAAWlL,GAC5CriB,GAAQ,OAEL,GAAI80B,EAAkBrqB,GAAA,IAC3Brc,EAAMqc,EAAK+1J,WAAa,EACnBn+I,EAAI,EAAGA,EAAIj0B,EAAKi0B,IACnBriB,GAAQA,GAAQ,GAAKA,EAAOyK,EAAK4X,GACjCriB,GAAQ,SAGLA,CAAA,EAaL01B,EAA0BrT,EAASo7I,aAAagD,uBAAyB,SAC3Eh2J,IAEAA,EAAuBA,GAAwB,IAC1B2e,WAAWr1B,OAAA,IAE5BsuB,GAAA,EAAS,OAEuB,IAAhC5X,EAAqB1pB,SACvBshC,GAAA,GAGE5X,EAAqB1pB,OAAS,GAAM,IACtCshC,GAAA,IAAS,IAIT,mBAAmBvI,KACjBrP,EAAqB47E,OAAO,EAAG57E,EAAqB1pB,OAAS,MAG/DshC,GAAA,IAAS,IAIT,gDAAgDvI,KAC9CrP,EAAqB47E,QAAQ,MAG/BhkE,GAAA,GAEKA,CAAA,EAeL6S,EAA2B7S,EAASo7I,aAAaiD,wBAA0B,SAC7Ej2J,GAAA,IAGI4X,GADJ5X,EAAUA,GAAW,IACMyO,MAAM,WAC7B9qB,EAAS,QAEe,IAAxBi0B,EAAathC,OAAc,KACzBif,EAAgB,sDAAsD8oG,KACxEzmF,EAAa,IAEXhlB,MAAMlY,QAAQ6a,KAChB5R,EAAS,CACPq5I,SAAUznI,EAAc,GACxB+rI,QAAS/rI,EAAc,GACvB7I,KAAMkrB,EAAa,YAIlBj0B,CAAA,EAULkmC,EAAuBjS,EAASo7I,aAAakD,oBAAsB,iBAE5C,oBAAhBr8G,aAAqD,oBAAfb,UAAA,EAajDphC,EAASo7I,aAAamD,cAAgB,SAASn2J,GAAA,OACtC6pB,KAAyB7pB,aAAkB65C,WAAA,MAWhDxvB,EAAqBzS,EAASo7I,aAAaoD,kBAAoB,SACjEp2J,GAAA,OAGE6pB,KACuB,oBAAhBuxB,cACNp7C,aAAkBq2J,WACjBr2J,aAAkBg5C,YACY,oBAAtBozD,mBACNpsG,aAAkBosG,mBACpBpsG,aAAkBs2J,YAClBt2J,aAAkBk7C,aAClBl7C,aAAkBskI,YAClBtkI,aAAkBo7C,aAClBp7C,aAAkBu2J,cAClBv2J,aAAkBw2J,aAAA,EAapB7rI,EAA4B/S,EAASo7I,aAAayD,yBAA2B,SAC/Ez2J,GAAA,QAEI4X,EAAM5X,EAAc1pB,OACpBqN,EAAQ,IAAIq1D,WAAWphC,GAClBriB,EAAI,EAAGA,EAAIqiB,EAAKriB,IACvB5R,EAAM4R,GAAKyK,EAAc8iB,WAAWvtB,GAAA,OAE/B5R,CAAA,EAaLiQ,EAA6BgkB,EAASo7I,aAAa0D,0BAA4B,SACjF12J,GAAA,QAEI4X,EAAM,GAGNj0B,EAAM0mC,EAAkBrqB,GAAUA,EAAS,IAAIg5C,WAAWh5C,GACrDzK,EAAI,EAAGA,EAAI5R,EAAIrN,OAAQif,GAzsBV,KA6sBpBqiB,GAAOz7B,OAAO08D,aAAa58D,MACzB,KACA0H,EAAIsiJ,SAAS1wI,EAAGA,EA/sBE,cAktBfqiB,CAAA,EA8BTA,EAASqkD,SAAW,eACdrkD,EAAWriB,EAAQnf,EAAGiS,EAAGmkB,EAAGyB,EAAG/F,EAAOzO,EAAapjB,EAAA,GAG3B,iBAAjBknB,UAAU,IACnBhI,EAAS5R,EACTvN,EAAImnB,UAAU,GACdlV,EAAIkV,UAAU,GACdiP,EAAIjP,UAAU,GACd0Q,EAAI1Q,UAAU,GACd2K,EAAQ3K,UAAU,GAClB9D,EAAc8D,UAAU,GACxBlnB,EAAWknB,UAAU,KAErBhI,EAASgI,UAAU,GACnBnnB,EAAImnB,UAAU,GACdlV,EAAIkV,UAAU,GACdiP,EAAIjP,UAAU,GACd0Q,EAAI1Q,UAAU,GACd2K,EAAQ3K,UAAU,GAClB9D,EAAc8D,UAAU,GACxBlnB,EAAWknB,UAAU,IAIA,YAArByC,EAAAA,EAAAA,GAtBF4X,EAAYra,UAAU,MAuBnBshB,EAAajH,IACd,cAAeA,EACf,KACIxiB,EAAUwiB,EAEdA,EAAYxiB,EAAQuhK,UACpBphK,EAASH,EAAQyiE,QAAUtiE,GAAU5R,EACrCvN,EAAIgf,EAAQi1B,GAAKj0C,GAAK,EACtBiS,EAAI+M,EAAQu0B,GAAKthC,GAAK,EACtBmkB,EAAIpX,EAAQw0B,GAAKx0B,EAAQ6jC,OAASzsB,EAClCyB,EAAI7Y,EAAQqE,GAAKrE,EAAQ8jC,QAAUjrB,EACnC/F,EAAQ9S,EAAQi/J,OAASnsJ,EACzBzO,EAAcrE,EAAQwhK,aAAen9J,EACrCpjB,EAAW+e,EAAQyhK,UAAYzhK,EAAQg3D,OAAS/1E,CAAA,KAI9CoQ,EAASrR,KAAKq7G,SAASwwD,aAAA,YACvBxnJ,IAAgE,IAAnChT,EAAOmB,QAAQ,iBAC9C6R,EAAc,QAGZysB,MAAM9vC,IAAM8vC,MAAM79B,GAAA,MACd,IAAIkkC,MAAM,gDAGlB7zB,EAAW5Z,KAAK1J,MAAA,IAEZ6hC,EAAQ+T,EAAiBlsC,KAC3B1J,KACAwiC,EACAriB,EACA2S,EACAzO,GAAA,OAGF7hB,EAAgBkH,KAAK1J,KAAMgB,EAAGiS,EAAGmkB,EAAGyB,EAAGgJ,EAAO5gC,GAEvCjB,IAAA,MAGL41C,EAAmB,SAAShrB,EAAWzK,EAAQlN,EAAOmkB,GAAA,IACpDyB,EAAQvV,EA/fYwP,EAAA,GAkgBD,iBAAdlI,GACP5pB,EAA4B4pB,KAAerc,EAC3C,CACAqc,EAAY6kJ,SAAS7kJ,GAAA,IACjBvG,EAAeiI,EAA4B1B,GAAA,IAE1B,KAAjBvG,QAAA,KAGFA,EAAeme,EAASw8I,SAASp0J,GAAA,OAFjCA,EAAYvG,EAAA,IASZolB,EAAa7e,KACfA,EAAYvZ,EAAwBuZ,EAAWzK,IAGjDA,EAASnf,EAA4B4pB,EAAWzK,IAC3CH,EAAqBG,GAAA,MAClB,IAAIg3B,MACR,4CACEh3B,EACA,uCACAA,EACA,2BA5hBC,OADiB2S,EAmiBT7f,IAliB2D,IAAjB6f,EAAM5xB,UAmiB7D+R,EAjiB6B,SAAS2X,GAAA,MACf,iBAAdA,GAA0BqqB,EAAkBrqB,GAC9C4pB,EAAU5pB,GACRqqB,EAAkBrqB,EAAUtT,MAC9Bk9B,EAAU5pB,EAAUtT,MAGtB,KAPwB,CAiiBMsT,KAErCiO,EAASgJ,EAAoBn4B,KAAK1J,KAAMiT,MAGlCwhC,MAEI7pB,aAAqBg5C,YAA0B,SAAXzjD,IACxCmD,EAAqBsH,EACrBA,EAAY2qB,EAAyB3qB,KAIzCiO,EAAS74B,KAAK,UAAYmgB,EAAOqwB,eAC/B5lB,EACA3pB,EAAcyI,KAAK1J,MACnBiT,EAzkBmB,SAAS2X,GAAA,OAC5BA,GAA0B,iBAAVA,IAAoBA,EAAQA,EAAM4lB,eAC/C5lB,KAAS4X,EAAS69I,kBAAoBz1J,EAAQ2pB,EAAkB+rI,IAAA,CAFhD,CA0kBAlpJ,GACnB9T,KAICuV,EAAA,MACG,IAAIse,MAAM,iEAEXte,CAAA,EASLvM,EAA+BkW,EAASo7I,aAAa8D,4BAA8B,SACrF92J,EACA4X,GAAA,IAGIj0B,EADJi0B,EAAmC,kBAAfA,GAA2BA,EAAA,IAG3CriB,EADAnf,EAAY,MAGU,iBAAf4pB,EAAyB,CAElCzK,EAAyB,QADzB5R,EAAa8mC,EAAwBzqB,IACLrc,EAAW+I,KAAOsT,EAAA,IAGhD5pB,EAAY8xB,GAAK3S,EAAA,CACjB,MAAOyK,GAAA,GACH4X,EAAA,MACGqT,EAAuB11B,GAKpB,IAAIg3B,MACR,mDAAqDvsB,EAAEkkH,SALnD,IAAI33F,MACR,yFAUHn2C,CAAA,EASTwhC,EAASm/I,mBAAqB,SAAS/2J,GAAA,IACjCzK,EAEAlN,EADAmkB,EAAe,MAGfqS,EAAa7e,KACfA,EAAYvZ,EAAwBuZ,IAIf,iBAAdA,GACP5pB,EAA4B4pB,KAAerc,IAItB,MAFrB6oB,EAAe9K,EAA4B1B,GAAA,MAGzCwM,EAAeoL,EAASw8I,SAASp0J,IAAc,IAEjDA,EAAYwM,GAGdnkB,EAASjS,EAA4B4pB,IAChC5K,EAAqB/M,GAAA,MAClB,IAAIkkC,MACR,4CACElkC,EACA,uCACAA,EACA,2BAIFwhC,KAA2B7pB,aAAqBg5C,aAClDh5C,EAAY2qB,EAAyB3qB,MAGvCzK,EAAQngB,KAAK,UAAYiT,EAAOu9B,eAAe5lB,IAAA,MAGvC,IAAIusB,MAAM,gEAGlBh3B,EAAMyhK,SAAW3uK,EAEVkN,CAAA,EAx9BX,CA09BGu0B,GAAM03H;;;;;;;;ACt8BT,SAAUxhJ,GAAA,IAGJ4X,EAAW,SAAS5X,GAAA,YACXA,GACE,IAAPA,EAAA,QACK,EAKb8pB,GAAM03H,IAAI93B,OAAO/zI,KAAK,CACpB,UACA,SAASqqB,GACQ5qB,KAAKq7G,SAASw0D,YAAYjlJ,EAAYyiJ,YAC5CD,YAAYqM,YAAc,MAIvC7uJ,EAAS0pH,OAAO/zI,KAAK,CACnB,UACA,SAASqqB,GAAA,QAOHrc,EAAM4R,EAAMnf,EANZiS,EAAgCjT,KAAKq7G,SAASk8D,oBAC9CngJ,EAA8Bp3B,KAAKq7G,SACpC64D,4BACCr7I,EAAW74B,KAAKq7G,SAASy0D,mBAAmBllJ,EAAY2gJ,OACxDjoJ,EAAYsH,EAAYwiJ,YAAYqM,YAGpC3mJ,GAAA,EACKzO,EAAI,EAAGA,EAAIf,EAAUpiB,SAAW4xB,EAAOzO,IAAA,QAC9C9V,EAAO+U,EAAUe,IACJtf,MAAA,IACN,QAEDy9B,EAASj0B,EAAKqH,QAAQgxE,MACtBpkD,EAASj0B,EAAKqH,QAAQy3J,eAEtBv6I,GAAA,GAAQ,UAGP,gBACA,WACA,WACHA,GAAA,EAAQ,GAID,GAATA,EAAA,MAICuoF,SAASnpC,MAAM,iBACf,IAAIjxE,EAAI,EAAGA,EAAIqiB,EAAUpiB,OAAQD,IAAK,CACzCsN,EAAO+U,EAAUriB,GAAA,IACb+e,EAAShgB,KAAKq7G,SAASkzD,UACvB9kI,EAAYzpC,KAAKq7G,SAASy8D,aAAaltJ,EAAY2gJ,OAAA,OAE/Ch9J,EAAKxJ,MAAA,IACN,iBAEEs2G,SAASnpC,MAAM,IAAM3jE,EAAKg2G,OAAOgnD,MAAQ,mBAE3C,WAECl6J,EAAUrR,KAAKq7G,SAASiwD,sBACxBzpI,EAAW7hC,KAAKq7G,SAASiwD,sBACzBzmJ,EAAgB7kB,KAAKq7G,SAASy8D,aAAazmK,EAAQk6J,OAEnD/oK,EAAQ+L,EAAKupD,OAAS,OAY1B92D,EACE,kCAZFmf,EACE,UACAlN,EAA8B1E,EAAK8gF,OAAOp6C,GAC1C,IACA7d,EAA4B7oB,EAAK8gF,OAAO96C,EAAIhmC,EAAK8gF,OAAOhrE,GACxD,IACApR,EAA8B1E,EAAK8gF,OAAOp6C,EAAI1mC,EAAK8gF,OAAO76C,GAC1D,IACApd,EAA4B7oB,EAAK8gF,OAAO96C,GACxC,MAOA,cACAv0B,EAAO6E,EAActW,EAAK68H,WAC1B,IACFpqI,GAAQ,WAAa6gC,EAAS0pI,MAAQ,OACtCvqK,GAAQ,OAAS63B,EAAS0yI,MAAQ,OAClCvqK,GAAQ,QAAUgf,EAAO6E,EAAcriB,IAAU,OACjD6O,EAAQqzB,QAAU1jC,EAAA,IAEdkS,EAAS7B,EAAQk6J,MAAQ,OAc7BvqK,EACE,mCAbFmf,EACE,UACAlN,EAA8B1E,EAAK8gF,OAAOp6C,EAH/B,IAIX,IACA7d,EAA4B7oB,EAAK8gF,OAAO96C,EAAIhmC,EAAK8gF,OAAOhrE,GACxD,IACApR,EACE1E,EAAK8gF,OAAOp6C,EAAI1mC,EAAK8gF,OAAO76C,EARnB,IAUX,IACApd,EAA4B7oB,EAAK8gF,OAAO96C,GACxC,MAMA,YACArhC,EACE3E,EAAK4+E,OACPnsF,GAAQ,eAEVA,GAAQ,MACR6gC,EAAS6C,QAAU1jC,EAAA,KAEdq6G,SAASnpC,MAAM7gE,EAAQk6J,MAAO,MAAO1pI,EAAS0pI,MAAO,iBAGvD,WACHprJ,EACE,UACAlN,EAA8B1E,EAAK8gF,OAAOp6C,GAC1C,IACA7d,EAA4B7oB,EAAK8gF,OAAO96C,GACxC,IACAthC,EAA8B1E,EAAK8gF,OAAOp6C,EAAI1mC,EAAK8gF,OAAO76C,GAC1D,IACApd,EAA4B7oB,EAAK8gF,OAAO96C,EAAIhmC,EAAK8gF,OAAOhrE,GACxD,SACEkwB,EAAQhmC,EAAKwpE,OAAS,UAC1B/2E,EACE,qCAGAmf,EACA,cACAH,EAAOypB,EAAUl7B,EAAK68H,WACtB,IACFpqI,GACE,mEACAuzC,EACA,IACFvzC,GAAQ,mBACRA,GAAQ,WACHq6G,SAASnpC,MAAMlxE,GAAA,UAEjB,UACCuN,EAAKqH,QAAQqE,KAAM,KACjBu6B,EAAMx0C,KAAKy5K,YAAYoI,SAAStzK,EAAKqH,QAAQqE,MACjD1L,EAAKqH,QAAQy3J,WAAa74H,EAAIwmE,KAC9BzsG,EAAKqH,QAAQy5B,IAAMmF,EAAID,CAAA,MAElBhmC,EAAKqH,QAAQy5B,MAChB9gC,EAAKqH,QAAQy5B,IAAM,MAIvBlvB,EACE,UACA5R,EAAKuzK,YAAY7sI,EACjB,IACA1mC,EAAKuzK,YAAYvtI,EACjB,IACAhmC,EAAKuzK,YAAYttI,EACjB,IACAjmC,EAAKuzK,YAAYz9J,EACjB,KAEFrjB,EAAO,GACHuN,EAAKqH,QAAQgxE,IACf5lF,EACE,iCACAmf,EACA,sCACAH,EAAOypB,EAAUl7B,EAAKqH,QAAQgxE,MAC9B,YACG,GAAIr4E,EAAKqH,QAAQy3J,WAAY,OAGlCrsK,EACE,iCACAmf,EACA,0BAJSngB,KAAKq7G,SAASw0D,YAAYthK,EAAKqH,QAAQy3J,YAK3C9B,MACL,OACFh9J,EAAKqH,QAAQmsK,UAAYxzK,EAAKqH,QAAQmsK,WAAa,MAC3CxzK,EAAKqH,QAAQmsK,WAAA,IACd,MACH/gL,GAAQ,mBAEL,OACHA,GAAQ,UAAYuN,EAAKqH,QAAQy5B,IAAM,cAEpC,OACH9gC,EAAKqH,QAAQu5B,KAAO5gC,EAAKqH,QAAQu5B,MAAQ,EACzCnuC,GAAQ,UAAYuN,EAAKqH,QAAQu5B,KAAO,cAErC,kBAEC0G,EAAMze,EAA4B7oB,EAAKqH,QAAQy5B,KACnD9gC,EAAKqH,QAAQu5B,KAAO5gC,EAAKqH,QAAQu5B,MAAQ,WAE9B5gC,EAAKqH,QAAQ4oI,OACtBjwI,EAAKqH,QAAQ4oI,KAAO,GAEtBx9I,GACE,SACAuN,EAAKqH,QAAQu5B,KACb,IACA0G,EACA,IACAtnC,EAAKqH,QAAQ4oI,KACb,IAKI,IAARx9I,IACFA,GAAQ,WACHq6G,SAASnpC,MAAMlxE,IAAA,MAKvBq6G,SAASnpC,MAAM,SASxBtnD,EAASo3J,iBAAmB,SAASp3J,GAAA,IAC/B4X,EAAWxiC,KAAKq7G,SAAS00D,qBAAA,OACrBnlJ,EAAQ7lB,MAAA,IACT,YACEs/F,KACHz5E,EAAQykE,OAAOp6C,EACfrqB,EAAQykE,OAAO96C,EACf3pB,EAAQykE,OAAO76C,EACf5pB,EAAQykE,OAAOhrE,EACfuG,GAAA,UAGC,WACA,WACH4X,EAAS4qI,YAAYqM,YAAYl5K,KAAKqqB,GAAA,EAmB5CA,EAASy5E,KAAO,SAASz5E,EAAG4X,EAAGj0B,EAAG4R,EAAGnf,GAAA,IAC/BiS,EAAWjT,KAAKq7G,SAAS00D,qBACzB34I,EAAgCp3B,KAAKq7G,SAASk8D,oBAC9C1+I,EAA8B74B,KAAKq7G,SAAS64D,4BAEhDjhK,EAASm6J,YAAYqM,YAAYl5K,KAAK,CACpCuhL,YAAa,CACX7sI,EAAG7d,EAA8BxM,GACjC2pB,EAAG1b,EAA4B2J,GAC/BgS,EAAGpd,EAA8BxM,EAAIrc,GACrC8V,EAAGwU,EAA4B2J,EAAIriB,IAErCvK,QAAS5U,EACT+D,KAAM,UAgBV6lB,EAASq3J,aAAe,SAASr3J,EAAM4X,EAAGj0B,EAAG4R,GAAA,IAGvCnf,EAAYiS,EAFZmkB,EAAiBp3B,KAAKkiL,aAAat3J,GACnCiO,EAAa74B,KAAKq7G,SAASm4D,gBAAkBxzK,KAAKq7G,SAASi1D,YAAA,YAI3DnwJ,EAAQo6H,SAAwB,CAElCtnI,EADmBkN,EAAbo6H,SAAA,IAEFj3H,EAAatjB,KAAKwwK,gBAAgB5lJ,EAAM3X,GAAW/R,OACvDF,EAAaizB,KAAKqyC,KAAKztC,EAAavV,EAAA,MAEpCrQ,EAAYmkB,EACZp2B,EAAa63B,EAAA,YAGV4H,KAAK7V,EAAM4X,EAAGj0B,EAAG4R,GAItB5R,GAAkB,GAAbsqB,EAEiB,WAAlB1Y,EAAQgwJ,QACV3tI,GAAQpL,EAAiB,GAEL,UAAlBjX,EAAQgwJ,QACV3tI,GAAQpL,GAAA,KAELitE,KAAK7hE,EAAGj0B,EAAIsqB,EAAY5lB,EAAWjS,EAAYmf,GAC7CiX,CAAA,EAUTxM,EAASs3J,aAAe,SAASt3J,GAAA,IAC3B4X,EAAWxiC,KAAKq7G,SAASkrD,cAAA,OAE1BvmK,KAAKmxK,mBAAmBvmJ,GAAQ4X,EAAYxiC,KAAKq7G,SAASi1D,WAAA,EAvVjE,CA4VG57H,GAAM03H;;;;;;;;ACrYT,SAAUxhJ,GAAA,IAOJ4X,EAAoB,MACd,CAAC,YACD,CAAC,MAAQ,YACT,CAAC,MAAQ,YACT,CAAC,MAAQ,YACT,CAAC,MAAQ,YACT,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,YACT,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,YACT,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,YACT,CAAC,MAAQ,YACT,CAAC,MAAQ,YACT,CAAC,MAAQ,YACT,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,YACT,CAAC,MAAQ,MAAQ,MAAO,YACxB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,YACT,CAAC,YACD,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,YACT,CAAC,MAAQ,YACT,CAAC,MAAQ,YACT,CAAC,MAAQ,YACT,CAAC,MAAQ,YACT,CAAC,MAAQ,YACT,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,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YriB,CAAA,MA9EV8gB,EAAYuV,EAAW,EAEvBxU,GAAa,IADbyO,EAAgB9xB,EAAgB,IACG,EAGnC6jB,EAAY,YA4EZ4kB,IAAOtpB,GACTlN,GAAQwkJ,IAAI,8CAGPlpJ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAAA,CCz1BT,SAASmyC,GAAY91B,GAAA,IAMf4X,EACAj0B,EACA4R,EACAnf,EAeAiS,EAvBAmkB,EAASnD,KAAKwlC,MACd5gC,EAAS,IAAIrb,MAAM,IACnB8F,EAAU,IAAI9F,MAAM,IACpBsV,EAAU,IAAItV,MAAM,IACpB6G,EAAW,IAAI7G,MAAM,IAMrBvc,EAAU,IAAIuc,MAAM,OACpBwC,EAAW,IAAIxC,MAAM,OACrBisB,EAAkB,IAAIjsB,MAAM,IAC5BnM,EAAK,IAAImM,MAAM,IACfqkB,EAAU,GACVhd,EAAU,EACVriB,EAAU,EAEV0Q,EAAM,IAAIsK,MAAM,IAChB+2B,EAAM,IAAI/2B,MAAM,IAChBg3B,EAAM,IAAIh3B,MAAM,IAChBq4B,EAAM,IAAIr4B,MAAM,KAChB63B,EAAgB,IAAI73B,MAAM,MAG1Bi3B,EAAS,CACX,EACA,EACA,EACA,EACA,GACA,GACA,GACA,GACA,EACA,EACA,EACA,GACA,GACA,GACA,GACA,GACA,EACA,EACA,GACA,GACA,GACA,GACA,GACA,GACA,EACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,IAGEQ,EAA2B,CAC7B,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,GAEEM,EAA0B,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,IAC7D/2B,EAA2B,CAC7B,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,KAEEo3B,EAA0B,CAC5B,EACA,EACA,EACA,EACA,EACA,GACA,EACA,GACA,GACA,GACA,GACA,EACA,GACA,GACA,GACA,EACA,GACA,IACA,GACA,GACA,IACA,IACA,IACA,EACA,GACA,GACA,IACA,IACA,GACA,GACA,IACA,IACA,GACA,GACA,GACA,IACA,IACA,EACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KAGEtpB,EAA6B,CAC/B,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,GAEEgpB,EAA4B,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,IAC/DoB,EAA6B,CAC/B,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,KAEE5B,EAA4B,CAC9B,EACA,EACA,EACA,EACA,GACA,EACA,EACA,GACA,GACA,EACA,GACA,GACA,GACA,EACA,GACA,IACA,GACA,GACA,GACA,IACA,EACA,GACA,GACA,IACA,IACA,IACA,IACA,EACA,GACA,GACA,GACA,IACA,GACA,GACA,IACA,IACA,GACA,GACA,GACA,GACA,IACA,GACA,IACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,cAuKOlgB,EAAkBhK,EAAS4X,GAAA,QAC9Bj0B,EAAY,EACZ4R,EAAe,EACfnf,EAAK,IAAIwc,MACJvK,EAAI,EAAGA,GAAK,GAAIA,IAAK,KACvB,IAAImkB,EAAI,EAAGA,GAAKxM,EAAQ3X,GAAImkB,IAC/Bp2B,EAAGwhC,EAAUriB,IAAiB,GAC9Bnf,EAAGwhC,EAAUriB,IAAe,GAAK5R,EACjCvN,EAAGwhC,EAAUriB,IAAe,GAAKlN,EACjCkN,IACA5R,IAEFA,GAAa,SAERvN,CAAA,UA2DA+zC,EAAUnqB,GAAA,QACb4X,EAAQ5X,EAAG,GACXrc,EAASqc,EAAG,GAAK,EACdrc,GAAU,GACXi0B,EAAS,GAAKj0B,IAChBsW,GAAW,GAAKriB,GAElB+L,MACA/L,EACc,IACG,KAAXqiB,GACFuzB,EAAU,KACVA,EAAU,IAEVA,EAAUvzB,GAEZriB,EAAU,EACVqiB,EAAU,YAKPuzB,EAAUxtB,GAEjBiX,EAAQthC,KAAKqqB,EAAA,UAGN6rB,EAAU7rB,GACjBwtB,EAAWxtB,GAAS,EAAK,KACzBwtB,EAAkB,IAARxtB,EAAA,UAyOH8pB,EAAU9pB,EAAK4X,EAAOj0B,EAAI4R,EAAMnf,GAAA,QAGnCiS,EAFAmkB,EAAMp2B,EAAK,GACX63B,EAAY73B,EAAK,KAKjBsiB,EAAA,SA5OasH,EAAM4X,GAAA,IACnBj0B,EAAI4R,EAAInf,EAAIiS,EAAImkB,EAAIyB,EAAIvV,EAAIwP,EAG5BzO,EAkHApjB,EAnHA+e,EAAU,MAITqE,EAAI,EAAGA,EAFH,IAEaA,EAAG,CACvB9V,EAAKqc,EAAK5K,GACVG,EAAKyK,EAAK5K,EAAU,GACpBhf,EAAK4pB,EAAK5K,EAAU,GACpB/M,EAAK2X,EAAK5K,EAAU,GACpBoX,EAAKxM,EAAK5K,EAAU,GACpB6Y,EAAKjO,EAAK5K,EAAU,GACpBsD,EAAKsH,EAAK5K,EAAU,OAGhB3O,EAAO9C,GAFXukB,EAAKlI,EAAK5K,EAAU,IAGhB6hB,EAAOtzB,EAAKukB,EACZjO,EAAO1E,EAAKmD,EACZ9gB,EAAO2d,EAAKmD,EACZpQ,EAAOlS,EAAK63B,EACZ0b,EAAOvzC,EAAK63B,EACZ2b,EAAOvhC,EAAKmkB,EACZye,EAAO5iC,EAAKmkB,EAGZie,EAAQhkC,EAAOmjC,EACfC,EAAQpjC,EAAOmjC,EACfS,EAAQpwB,EAAO3R,EACfqiC,EAAQ1wB,EAAO3R,EAEnB0X,EAAK5K,GAAWq1B,EAAQJ,EACxBrqB,EAAK5K,EAAU,GAAKq1B,EAAQJ,EAAA,IAExBz2B,EAAuB,YAAjB+2B,EAAQd,GAClB7pB,EAAK5K,EAAU,GAAKy0B,EAAQj2B,EAC5BoM,EAAK5K,EAAU,GAAKy0B,EAAQj2B,EAAA,IAQxBo3B,EAAuB,aAL3BP,EAAQQ,EAAOtB,IAEfgB,EAAQ/yC,EAAOq/B,IAIXvV,EAAK,SAAY+oB,EAAQO,EACzBN,EAAK,YAAcC,EAAQK,EAC3Bc,EAAa,YAPjBzB,EAAQV,EAAO/xC,GASXsyC,EAAMjT,EAAO6U,EACb9hB,EAAMiN,EAAO6U,EAEjB9rB,EAAK5K,EAAU,GAAK4U,EAAMtI,EAC1B1B,EAAK5K,EAAU,GAAK4U,EAAMtI,EAC1B1B,EAAK5K,EAAU,GAAK80B,EAAMQ,EAC1B1qB,EAAK5K,EAAU,GAAK80B,EAAMQ,EAE1Bt1B,GAAW,MAIbA,EAAU,EACLqE,EAAI,EAAGA,EA1DH,IA0DaA,EAAG,CACvB9V,EAAKqc,EAAK5K,GACVG,EAAKyK,EAAK5K,EAAU,GACpBhf,EAAK4pB,EAAK5K,EAAU,IACpB/M,EAAK2X,EAAK5K,EAAU,IACpBoX,EAAKxM,EAAK5K,EAAU,IACpB6Y,EAAKjO,EAAK5K,EAAU,IACpBsD,EAAKsH,EAAK5K,EAAU,QAGhB+0B,EAASxmC,GAFbukB,EAAKlI,EAAK5K,EAAU,KAGhBo4B,EAAS7pC,EAAKukB,EACd2jB,EAASt2B,EAAKmD,EACdoxB,EAASv0B,EAAKmD,EACdy1B,EAAS/3C,EAAK63B,EACdid,EAAS90C,EAAK63B,EACdigB,EAAS7lC,EAAKmkB,EACdud,EAAS1hC,EAAKmkB,EAGdqiB,EAAU1E,EAAS+D,EACnBT,EAAUtD,EAAS+D,EACnB9B,EAAUP,EAASsC,EACnBtB,EAAUhB,EAASsC,EAEvBnuB,EAAK5K,GAAWy5B,EAAUzC,EAC1BpsB,EAAK5K,EAAU,IAAMy5B,EAAUzC,EAAA,IAE3BgC,EAA6B,YAArBvB,EAAUY,GACtBztB,EAAK5K,EAAU,IAAMq4B,EAAUW,EAC/BpuB,EAAK5K,EAAU,IAAMq4B,EAAUW,EAAA,IAQ3BU,EAA6B,aALjCD,EAAU9E,EAASmB,IAEnB2B,EAAU/C,EAAS0D,IAIfmB,EAAO,SAAYE,EAAUC,EAC7BC,EAAO,YAAclC,EAAUiC,EAC/BJ,EAAiB,YAPrBtC,EAAUlB,EAASpB,GASfuE,EAAQb,EAASkB,EACjBM,EAAQxB,EAASkB,EAErB1uB,EAAK5K,EAAU,IAAM45B,EAAQL,EAC7B3uB,EAAK5K,EAAU,IAAM45B,EAAQL,EAC7B3uB,EAAK5K,EAAU,GAAKi5B,EAAQU,EAC5B/uB,EAAK5K,EAAU,IAAMi5B,EAAQU,EAE7B35B,GAAA,KAKGqE,EAAI,EAAGA,EAjHF,KAiHaA,EAErBpjB,EAAY2pB,EAAKvG,GAAKme,EAAMne,GAC5BolB,EAAgBplB,GACdpjB,EAAY,EAAOA,EAAY,GAAO,EAAKA,EAAY,GAAO,SAG3DwoC,CAAA,CA8GH,CAAmB7e,EAAK4X,GAEnB1P,EAAI,EAAGA,EAHN,KAGiBA,EACzBzhB,EAAGojC,EAAO3hB,IAAMxP,EAAOwP,GAAA,IAErBzO,EAAOhT,EAAG,GAAK9C,EACnBA,EAAK8C,EAAG,GAEI,GAARgT,EACF0wB,EAAU50B,EAAK,KAGf40B,EAAU50B,EAAKH,EADf/M,EAAM,MAAQoR,KAEd0wB,EAAU9zC,EAAQgS,KAAA,QAGhB4uB,EAAU,GACPA,EAAU,GAAoB,GAAfxwB,EAAGwwB,IACvBA,IAAA,GAGa,GAAXA,EAAA,OACFkT,EAAU3d,GACH7oB,EAAA,QAGLsW,EADAriB,EAAI,EAEDA,GAAKq/B,GAAS,SACf3uB,EAAW1Q,EACC,GAAT6O,EAAG7O,IAAWA,GAAKq/B,KACtBr/B,EAAA,IAEA+xC,EAAW/xC,EAAI0Q,EAAA,GACfqhC,GApCI,GAoCa,CACnB1vB,EAAM0vB,GAAY,MACb,IAAIC,EAAW,EAAGA,GAAY3vB,IAAO2vB,EACxCO,EAAUlc,GACZ0b,GAAsB,GAExBthC,EAAM,MAAQ5B,EAAG7O,GACjBuyC,EAAU/zC,GAAMuzC,GAAY,GAAKv0B,EAAS/M,KAC1C8hC,EAAU9zC,EAAQgS,IAClBzQ,GAAA,QA5CQ,IA8CNq/B,GACFkT,EAAU3d,GAEL7oB,CAAA,UA8HAwqC,EAAWnuB,GAClBA,EAAUqJ,KAAKC,IAAID,KAAKoV,IAAIze,EAAS,GAAI,KAErC3X,GAAkB2X,IAAA,SA1qBCA,GAAA,QACnB4X,EAAM,CACR,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,IACA,IACA,GACA,GACA,GACA,GACA,GACA,GACA,IACA,IACA,GACA,GACA,GACA,GACA,GACA,IACA,IACA,IACA,IACA,GACA,GACA,GACA,GACA,IACA,IACA,IACA,IAGOj0B,EAAI,EAAGA,EAAI,GAAIA,IAAK,KACvB4R,EAAIiX,GAAQoL,EAAIj0B,GAAKqc,EAAK,IAAM,KACpCzK,EAAI8T,KAAKC,IAAID,KAAKoV,IAAIlpB,EAAG,GAAI,KAC7B0Y,EAAO4b,EAAOlmC,IAAM4R,CAAA,SAElBnf,EAAO,CACT,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,IAEOiS,EAAI,EAAGA,EAAI,GAAIA,IAAK,KACvBhS,EAAIm2B,GAAQp2B,EAAKiS,GAAK2X,EAAK,IAAM,KACrC3pB,EAAIgzB,KAAKC,IAAID,KAAKoV,IAAIpoC,EAAG,GAAI,KAC7BqiB,EAAQmxB,EAAOxhC,IAAMhS,CAAA,SAEnB+e,EAAO,CACT,EACA,YACA,YACA,YACA,EACA,WACA,SACA,YAEEypB,EAAI,EACCp4B,EAAM,EAAGA,EAAM,EAAGA,IAAA,IACpB,IAAIwwB,EAAM,EAAGA,EAAM,EAAGA,IACzB/O,EAAQ2W,GAAK,GAAO5Q,EAAO4b,EAAOhL,IAAMzpB,EAAK3O,GAAO2O,EAAK6hB,GAAO,GAChExd,EAASolB,GAAK,GAAOnmB,EAAQmxB,EAAOhL,IAAMzpB,EAAK3O,GAAO2O,EAAK6hB,GAAO,GAClE4H,GAAA,CA2gBkB,CAGpB7e,EAAU,GAAKqJ,KAAKwlC,MAA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A,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EAC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,GACA,GACA,GACA,GACA,GACA,GACA,EACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,IACA,EACA,IACA,IACA,GACA,GACA,IACA,IACA,GACA,GACA,GACA,GACA,GACA,GACA,IACA,IACA,GACA,GACA,IACA,EACA,IACA,IACA,GACA,GACA,GACA,GACA,IACA,IACA,GACA,GACA,IACA,IACA,GACA,GACA,IACA,IACA,GACA,GACA,GACA,IACA,GACA,GACA,EACA,IACA,IACA,GACA,GACA,GACA,GACA,GACA,IACA,GACA,IACA,IACA,GACA,GACA,GACA,IACA,IACA,GACA,IACA,GACA,IACA,IACA,GACA,KAEFsC,GAAK,CACH,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MAEFlN,GAAK,EACLK,GAAK,CACH,EACA,EACA,EACA,EACA,EACA,EACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KAEFiB,GAAK,CACH,EACA,EACA,EACA,EACA,EACA,EACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KAEFT,GAAK,KACLP,GAAK,CACH,CAAC,IAAK,IAAK,IAAK,GAChB,CAAC,IAAK,IAAK,IAAK,IAAK,GACrB,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,GAC1B,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAE1DiB,GAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,GAAI,GAAI,EAAG,GAAI,GAAI,IACxDF,GAAK,EAAE,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,GAAI,GAAI,GAAI,EAAG,GAAI,EAAG,GAAI,GAAI,GACnEL,GAAK,CACH,CACE,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAE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AK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,OAGvD,CACE,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,OAGvD,CACE,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,OAGvD,CACE,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,K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A,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,IACA,KACA,KACA,KACA,KACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KACA,IACA,IACA,KACA,KACA,KACA,KACA,IACA,IACA,IACA,IACA,IACA,KACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KACA,IACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,IACA,MACA,IACA,MACA,MACA,IACA,MACA,MACA,IACA,MACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,IACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,IACA,IACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,KACA,KACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,KACA,IACA,MACA,MACA,MACA,MACA,MACA,MACA,KACA,KACA,MACA,MACA,IACA,MACA,MACA,MACA,MACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,IACA,KACA,KACA,MACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,IACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,KACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KACA,IACA,MACA,MACA,MACA,MACA,MACA,KACA,KACA,KACA,KACA,KACA,KACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,IACA,MACA,MACA,MACA,MACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,IACA,IACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,IACA,IACA,IACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,MACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KACA,IACA,KACA,IACA,IACA,KACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KACA,IACA,IACA,KACA,KACA,IACA,IACA,IACA,IACA,IACA,KACA,KACA,IACA,IACA,IACA,IACA,IACA,KACA,KACA,KACA,KACA,KACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,IACA,IACA,KACA,IACA,IACA,IACA,KACA,KACA,KACA,IACA,IACA,IACA,IACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IAC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","sources":["webpack://build-a-transporter/./node_modules/@vue/reactivity/dist/reactivity.esm-bundler.js","webpack://build-a-transporter/./node_modules/@vue/runtime-core/dist/runtime-core.esm-bundler.js","webpack://build-a-transporter/./node_modules/@vue/runtime-dom/dist/runtime-dom.esm-bundler.js","webpack://build-a-transporter/./node_modules/@vue/shared/dist/shared.esm-bundler.js","webpack://build-a-transporter/../../js/src/dom/data.js","webpack://build-a-transporter/../../js/src/util/index.js","webpack://build-a-transporter/../../js/src/dom/event-handler.js","webpack://build-a-transporter/../../js/src/dom/manipulator.js","webpack://build-a-transporter/../../js/src/util/config.js","webpack://build-a-transporter/../../js/src/base-component.js","webpack://build-a-transporter/../../js/src/dom/selector-engine.js","webpack://build-a-transporter/../../js/src/util/component-functions.js","webpack://build-a-transporter/../../js/src/alert.js","webpack://build-a-transporter/../../js/src/button.js","webpack://build-a-transporter/../../js/src/util/swipe.js","webpack://build-a-transporter/../../js/src/carousel.js","webpack://build-a-transporter/../../js/src/collapse.js","webpack://build-a-transporter/../../node_modules/@popperjs/core/lib/enums.js","webpack://build-a-transporter/../../node_modules/@popperjs/core/lib/dom-utils/getNodeName.js","webpack://build-a-transporter/../../node_modules/@popperjs/core/lib/dom-utils/getWindow.js","webpack://build-a-transporter/../../node_modules/@popperjs/core/lib/dom-utils/instanceOf.js","webpack://build-a-transporter/../../node_modules/@popperjs/core/lib/modifiers/applyStyles.js","webpack://build-a-transporter/../../node_modules/@popperjs/core/lib/utils/getBasePlacement.js","webpack://build-a-transporter/../../node_modules/@popperjs/core/lib/utils/math.js","webpack://build-a-transporter/../../node_modules/@popperjs/core/lib/utils/userAgent.js","webpack://build-a-transporter/../../node_modules/@popperjs/core/lib/dom-utils/isLayoutViewport.js","webpack://build-a-transporter/../../node_modules/@popperjs/core/lib/dom-utils/getBoundingClientRect.js","webpack://build-a-transporter/../../node_modules/@popperjs/core/lib/dom-utils/getLayoutRect.js","webpack://build-a-transporter/../../node_modules/@popperjs/core/lib/dom-utils/contains.js","webpack://build-a-transporter/../../node_modules/@popperjs/core/lib/dom-utils/getComputedStyle.js","webpack://build-a-transporter/../../node_modules/@popperjs/core/lib/dom-utils/isTableElement.js","webpack://build-a-transporter/../../node_modules/@popperjs/core/lib/dom-utils/getDocumentElement.js","webpack://build-a-transporter/../../node_modules/@popperjs/core/lib/dom-utils/getParentNode.js","webpack://build-a-transporter/../../node_modules/@popperjs/core/lib/dom-utils/getOffsetParent.js","webpack://build-a-transporter/../../node_modules/@popperjs/core/lib/utils/getMainAxisFromPlacement.js","webpack://build-a-transporter/../../node_modules/@popperjs/core/lib/utils/within.js","webpack://build-a-transporter/../../node_modules/@popperjs/core/lib/utils/mergePaddingObject.js","webpack://build-a-transporter/../../node_modules/@popperjs/core/lib/utils/getFreshSideObject.js","webpack://build-a-transporter/../../node_modules/@popperjs/core/lib/utils/expandToHashMap.js","webpack://build-a-transporter/../../node_modules/@popperjs/core/lib/modifiers/arrow.js","webpack://build-a-transporter/../../node_modules/@popperjs/core/lib/utils/getVariation.js","webpack://build-a-transporter/../../node_modules/@popperjs/core/lib/modifiers/computeStyles.js","webpack://build-a-transporter/../../node_modules/@popperjs/core/lib/modifiers/eventListeners.js","webpack://build-a-transporter/../../node_modules/@popperjs/core/lib/utils/getOppositePlacement.js","webpack://build-a-transporter/../../node_modules/@popperjs/core/lib/utils/getOppositeVariationPlacement.js","webpack://build-a-transporter/../../node_modules/@popperjs/core/lib/dom-utils/getWindowScroll.js","webpack://build-a-transporter/../../node_modules/@popperjs/core/lib/dom-utils/getWindowScrollBarX.js","webpack://build-a-transporter/../../node_modules/@popperjs/core/lib/dom-utils/isScrollParent.js","webpack://build-a-transporter/../../node_modules/@popperjs/core/lib/dom-utils/getScrollParent.js","webpack://build-a-transporter/../../node_modules/@popperjs/core/lib/dom-utils/listScrollParents.js","webpack://build-a-transporter/../../node_modules/@popperjs/core/lib/utils/rectToClientRect.js","webpack://build-a-transporter/../../node_modules/@popperjs/core/lib/dom-utils/getClippingRect.js","webpack://build-a-transporter/../../node_modules/@popperjs/core/lib/dom-utils/getViewportRect.js","webpack://build-a-transporter/../../node_modules/@popperjs/core/lib/dom-utils/getDocumentRect.js","webpack://build-a-transporter/../../node_modules/@popperjs/core/lib/utils/computeOffsets.js","webpack://build-a-transporter/../../node_modules/@popperjs/core/lib/utils/detectOverflow.js","webpack://build-a-transporter/../../node_modules/@popperjs/core/lib/utils/computeAutoPlacement.js","webpack://build-a-transporter/../../node_modules/@popperjs/core/lib/modifiers/flip.js","webpack://build-a-transporter/../../node_modules/@popperjs/core/lib/modifiers/hide.js","webpack://build-a-transporter/../../node_modules/@popperjs/core/lib/modifiers/offset.js","webpack://build-a-transporter/../../node_modules/@popperjs/core/lib/modifiers/popperOffsets.js","webpack://build-a-transporter/../../node_modules/@popperjs/core/lib/modifiers/preventOverflow.js","webpack://build-a-transporter/../../node_modules/@popperjs/core/lib/utils/getAltAxis.js","webpack://build-a-transporter/../../node_modules/@popperjs/core/lib/dom-utils/getCompositeRect.js","webpack://build-a-transporter/../../node_modules/@popperjs/core/lib/dom-utils/getNodeScroll.js","webpack://build-a-transporter/../../node_modules/@popperjs/core/lib/dom-utils/getHTMLElementScroll.js","webpack://build-a-transporter/../../node_modules/@popperjs/core/lib/utils/orderModifiers.js","webpack://build-a-transporter/../../node_modules/@popperjs/core/lib/createPopper.js","webpack://build-a-transporter/../../node_modules/@popperjs/core/lib/utils/debounce.js","webpack://build-a-transporter/../../node_modules/@popperjs/core/lib/utils/mergeByName.js","webpack://build-a-transporter/../../node_modules/@popperjs/core/lib/popper-lite.js","webpack://build-a-transporter/../../node_modules/@popperjs/core/lib/popper.js","webpack://build-a-transporter/../../js/src/dropdown.js","webpack://build-a-transporter/../../js/src/util/backdrop.js","webpack://build-a-transporter/../../js/src/util/focustrap.js","webpack://build-a-transporter/../../js/src/util/scrollbar.js","webpack://build-a-transporter/../../js/src/modal.js","webpack://build-a-transporter/../../js/src/offcanvas.js","webpack://build-a-transporter/../../js/src/util/sanitizer.js","webpack://build-a-transporter/../../js/src/util/template-factory.js","webpack://build-a-transporter/../../js/src/tooltip.js","webpack://build-a-transporter/../../js/src/popover.js","webpack://build-a-transporter/../../js/src/scrollspy.js","webpack://build-a-transporter/../../js/src/tab.js","webpack://build-a-transporter/../../js/src/toast.js","webpack://build-a-transporter/../../js/index.umd.js","webpack://build-a-transporter/../node_modules/tslib/tslib.es6.js","webpack://build-a-transporter/../node_modules/src/Util.ts","webpack://build-a-transporter/../../src/css/layout/bounds.ts","webpack://build-a-transporter/../node_modules/css-line-break/node_modules/src/Util.ts","webpack://build-a-transporter/../node_modules/css-line-break/node_modules/utrie/node_modules/src/index.ts","webpack://build-a-transporter/../node_modules/css-line-break/node_modules/src/Trie.ts","webpack://build-a-transporter/../node_modules/src/linebreak-trie.ts","webpack://build-a-transporter/../node_modules/src/LineBreak.ts","webpack://build-a-transporter/../../src/css/syntax/tokenizer.ts","webpack://build-a-transporter/../../src/css/syntax/parser.ts","webpack://build-a-transporter/../../src/css/types/length.ts","webpack://build-a-transporter/../../src/css/types/length-percentage.ts","webpack://build-a-transporter/../../src/css/types/angle.ts","webpack://build-a-transporter/../../src/css/types/color.ts","webpack://build-a-transporter/../../src/css/property-descriptors/background-clip.ts","webpack://build-a-transporter/../../src/css/property-descriptors/background-color.ts","webpack://build-a-transporter/../../src/css/types/functions/gradient.ts","webpack://build-a-transporter/../../src/css/types/functions/linear-gradient.ts","webpack://build-a-transporter/../../src/css/types/functions/-prefix-linear-gradient.ts","webpack://build-a-transporter/../../src/css/types/functions/-webkit-gradient.ts","webpack://build-a-transporter/../../src/css/types/functions/radial-gradient.ts","webpack://build-a-transporter/../../src/css/types/functions/-prefix-radial-gradient.ts","webpack://build-a-transporter/../../src/css/types/image.ts","webpack://build-a-transporter/../../src/css/property-descriptors/background-size.ts","webpack://build-a-transporter/../../src/css/property-descriptors/background-image.ts","webpack://build-a-transporter/../../src/css/property-descriptors/background-origin.ts","webpack://build-a-transporter/../../src/css/property-descriptors/background-position.ts","webpack://build-a-transporter/../../src/css/property-descriptors/background-repeat.ts","webpack://build-a-transporter/../../src/css/property-descriptors/line-break.ts","webpack://build-a-transporter/../../src/css/property-descriptors/border-color.ts","webpack://build-a-transporter/../../src/css/property-descriptors/border-radius.ts","webpack://build-a-transporter/../../src/css/property-descriptors/border-style.ts","webpack://build-a-transporter/../../src/css/property-descriptors/border-width.ts","webpack://build-a-transporter/../../src/css/property-descriptors/color.ts","webpack://build-a-transporter/../../src/css/property-descriptors/direction.ts","webpack://build-a-transporter/../../src/css/property-descriptors/display.ts","webpack://build-a-transporter/../../src/css/property-descriptors/float.ts","webpack://build-a-transporter/../../src/css/property-descriptors/letter-spacing.ts","webpack://build-a-transporter/../../src/css/property-descriptors/word-break.ts","webpack://build-a-transporter/../../src/css/property-descriptors/line-height.ts","webpack://build-a-transporter/../../src/css/property-descriptors/list-style-image.ts","webpack://build-a-transporter/../../src/css/property-descriptors/list-style-position.ts","webpack://build-a-transporter/../../src/css/property-descriptors/list-style-type.ts","webpack://build-a-transporter/../../src/css/property-descriptors/margin.ts","webpack://build-a-transporter/../../src/css/property-descriptors/overflow.ts","webpack://build-a-transporter/../../src/css/property-descriptors/overflow-wrap.ts","webpack://build-a-transporter/../../src/css/property-descriptors/padding.ts","webpack://build-a-transporter/../../src/css/property-descriptors/text-align.ts","webpack://build-a-transporter/../../src/css/property-descriptors/position.ts","webpack://build-a-transporter/../../src/css/property-descriptors/text-shadow.ts","webpack://build-a-transporter/../../src/css/property-descriptors/text-transform.ts","webpack://build-a-transporter/../../src/css/property-descriptors/transform.ts","webpack://build-a-transporter/../../src/css/property-descriptors/transform-origin.ts","webpack://build-a-transporter/../../src/css/property-descriptors/visibility.ts","webpack://build-a-transporter/../node_modules/text-segmentation/node_modules/src/Util.ts","webpack://build-a-transporter/../../src/css/property-descriptors/z-index.ts","webpack://build-a-transporter/../../src/css/types/time.ts","webpack://build-a-transporter/../../src/css/property-descriptors/opacity.ts","webpack://build-a-transporter/../../src/css/property-descriptors/text-decoration-color.ts","webpack://build-a-transporter/../../src/css/property-descriptors/text-decoration-line.ts","webpack://build-a-transporter/../../src/css/property-descriptors/font-family.ts","webpack://build-a-transporter/../../src/css/property-descriptors/font-size.ts","webpack://build-a-transporter/../../src/css/property-descriptors/font-weight.ts","webpack://build-a-transporter/../../src/css/property-descriptors/font-variant.ts","webpack://build-a-transporter/../../src/css/property-descriptors/font-style.ts","webpack://build-a-transporter/../../src/core/bitwise.ts","webpack://build-a-transporter/../../src/css/property-descriptors/content.ts","webpack://build-a-transporter/../../src/css/property-descriptors/counter-increment.ts","webpack://build-a-transporter/../../src/css/property-descriptors/counter-reset.ts","webpack://build-a-transporter/../../src/css/property-descriptors/duration.ts","webpack://build-a-transporter/../../src/css/property-descriptors/quotes.ts","webpack://build-a-transporter/../../src/css/property-descriptors/box-shadow.ts","webpack://build-a-transporter/../../src/css/property-descriptors/paint-order.ts","webpack://build-a-transporter/../../src/css/property-descriptors/webkit-text-stroke-color.ts","webpack://build-a-transporter/../../src/css/property-descriptors/webkit-text-stroke-width.ts","webpack://build-a-transporter/../../src/css/index.ts","webpack://build-a-transporter/../../src/core/debugger.ts","webpack://build-a-transporter/../../src/dom/element-container.ts","webpack://build-a-transporter/../node_modules/src/grapheme-break-trie.ts","webpack://build-a-transporter/../node_modules/text-segmentation/node_modules/utrie/node_modules/src/index.ts","webpack://build-a-transporter/../node_modules/text-segmentation/node_modules/src/Trie.ts","webpack://build-a-transporter/../node_modules/src/GraphemeBreak.ts","webpack://build-a-transporter/../../src/dom/document-cloner.ts","webpack://build-a-transporter/../../src/core/features.ts","webpack://build-a-transporter/../../src/css/layout/text.ts","webpack://build-a-transporter/../../src/dom/text-container.ts","webpack://build-a-transporter/../../src/dom/replaced-elements/image-element-container.ts","webpack://build-a-transporter/../../src/dom/replaced-elements/canvas-element-container.ts","webpack://build-a-transporter/../../src/dom/replaced-elements/svg-element-container.ts","webpack://build-a-transporter/../../src/dom/elements/li-element-container.ts","webpack://build-a-transporter/../../src/dom/elements/ol-element-container.ts","webpack://build-a-transporter/../../src/dom/replaced-elements/input-element-container.ts","webpack://build-a-transporter/../../src/dom/elements/select-element-container.ts","webpack://build-a-transporter/../../src/dom/elements/textarea-element-container.ts","webpack://build-a-transporter/../../src/dom/replaced-elements/iframe-element-container.ts","webpack://build-a-transporter/../../src/dom/node-parser.ts","webpack://build-a-transporter/../../src/css/types/functions/counter.ts","webpack://build-a-transporter/../../src/render/bound-curves.ts","webpack://build-a-transporter/../../src/core/cache-storage.ts","webpack://build-a-transporter/../../src/render/vector.ts","webpack://build-a-transporter/../../src/render/bezier-curve.ts","webpack://build-a-transporter/../../src/render/effects.ts","webpack://build-a-transporter/../../src/render/path.ts","webpack://build-a-transporter/../../src/render/stacking-context.ts","webpack://build-a-transporter/../../src/render/border.ts","webpack://build-a-transporter/../../src/render/box-sizing.ts","webpack://build-a-transporter/../../src/render/background.ts","webpack://build-a-transporter/../../src/core/util.ts","webpack://build-a-transporter/../../src/render/font-metrics.ts","webpack://build-a-transporter/../../src/render/renderer.ts","webpack://build-a-transporter/../../src/render/canvas/canvas-renderer.ts","webpack://build-a-transporter/../../src/render/canvas/foreignobject-renderer.ts","webpack://build-a-transporter/../../src/core/logger.ts","webpack://build-a-transporter/../../src/core/context.ts","webpack://build-a-transporter/../../src/index.ts","webpack://build-a-transporter/./node_modules/html2pdf.js/dist/html2pdf.js","webpack://build-a-transporter/./node_modules/jquery/dist/jquery.js","webpack://build-a-transporter/./node_modules/fflate/esm/browser.js","webpack://build-a-transporter/../src/libs/globalObject.js","webpack://build-a-transporter/../src/libs/console.js","webpack://build-a-transporter/../src/libs/FileSaver.js","webpack://build-a-transporter/../src/libs/AtobBtoa.js","webpack://build-a-transporter/../src/libs/rgbcolor.js","webpack://build-a-transporter/../src/libs/md5.js","webpack://build-a-transporter/../src/libs/rc4.js","webpack://build-a-transporter/../src/libs/pdfsecurity.js","webpack://build-a-transporter/../src/libs/pdfname.js","webpack://build-a-transporter/../src/jspdf.js","webpack://build-a-transporter/../src/modules/acroform.js","webpack://build-a-transporter/../src/libs/fontFace.js","webpack://build-a-transporter/../src/modules/addimage.js","webpack://build-a-transporter/../src/modules/annotations.js","webpack://build-a-transporter/../src/modules/arabic.js","webpack://build-a-transporter/../src/modules/autoprint.js","webpack://build-a-transporter/../src/modules/canvas.js","webpack://build-a-transporter/../src/modules/cell.js","webpack://build-a-transporter/../src/modules/javascript.js","webpack://build-a-transporter/../src/modules/context2d.js","webpack://build-a-transporter/../src/modules/filters.js","webpack://build-a-transporter/../src/modules/fileloading.js","webpack://build-a-transporter/../src/modules/html.js","webpack://build-a-transporter/../src/modules/outline.js","webpack://build-a-transporter/../src/modules/jpeg_support.js","webpack://build-a-transporter/../src/libs/png.js","webpack://build-a-transporter/../src/modules/split_text_to_size.js","webpack://build-a-transporter/../src/libs/omggif.js","webpack://build-a-transporter/../src/libs/JPEGEncoder.js","webpack://build-a-transporter/../src/libs/BMPDecoder.js","webpack://build-a-transporter/../src/libs/WebPDecoder.js","webpack://build-a-transporter/../src/modules/png_support.js","webpack://build-a-transporter/../src/modules/gif_support.js","webpack://build-a-transporter/../src/modules/bmp_support.js","webpack://build-a-transporter/../src/modules/webp_support.js","webpack://build-a-transporter/../src/modules/rgba_support.js","webpack://build-a-transporter/../src/modules/setlanguage.js","webpack://build-a-transporter/../src/modules/standard_fonts_metrics.js","webpack://build-a-transporter/../src/modules/ttfsupport.js","webpack://build-a-transporter/../src/modules/svg.js","webpack://build-a-transporter/../src/modules/total_pages.js","webpack://build-a-transporter/../src/modules/viewerpreferences.js","webpack://build-a-transporter/../src/modules/xmp_metadata.js","webpack://build-a-transporter/../src/modules/utf8.js","webpack://build-a-transporter/../src/modules/vfs.js","webpack://build-a-transporter/../src/libs/bidiEngine.js","webpack://build-a-transporter/../src/libs/ttffont.js","webpack://build-a-transporter/./node_modules/vue-loader/dist/exportHelper.js","webpack://build-a-transporter/./node_modules/webfontloader/webfontloader.js","webpack://build-a-transporter/./node_modules/core-js/internals/a-callable.js","webpack://build-a-transporter/./node_modules/core-js/internals/a-possible-prototype.js","webpack://build-a-transporter/./node_modules/core-js/internals/a-set.js","webpack://build-a-transporter/./node_modules/core-js/internals/an-object.js","webpack://build-a-transporter/./node_modules/core-js/internals/array-buffer-basic-detection.js","webpack://build-a-transporter/./node_modules/core-js/internals/array-buffer-byte-length.js","webpack://build-a-transporter/./node_modules/core-js/internals/array-buffer-is-detached.js","webpack://build-a-transporter/./node_modules/core-js/internals/array-buffer-transfer.js","webpack://build-a-transporter/./node_modules/core-js/internals/array-buffer-view-core.js","webpack://build-a-transporter/./node_modules/core-js/internals/array-from-constructor-and-list.js","webpack://build-a-transporter/./node_modules/core-js/internals/array-includes.js","webpack://build-a-transporter/./node_modules/core-js/internals/array-set-length.js","webpack://build-a-transporter/./node_modules/core-js/internals/array-to-reversed.js","webpack://build-a-transporter/./node_modules/core-js/internals/array-with.js","webpack://build-a-transporter/./node_modules/core-js/internals/classof-raw.js","webpack://build-a-transporter/./node_modules/core-js/internals/classof.js","webpack://build-a-transporter/./node_modules/core-js/internals/copy-constructor-properties.js","webpack://build-a-transporter/./node_modules/core-js/internals/correct-prototype-getter.js","webpack://build-a-transporter/./node_modules/core-js/internals/create-non-enumerable-property.js","webpack://build-a-transporter/./node_modules/core-js/internals/create-property-descriptor.js","webpack://build-a-transporter/./node_modules/core-js/internals/define-built-in-accessor.js","webpack://build-a-transporter/./node_modules/core-js/internals/define-built-in.js","webpack://build-a-transporter/./node_modules/core-js/internals/define-global-property.js","webpack://build-a-transporter/./node_modules/core-js/internals/descriptors.js","webpack://build-a-transporter/./node_modules/core-js/internals/detach-transferable.js","webpack://build-a-transporter/./node_modules/core-js/internals/document-create-element.js","webpack://build-a-transporter/./node_modules/core-js/internals/does-not-exceed-safe-integer.js","webpack://build-a-transporter/./node_modules/core-js/internals/engine-is-browser.js","webpack://build-a-transporter/./node_modules/core-js/internals/engine-is-deno.js","webpack://build-a-transporter/./node_modules/core-js/internals/engine-is-node.js","webpack://build-a-transporter/./node_modules/core-js/internals/engine-user-agent.js","webpack://build-a-transporter/./node_modules/core-js/internals/engine-v8-version.js","webpack://build-a-transporter/./node_modules/core-js/internals/enum-bug-keys.js","webpack://build-a-transporter/./node_modules/core-js/internals/export.js","webpack://build-a-transporter/./node_modules/core-js/internals/fails.js","webpack://build-a-transporter/./node_modules/core-js/internals/function-bind-native.js","webpack://build-a-transporter/./node_modules/core-js/internals/function-call.js","webpack://build-a-transporter/./node_modules/core-js/internals/function-name.js","webpack://build-a-transporter/./node_modules/core-js/internals/function-uncurry-this-accessor.js","webpack://build-a-transporter/./node_modules/core-js/internals/function-uncurry-this.js","webpack://build-a-transporter/./node_modules/core-js/internals/get-built-in.js","webpack://build-a-transporter/./node_modules/core-js/internals/get-iterator-direct.js","webpack://build-a-transporter/./node_modules/core-js/internals/get-method.js","webpack://build-a-transporter/./node_modules/core-js/internals/get-set-record.js","webpack://build-a-transporter/./node_modules/core-js/internals/global.js","webpack://build-a-transporter/./node_modules/core-js/internals/has-own-property.js","webpack://build-a-transporter/./node_modules/core-js/internals/hidden-keys.js","webpack://build-a-transporter/./node_modules/core-js/internals/ie8-dom-define.js","webpack://build-a-transporter/./node_modules/core-js/internals/indexed-object.js","webpack://build-a-transporter/./node_modules/core-js/internals/inspect-source.js","webpack://build-a-transporter/./node_modules/core-js/internals/internal-state.js","webpack://build-a-transporter/./node_modules/core-js/internals/is-array.js","webpack://build-a-transporter/./node_modules/core-js/internals/is-big-int-array.js","webpack://build-a-transporter/./node_modules/core-js/internals/is-callable.js","webpack://build-a-transporter/./node_modules/core-js/internals/is-forced.js","webpack://build-a-transporter/./node_modules/core-js/internals/is-null-or-undefined.js","webpack://build-a-transporter/./node_modules/core-js/internals/is-object.js","webpack://build-a-transporter/./node_modules/core-js/internals/is-possible-prototype.js","webpack://build-a-transporter/./node_modules/core-js/internals/is-pure.js","webpack://build-a-transporter/./node_modules/core-js/internals/is-symbol.js","webpack://build-a-transporter/./node_modules/core-js/internals/iterate-simple.js","webpack://build-a-transporter/./node_modules/core-js/internals/iterator-close.js","webpack://build-a-transporter/./node_modules/core-js/internals/length-of-array-like.js","webpack://build-a-transporter/./node_modules/core-js/internals/make-built-in.js","webpack://build-a-transporter/./node_modules/core-js/internals/math-trunc.js","webpack://build-a-transporter/./node_modules/core-js/internals/object-define-property.js","webpack://build-a-transporter/./node_modules/core-js/internals/object-get-own-property-descriptor.js","webpack://build-a-transporter/./node_modules/core-js/internals/object-get-own-property-names.js","webpack://build-a-transporter/./node_modules/core-js/internals/object-get-own-property-symbols.js","webpack://build-a-transporter/./node_modules/core-js/internals/object-get-prototype-of.js","webpack://build-a-transporter/./node_modules/core-js/internals/object-is-prototype-of.js","webpack://build-a-transporter/./node_modules/core-js/internals/object-keys-internal.js","webpack://build-a-transporter/./node_modules/core-js/internals/object-property-is-enumerable.js","webpack://build-a-transporter/./node_modules/core-js/internals/object-set-prototype-of.js","webpack://build-a-transporter/./node_modules/core-js/internals/ordinary-to-primitive.js","webpack://build-a-transporter/./node_modules/core-js/internals/own-keys.js","webpack://build-a-transporter/./node_modules/core-js/internals/regexp-flags.js","webpack://build-a-transporter/./node_modules/core-js/internals/require-object-coercible.js","webpack://build-a-transporter/./node_modules/core-js/internals/set-clone.js","webpack://build-a-transporter/./node_modules/core-js/internals/set-difference.js","webpack://build-a-transporter/./node_modules/core-js/internals/set-helpers.js","webpack://build-a-transporter/./node_modules/core-js/internals/set-intersection.js","webpack://build-a-transporter/./node_modules/core-js/internals/set-is-disjoint-from.js","webpack://build-a-transporter/./node_modules/core-js/internals/set-is-subset-of.js","webpack://build-a-transporter/./node_modules/core-js/internals/set-is-superset-of.js","webpack://build-a-transporter/./node_modules/core-js/internals/set-iterate.js","webpack://build-a-transporter/./node_modules/core-js/internals/set-method-accept-set-like.js","webpack://build-a-transporter/./node_modules/core-js/internals/set-size.js","webpack://build-a-transporter/./node_modules/core-js/internals/set-symmetric-difference.js","webpack://build-a-transporter/./node_modules/core-js/internals/set-union.js","webpack://build-a-transporter/./node_modules/core-js/internals/shared-key.js","webpack://build-a-transporter/./node_modules/core-js/internals/shared-store.js","webpack://build-a-transporter/./node_modules/core-js/internals/shared.js","webpack://build-a-transporter/./node_modules/core-js/internals/structured-clone-proper-transfer.js","webpack://build-a-transporter/./node_modules/core-js/internals/symbol-constructor-detection.js","webpack://build-a-transporter/./node_modules/core-js/internals/to-absolute-index.js","webpack://build-a-transporter/./node_modules/core-js/internals/to-big-int.js","webpack://build-a-transporter/./node_modules/core-js/internals/to-index.js","webpack://build-a-transporter/./node_modules/core-js/internals/to-indexed-object.js","webpack://build-a-transporter/./node_modules/core-js/internals/to-integer-or-infinity.js","webpack://build-a-transporter/./node_modules/core-js/internals/to-length.js","webpack://build-a-transporter/./node_modules/core-js/internals/to-object.js","webpack://build-a-transporter/./node_modules/core-js/internals/to-primitive.js","webpack://build-a-transporter/./node_modules/core-js/internals/to-property-key.js","webpack://build-a-transporter/./node_modules/core-js/internals/to-string-tag-support.js","webpack://build-a-transporter/./node_modules/core-js/internals/to-string.js","webpack://build-a-transporter/./node_modules/core-js/internals/try-node-require.js","webpack://build-a-transporter/./node_modules/core-js/internals/try-to-string.js","webpack://build-a-transporter/./node_modules/core-js/internals/uid.js","webpack://build-a-transporter/./node_modules/core-js/internals/use-symbol-as-uid.js","webpack://build-a-transporter/./node_modules/core-js/internals/v8-prototype-define-bug.js","webpack://build-a-transporter/./node_modules/core-js/internals/validate-arguments-length.js","webpack://build-a-transporter/./node_modules/core-js/internals/weak-map-basic-detection.js","webpack://build-a-transporter/./node_modules/core-js/internals/well-known-symbol.js","webpack://build-a-transporter/./node_modules/core-js/modules/es.array-buffer.detached.js","webpack://build-a-transporter/./node_modules/core-js/modules/es.array-buffer.transfer-to-fixed-length.js","webpack://build-a-transporter/./node_modules/core-js/modules/es.array-buffer.transfer.js","webpack://build-a-transporter/./node_modules/core-js/modules/es.array.push.js","webpack://build-a-transporter/./node_modules/core-js/modules/es.regexp.flags.js","webpack://build-a-transporter/./node_modules/core-js/modules/es.set.difference.v2.js","webpack://build-a-transporter/./node_modules/core-js/modules/es.set.intersection.v2.js","webpack://build-a-transporter/./node_modules/core-js/modules/es.set.is-disjoint-from.v2.js","webpack://build-a-transporter/./node_modules/core-js/modules/es.set.is-subset-of.v2.js","webpack://build-a-transporter/./node_modules/core-js/modules/es.set.is-superset-of.v2.js","webpack://build-a-transporter/./node_modules/core-js/modules/es.set.symmetric-difference.v2.js","webpack://build-a-transporter/./node_modules/core-js/modules/es.set.union.v2.js","webpack://build-a-transporter/./node_modules/core-js/modules/es.typed-array.to-reversed.js","webpack://build-a-transporter/./node_modules/core-js/modules/es.typed-array.to-sorted.js","webpack://build-a-transporter/./node_modules/core-js/modules/es.typed-array.with.js","webpack://build-a-transporter/./node_modules/core-js/modules/esnext.set.difference.v2.js","webpack://build-a-transporter/./node_modules/core-js/modules/esnext.set.intersection.v2.js","webpack://build-a-transporter/./node_modules/core-js/modules/esnext.set.is-disjoint-from.v2.js","webpack://build-a-transporter/./node_modules/core-js/modules/esnext.set.is-subset-of.v2.js","webpack://build-a-transporter/./node_modules/core-js/modules/esnext.set.is-superset-of.v2.js","webpack://build-a-transporter/./node_modules/core-js/modules/esnext.set.symmetric-difference.v2.js","webpack://build-a-transporter/./node_modules/core-js/modules/esnext.set.union.v2.js","webpack://build-a-transporter/./node_modules/core-js/modules/web.url-search-params.delete.js","webpack://build-a-transporter/./node_modules/core-js/modules/web.url-search-params.has.js","webpack://build-a-transporter/./node_modules/core-js/modules/web.url-search-params.size.js","webpack://build-a-transporter/./node_modules/@babel/runtime/helpers/esm/typeof.js","webpack://build-a-transporter/./node_modules/vue-responsive-video-background-player/dist/vue-responsive-video-background-player.mjs"],"sourcesContent":["/**\n* @vue/reactivity v3.4.28\n* (c) 2018-present Yuxi (Evan) You and Vue contributors\n* @license MIT\n**/\nimport { NOOP, extend, isArray, isSymbol, isMap, isIntegerKey, hasOwn, hasChanged, isObject, makeMap, capitalize, toRawType, def, isFunction } 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\nlet activeEffect;\nclass ReactiveEffect {\n constructor(fn, trigger, scheduler, scope) {\n this.fn = fn;\n this.trigger = trigger;\n this.scheduler = scheduler;\n this.active = true;\n this.deps = [];\n /**\n * @internal\n */\n this._dirtyLevel = 4;\n /**\n * @internal\n */\n this._trackId = 0;\n /**\n * @internal\n */\n this._runnings = 0;\n /**\n * @internal\n */\n this._shouldSchedule = false;\n /**\n * @internal\n */\n this._depsLength = 0;\n recordEffectScope(this, scope);\n }\n get dirty() {\n if (this._dirtyLevel === 2 || this._dirtyLevel === 3) {\n this._dirtyLevel = 1;\n pauseTracking();\n for (let i = 0; i < this._depsLength; i++) {\n const dep = this.deps[i];\n if (dep.computed) {\n triggerComputed(dep.computed);\n if (this._dirtyLevel >= 4) {\n break;\n }\n }\n }\n if (this._dirtyLevel === 1) {\n this._dirtyLevel = 0;\n }\n resetTracking();\n }\n return this._dirtyLevel >= 4;\n }\n set dirty(v) {\n this._dirtyLevel = v ? 4 : 0;\n }\n run() {\n this._dirtyLevel = 0;\n if (!this.active) {\n return this.fn();\n }\n let lastShouldTrack = shouldTrack;\n let lastEffect = activeEffect;\n try {\n shouldTrack = true;\n activeEffect = this;\n this._runnings++;\n preCleanupEffect(this);\n return this.fn();\n } finally {\n postCleanupEffect(this);\n this._runnings--;\n activeEffect = lastEffect;\n shouldTrack = lastShouldTrack;\n }\n }\n stop() {\n if (this.active) {\n preCleanupEffect(this);\n postCleanupEffect(this);\n this.onStop && this.onStop();\n this.active = false;\n }\n }\n}\nfunction triggerComputed(computed) {\n return computed.value;\n}\nfunction preCleanupEffect(effect2) {\n effect2._trackId++;\n effect2._depsLength = 0;\n}\nfunction postCleanupEffect(effect2) {\n if (effect2.deps.length > effect2._depsLength) {\n for (let i = effect2._depsLength; i < effect2.deps.length; i++) {\n cleanupDepEffect(effect2.deps[i], effect2);\n }\n effect2.deps.length = effect2._depsLength;\n }\n}\nfunction cleanupDepEffect(dep, effect2) {\n const trackId = dep.get(effect2);\n if (trackId !== void 0 && effect2._trackId !== trackId) {\n dep.delete(effect2);\n if (dep.size === 0) {\n dep.cleanup();\n }\n }\n}\nfunction effect(fn, options) {\n if (fn.effect instanceof ReactiveEffect) {\n fn = fn.effect.fn;\n }\n const _effect = new ReactiveEffect(fn, NOOP, () => {\n if (_effect.dirty) {\n _effect.run();\n }\n });\n if (options) {\n extend(_effect, options);\n if (options.scope) 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;\nlet pauseScheduleStack = 0;\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 pauseScheduling() {\n pauseScheduleStack++;\n}\nfunction resetScheduling() {\n pauseScheduleStack--;\n while (!pauseScheduleStack && queueEffectSchedulers.length) {\n queueEffectSchedulers.shift()();\n }\n}\nfunction trackEffect(effect2, dep, debuggerEventExtraInfo) {\n var _a;\n if (dep.get(effect2) !== effect2._trackId) {\n dep.set(effect2, effect2._trackId);\n const oldDep = effect2.deps[effect2._depsLength];\n if (oldDep !== dep) {\n if (oldDep) {\n cleanupDepEffect(oldDep, effect2);\n }\n effect2.deps[effect2._depsLength++] = dep;\n } else {\n effect2._depsLength++;\n }\n if (!!(process.env.NODE_ENV !== \"production\")) {\n (_a = effect2.onTrack) == null ? void 0 : _a.call(effect2, extend({ effect: effect2 }, debuggerEventExtraInfo));\n }\n }\n}\nconst queueEffectSchedulers = [];\nfunction triggerEffects(dep, dirtyLevel, debuggerEventExtraInfo) {\n var _a;\n pauseScheduling();\n for (const effect2 of dep.keys()) {\n let tracking;\n if (effect2._dirtyLevel < dirtyLevel && (tracking != null ? tracking : tracking = dep.get(effect2) === effect2._trackId)) {\n effect2._shouldSchedule || (effect2._shouldSchedule = effect2._dirtyLevel === 0);\n effect2._dirtyLevel = dirtyLevel;\n }\n if (effect2._shouldSchedule && (tracking != null ? tracking : tracking = dep.get(effect2) === effect2._trackId)) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n (_a = effect2.onTrigger) == null ? void 0 : _a.call(effect2, extend({ effect: effect2 }, debuggerEventExtraInfo));\n }\n effect2.trigger();\n if ((!effect2._runnings || effect2.allowRecurse) && effect2._dirtyLevel !== 2) {\n effect2._shouldSchedule = false;\n if (effect2.scheduler) {\n queueEffectSchedulers.push(effect2.scheduler);\n }\n }\n }\n }\n resetScheduling();\n}\n\nconst createDep = (cleanup, computed) => {\n const dep = /* @__PURE__ */ new Map();\n dep.cleanup = cleanup;\n dep.computed = computed;\n return dep;\n};\n\nconst targetMap = /* @__PURE__ */ new WeakMap();\nconst ITERATE_KEY = Symbol(!!(process.env.NODE_ENV !== \"production\") ? \"iterate\" : \"\");\nconst MAP_KEY_ITERATE_KEY = Symbol(!!(process.env.NODE_ENV !== \"production\") ? \"Map key iterate\" : \"\");\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(() => depsMap.delete(key)));\n }\n trackEffect(\n activeEffect,\n dep,\n !!(process.env.NODE_ENV !== \"production\") ? {\n target,\n type,\n key\n } : void 0\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 pauseScheduling();\n for (const dep of deps) {\n if (dep) {\n triggerEffects(\n dep,\n 4,\n !!(process.env.NODE_ENV !== \"production\") ? {\n target,\n type,\n key,\n newValue,\n oldValue,\n oldTarget\n } : void 0\n );\n }\n }\n resetScheduling();\n}\nfunction getDepFromReactive(object, key) {\n const depsMap = targetMap.get(object);\n return depsMap && depsMap.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 pauseScheduling();\n const res = toRaw(this)[key].apply(this, args);\n resetScheduling();\n resetTracking();\n return res;\n };\n });\n return instrumentations;\n}\nfunction hasOwnProperty(key) {\n if (!isSymbol(key)) key = String(key);\n const obj = toRaw(this);\n track(obj, \"has\", key);\n return obj.hasOwnProperty(key);\n}\nclass BaseReactiveHandler {\n constructor(_isReadonly = false, _isShallow = false) {\n this._isReadonly = _isReadonly;\n this._isShallow = _isShallow;\n }\n get(target, key, receiver) {\n const isReadonly2 = this._isReadonly, isShallow2 = this._isShallow;\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 isShallow2;\n } else if (key === \"__v_raw\") {\n if (receiver === (isReadonly2 ? isShallow2 ? shallowReadonlyMap : readonlyMap : isShallow2 ? shallowReactiveMap : reactiveMap).get(target) || // receiver is not the reactive proxy, but has the same prototype\n // this means the reciever is a user proxy of the reactive proxy\n Object.getPrototypeOf(target) === Object.getPrototypeOf(receiver)) {\n return target;\n }\n return;\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 (isShallow2) {\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(isShallow2 = false) {\n super(false, isShallow2);\n }\n set(target, key, value, receiver) {\n let oldValue = target[key];\n if (!this._isShallow) {\n const isOldValueReadonly = isReadonly(oldValue);\n if (!isShallow(value) && !isReadonly(value)) {\n oldValue = toRaw(oldValue);\n value = toRaw(value);\n }\n if (!isArray(target) && isRef(oldValue) && !isRef(value)) {\n if (isOldValueReadonly) {\n return false;\n } else {\n oldValue.value = value;\n return true;\n }\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(isShallow2 = false) {\n super(true, isShallow2);\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 warn(\n `${capitalize(type)} operation ${key}failed: target is readonly.`,\n toRaw(this)\n );\n }\n return type === \"delete\" ? false : type === \"clear\" ? void 0 : 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 = [\n \"keys\",\n \"values\",\n \"entries\",\n Symbol.iterator\n ];\n iteratorMethods.forEach((method) => {\n mutableInstrumentations2[method] = createIterableMethod(method, false, false);\n readonlyInstrumentations2[method] = createIterableMethod(method, true, false);\n shallowInstrumentations2[method] = createIterableMethod(method, false, true);\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 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 warn(\n `value cannot be made ${isReadonly2 ? \"readonly\" : \"reactive\"}: ${String(\n target\n )}`\n );\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 value ? !!value[\"__v_raw\"] : false;\n}\nfunction toRaw(observed) {\n const raw = observed && observed[\"__v_raw\"];\n return raw ? toRaw(raw) : observed;\n}\nfunction markRaw(value) {\n if (Object.isExtensible(value)) {\n def(value, \"__v_skip\", true);\n }\n return value;\n}\nconst toReactive = (value) => isObject(value) ? reactive(value) : value;\nconst toReadonly = (value) => isObject(value) ? readonly(value) : value;\n\nconst COMPUTED_SIDE_EFFECT_WARN = `Computed is still dirty after getter evaluation, likely because a computed is mutating its own dependency in its getter. State mutations in computed getters should be avoided. Check the docs for more details: https://vuejs.org/guide/essentials/computed.html#getters-should-be-side-effect-free`;\nclass ComputedRefImpl {\n constructor(getter, _setter, isReadonly, isSSR) {\n this.getter = getter;\n this._setter = _setter;\n this.dep = void 0;\n this.__v_isRef = true;\n this[\"__v_isReadonly\"] = false;\n this.effect = new ReactiveEffect(\n () => getter(this._value),\n () => triggerRefValue(\n this,\n this.effect._dirtyLevel === 2 ? 2 : 3\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 if ((!self._cacheable || self.effect.dirty) && hasChanged(self._value, self._value = self.effect.run())) {\n triggerRefValue(self, 4);\n }\n trackRefValue(self);\n if (self.effect._dirtyLevel >= 2) {\n if (!!(process.env.NODE_ENV !== \"production\") && this._warnRecursive) {\n warn(COMPUTED_SIDE_EFFECT_WARN, `\n\ngetter: `, this.getter);\n }\n triggerRefValue(self, 2);\n }\n return self._value;\n }\n set value(newValue) {\n this._setter(newValue);\n }\n // #region polyfill _dirty for backward compatibility third party code for Vue <= 3.3.x\n get _dirty() {\n return this.effect.dirty;\n }\n set _dirty(v) {\n this.effect.dirty = v;\n }\n // #endregion\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 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\nfunction trackRefValue(ref2) {\n var _a;\n if (shouldTrack && activeEffect) {\n ref2 = toRaw(ref2);\n trackEffect(\n activeEffect,\n (_a = ref2.dep) != null ? _a : ref2.dep = createDep(\n () => ref2.dep = void 0,\n ref2 instanceof ComputedRefImpl ? ref2 : void 0\n ),\n !!(process.env.NODE_ENV !== \"production\") ? {\n target: ref2,\n type: \"get\",\n key: \"value\"\n } : void 0\n );\n }\n}\nfunction triggerRefValue(ref2, dirtyLevel = 4, newVal, oldVal) {\n ref2 = toRaw(ref2);\n const dep = ref2.dep;\n if (dep) {\n triggerEffects(\n dep,\n dirtyLevel,\n !!(process.env.NODE_ENV !== \"production\") ? {\n target: ref2,\n type: \"set\",\n key: \"value\",\n newValue: newVal,\n oldValue: oldVal\n } : void 0\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 const oldVal = this._rawValue;\n this._rawValue = newVal;\n this._value = useDirectValue ? newVal : toReactive(newVal);\n triggerRefValue(this, 4, newVal, oldVal);\n }\n }\n}\nfunction triggerRef(ref2) {\n triggerRefValue(ref2, 4, !!(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 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\nconst deferredComputed = computed;\n\nconst TrackOpTypes = {\n \"GET\": \"get\",\n \"HAS\": \"has\",\n \"ITERATE\": \"iterate\"\n};\nconst TriggerOpTypes = {\n \"SET\": \"set\",\n \"ADD\": \"add\",\n \"DELETE\": \"delete\",\n \"CLEAR\": \"clear\"\n};\nconst ReactiveFlags = {\n \"SKIP\": \"__v_skip\",\n \"IS_REACTIVE\": \"__v_isReactive\",\n \"IS_READONLY\": \"__v_isReadonly\",\n \"IS_SHALLOW\": \"__v_isShallow\",\n \"RAW\": \"__v_raw\"\n};\n\nexport { EffectScope, ITERATE_KEY, ReactiveEffect, ReactiveFlags, TrackOpTypes, TriggerOpTypes, computed, customRef, deferredComputed, effect, effectScope, enableTracking, getCurrentScope, isProxy, isReactive, isReadonly, isRef, isShallow, markRaw, onScopeDispose, pauseScheduling, pauseTracking, proxyRefs, reactive, readonly, ref, resetScheduling, resetTracking, shallowReactive, shallowReadonly, shallowRef, stop, toRaw, toRef, toRefs, toValue, track, trigger, triggerRef, unref };\n","/**\n* @vue/runtime-core v3.4.28\n* (c) 2018-present Yuxi (Evan) You and Vue contributors\n* @license MIT\n**/\nimport { pauseTracking, resetTracking, isRef, toRaw, shallowReadonly, ref, track, reactive, shallowReactive, trigger, ReactiveEffect, isShallow, isReactive, getCurrentScope, isProxy, proxyRefs, markRaw, EffectScope, computed as computed$1, customRef, isReadonly } from '@vue/reactivity';\nexport { EffectScope, ReactiveEffect, TrackOpTypes, TriggerOpTypes, 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, isBuiltInDirective, isGloballyAllowed, NO, isReservedProp, EMPTY_ARR, toRawType, makeMap, def, remove, normalizeClass, stringifyStyle, normalizeStyle, isKnownSvgAttr, isBooleanAttr, isKnownHtmlAttr, includeBooleanAttr, isRenderableAttrValue, invokeArrayFns, hasChanged, isSet, isMap, isPlainObject, isRegExp } 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$1(msg, ...args) {\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 // eslint-disable-next-line no-restricted-syntax\n msg + args.map((a) => {\n var _a, _b;\n return (_b = (_a = a.toString) == null ? void 0 : _a.call(a)) != null ? _b : JSON.stringify(a);\n }).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\")) return;\n if (val === void 0) {\n return;\n } else if (typeof val !== \"number\") {\n warn$1(`${type} is not a valid number - got ${JSON.stringify(val)}.`);\n } else if (isNaN(val)) {\n warn$1(`${type} is NaN - the duration expression might be incorrect.`);\n }\n}\n\nconst ErrorCodes = {\n \"SETUP_FUNCTION\": 0,\n \"0\": \"SETUP_FUNCTION\",\n \"RENDER_FUNCTION\": 1,\n \"1\": \"RENDER_FUNCTION\",\n \"WATCH_GETTER\": 2,\n \"2\": \"WATCH_GETTER\",\n \"WATCH_CALLBACK\": 3,\n \"3\": \"WATCH_CALLBACK\",\n \"WATCH_CLEANUP\": 4,\n \"4\": \"WATCH_CLEANUP\",\n \"NATIVE_EVENT_HANDLER\": 5,\n \"5\": \"NATIVE_EVENT_HANDLER\",\n \"COMPONENT_EVENT_HANDLER\": 6,\n \"6\": \"COMPONENT_EVENT_HANDLER\",\n \"VNODE_HOOK\": 7,\n \"7\": \"VNODE_HOOK\",\n \"DIRECTIVE_HOOK\": 8,\n \"8\": \"DIRECTIVE_HOOK\",\n \"TRANSITION_HOOK\": 9,\n \"9\": \"TRANSITION_HOOK\",\n \"APP_ERROR_HANDLER\": 10,\n \"10\": \"APP_ERROR_HANDLER\",\n \"APP_WARN_HANDLER\": 11,\n \"11\": \"APP_WARN_HANDLER\",\n \"FUNCTION_REF\": 12,\n \"12\": \"FUNCTION_REF\",\n \"ASYNC_COMPONENT_LOADER\": 13,\n \"13\": \"ASYNC_COMPONENT_LOADER\",\n \"SCHEDULER\": 14,\n \"14\": \"SCHEDULER\"\n};\nconst ErrorTypeStrings$1 = {\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://github.com/vuejs/core .\"\n};\nfunction callWithErrorHandling(fn, instance, type, args) {\n try {\n return args ? fn(...args) : fn();\n } catch (err) {\n handleError(err, instance, type);\n }\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 if (isArray(fn)) {\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 } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$1(\n `Invalid value type passed to callWithAsyncErrorHandling(): ${typeof fn}`\n );\n }\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$1[type] : `https://vuejs.org/error-reference/#runtime-${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 pauseTracking();\n callWithErrorHandling(\n appErrorHandler,\n null,\n 10,\n [err, exposedInstance, errorInfo]\n );\n resetTracking();\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$1[type];\n if (contextVNode) {\n pushWarningContext(contextVNode);\n }\n warn$1(`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(instance, 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 (instance && cb.id !== instance.uid) {\n continue;\n }\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)].sort(\n (a, b) => getId(a) - getId(b)\n );\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 for (postFlushIndex = 0; postFlushIndex < activePostFlushCbs.length; postFlushIndex++) {\n const cb = activePostFlushCbs[postFlushIndex];\n if (!!(process.env.NODE_ENV !== \"production\") && checkRecursiveUpdates(seen, cb)) {\n continue;\n }\n if (cb.active !== false) cb();\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) return -1;\n if (b.pre && !a.pre) 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 handleError(\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 null,\n 10\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.effect.dirty = true;\n instance.update();\n isHmrUpdating = false;\n });\n}\nfunction reload(id, newComp) {\n const record = map.get(id);\n if (!record) 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 instance.parent.effect.dirty = true;\n queueJob(() => {\n instance.parent.update();\n hmrDirtyComponents.delete(oldComp);\n });\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$1;\nlet buffer = [];\nlet devtoolsNotInstalled = false;\nfunction emit$1(event, ...args) {\n if (devtools$1) {\n devtools$1.emit(event, ...args);\n } else if (!devtoolsNotInstalled) {\n buffer.push({ event, args });\n }\n}\nfunction setDevtoolsHook$1(hook, target) {\n var _a, _b;\n devtools$1 = hook;\n if (devtools$1) {\n devtools$1.enabled = true;\n buffer.forEach(({ event, args }) => devtools$1.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 // eslint-disable-next-line no-restricted-syntax\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$1(newHook, target);\n });\n setTimeout(() => {\n if (!devtools$1) {\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$1 && typeof devtools$1.cleanupBuffer === \"function\" && // remove the component if it wasn't buffered\n !devtools$1.cleanupBuffer(component)) {\n _devtoolsComponentRemoved(component);\n }\n};\n/*! #__NO_SIDE_EFFECTS__ */\n// @__NO_SIDE_EFFECTS__\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) 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$1(\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$1(\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$1(\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(\n event\n )}\" 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) 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 propsOptions: [propsOptions],\n slots,\n attrs,\n emit,\n render,\n renderCache,\n props,\n data,\n setupState,\n ctx,\n inheritAttrs\n } = instance;\n const prev = setCurrentRenderingInstance(instance);\n let result;\n let fallthroughAttrs;\n if (!!(process.env.NODE_ENV !== \"production\")) {\n accessedAttrs = false;\n }\n try {\n if (vnode.shapeFlag & 4) {\n const proxyToUse = withProxy || proxy;\n const thisProxy = !!(process.env.NODE_ENV !== \"production\") && setupState.__isScriptSetup ? new Proxy(proxyToUse, {\n get(target, key, receiver) {\n warn$1(\n `Property '${String(\n key\n )}' was accessed via 'this'. Avoid using 'this' in templates.`\n );\n return Reflect.get(target, key, receiver);\n }\n }) : proxyToUse;\n result = normalizeVNode(\n render.call(\n thisProxy,\n proxyToUse,\n renderCache,\n !!(process.env.NODE_ENV !== \"production\") ? shallowReadonly(props) : 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 !!(process.env.NODE_ENV !== \"production\") ? shallowReadonly(props) : props,\n !!(process.env.NODE_ENV !== \"production\") ? {\n get attrs() {\n markAttrsAccessed();\n return shallowReadonly(attrs);\n },\n slots,\n emit\n } : { attrs, slots, emit }\n ) : render2(\n !!(process.env.NODE_ENV !== \"production\") ? shallowReadonly(props) : props,\n null\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, false, true);\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$1(\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$1(\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$1(\n `Runtime directive used on component with non-element root node. The directives will not function as intended.`\n );\n }\n root = cloneVNode(root, null, false, true);\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$1(\n `Component inside 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, false);\n if (!childRoot) {\n return [vnode, void 0];\n } else if (!!(process.env.NODE_ENV !== \"production\") && childRoot.patchFlag > 0 && childRoot.patchFlag & 2048) {\n return getChildRoot(childRoot);\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, recurse = true) {\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 if (!!(process.env.NODE_ENV !== \"production\") && recurse && singleRoot.patchFlag > 0 && singleRoot.patchFlag & 2048) {\n return filterSingleRoot(singleRoot.children);\n }\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) {\n const root = parent.subTree;\n if (root.suspense && root.suspense.activeBranch === vnode) {\n root.el = vnode.el;\n }\n if (root === vnode) {\n (vnode = parent.vnode).el = el;\n parent = parent.parent;\n } else {\n break;\n }\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 );\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$1(`Failed to resolve ${type.slice(0, -1)}: ${name}${extra}`);\n }\n return res;\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$1(\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;\nlet suspenseId = 0;\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, namespace, slotScopeIds, optimized, rendererInternals) {\n if (n1 == null) {\n mountSuspense(\n n2,\n container,\n anchor,\n parentComponent,\n parentSuspense,\n namespace,\n slotScopeIds,\n optimized,\n rendererInternals\n );\n } else {\n if (parentSuspense && parentSuspense.deps > 0 && !n1.suspense.isInFallback) {\n n2.suspense = n1.suspense;\n n2.suspense.vnode = n2;\n n2.el = n1.el;\n return;\n }\n patchSuspense(\n n1,\n n2,\n container,\n anchor,\n parentComponent,\n namespace,\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, namespace, 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 namespace,\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 namespace,\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 namespace,\n slotScopeIds\n );\n setActiveBranch(suspense, vnode.ssFallback);\n } else {\n suspense.resolve(false, true);\n }\n}\nfunction patchSuspense(n1, n2, container, anchor, parentComponent, namespace, 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 namespace,\n slotScopeIds,\n optimized\n );\n if (suspense.deps <= 0) {\n suspense.resolve();\n } else if (isInFallback) {\n if (!isHydrating) {\n patch(\n activeBranch,\n newFallback,\n container,\n anchor,\n parentComponent,\n null,\n // fallback tree will not have suspense context\n namespace,\n slotScopeIds,\n optimized\n );\n setActiveBranch(suspense, newFallback);\n }\n }\n } else {\n suspense.pendingId = suspenseId++;\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 namespace,\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 namespace,\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 namespace,\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 namespace,\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 namespace,\n slotScopeIds,\n optimized\n );\n setActiveBranch(suspense, newBranch);\n } else {\n triggerEvent(n2, \"onPending\");\n suspense.pendingBranch = newBranch;\n if (newBranch.shapeFlag & 512) {\n suspense.pendingId = newBranch.component.suspenseId;\n } else {\n suspense.pendingId = suspenseId++;\n }\n patch(\n null,\n newBranch,\n suspense.hiddenContainer,\n null,\n parentComponent,\n suspense,\n namespace,\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, namespace, slotScopeIds, optimized, rendererInternals, isHydrating = false) {\n if (!!(process.env.NODE_ENV !== \"production\") && true && !hasWarned) {\n hasWarned = true;\n console[console.info ? \"info\" : \"log\"](\n ` 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 && 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 initialAnchor = anchor;\n const suspense = {\n vnode,\n parent: parentSuspense,\n parentComponent,\n namespace,\n container,\n hiddenContainer,\n deps: 0,\n pendingId: suspenseId++,\n timeout: typeof timeout === \"number\" ? timeout : -1,\n activeBranch: null,\n pendingBranch: null,\n isInFallback: !isHydrating,\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(\n pendingBranch,\n container2,\n anchor === initialAnchor ? next(activeBranch) : anchor,\n 0\n );\n queuePostFlushCb(effects);\n }\n };\n }\n if (activeBranch) {\n if (parentNode(activeBranch.el) !== suspense.hiddenContainer) {\n anchor = next(activeBranch);\n }\n unmount(activeBranch, parentComponent2, suspense, true);\n }\n if (!delayEnter) {\n move(pendingBranch, container2, anchor, 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, namespace: namespace2 } = 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 namespace2,\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, optimized2) {\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 namespace,\n optimized2\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, namespace, slotScopeIds, optimized, rendererInternals, hydrateNode) {\n const suspense = vnode.suspense = createSuspenseBoundary(\n vnode,\n parentSuspense,\n parentComponent,\n node.parentNode,\n // eslint-disable-next-line no-restricted-globals\n document.createElement(\"div\"),\n null,\n namespace,\n slotScopeIds,\n optimized,\n rendererInternals,\n true\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$1(` 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 let el = branch.el;\n while (!el && branch.component) {\n branch = branch.component.subTree;\n el = branch.el;\n }\n vnode.el = el;\n if (parentComponent && parentComponent.subTree === vnode) {\n parentComponent.vnode.el = el;\n updateHOCHostEl(parentComponent, el);\n }\n}\nfunction isVNodeSuspensible(vnode) {\n const suspensible = vnode.props && vnode.props.suspensible;\n return suspensible != null && suspensible !== false;\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 pauseTracking();\n const reset = setCurrentInstance(target);\n const res = callWithAsyncErrorHandling(hook, target, type, args);\n reset();\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$1[type].replace(/ hook$/, \"\"));\n warn$1(\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 if (!isInSSRComponentSetup || lifecycle === \"sp\") {\n injectHook(lifecycle, (...args) => hook(...args), target);\n }\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 validateDirectiveName(name) {\n if (isBuiltInDirective(name)) {\n warn$1(\"Do not use built-in directive ids as custom directive id: \" + name);\n }\n}\nfunction withDirectives(vnode, directives) {\n if (currentRenderingInstance === null) {\n !!(process.env.NODE_ENV !== \"production\") && warn$1(`withDirectives can only be used inside render functions.`);\n return vnode;\n }\n const instance = getComponentPublicInstance(currentRenderingInstance);\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\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$1(`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) res.key = slot.key;\n return res;\n } : slot.fn;\n }\n }\n return slots;\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$1(\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 );\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 instance.parent.effect.dirty = true;\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\nfunction renderSlot(slots, name, props = {}, fallback, noSlotted) {\n if (currentRenderingInstance.isCE || currentRenderingInstance.parent && isAsyncWrapper(currentRenderingInstance.parent) && currentRenderingInstance.parent.isCE) {\n if (name !== \"default\") 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$1(\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)) return true;\n if (child.type === Comment) 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$1(`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) return null;\n if (isStatefulComponent(i)) return getComponentPublicInstance(i);\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 = () => {\n i.effect.dirty = true;\n queueJob(i.update);\n }),\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 if (key === \"__v_skip\") {\n return true;\n }\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.attrs, \"get\", \"\");\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$1(\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$1(\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$1(`Cannot mutate \";\r\n var nW = globalObject.open();\r\n\r\n if (nW !== null) {\r\n nW.document.write(htmlForNewWindow);\r\n }\r\n return nW;\r\n } else {\r\n throw new Error(\r\n \"The option pdfobjectnewwindow just works in a browser-environment.\"\r\n );\r\n }\r\n case \"pdfjsnewwindow\":\r\n if (\r\n Object.prototype.toString.call(globalObject) === \"[object Window]\"\r\n ) {\r\n var pdfJsUrl = options.pdfJsUrl || \"examples/PDF.js/web/viewer.html\";\r\n var htmlForPDFjsNewWindow =\r\n \"\" +\r\n \"\" +\r\n '' +\r\n \"\";\r\n var dataURLNewWindow = globalObject.open();\r\n if (dataURLNewWindow !== null) {\r\n dataURLNewWindow.document.write(htmlForDataURLNewWindow);\r\n dataURLNewWindow.document.title = options.filename;\r\n }\r\n if (dataURLNewWindow || typeof safari === \"undefined\")\r\n return dataURLNewWindow;\r\n } else {\r\n throw new Error(\r\n \"The option dataurlnewwindow just works in a browser-environment.\"\r\n );\r\n }\r\n break;\r\n case \"datauri\":\r\n case \"dataurl\":\r\n return (globalObject.document.location.href = this.output(\r\n \"datauristring\",\r\n options\r\n ));\r\n default:\r\n return null;\r\n }\r\n }));\r\n\r\n /**\r\n * Used to see if a supplied hotfix was requested when the pdf instance was created.\r\n * @param {string} hotfixName - The name of the hotfix to check.\r\n * @returns {boolean}\r\n */\r\n var hasHotfix = function(hotfixName) {\r\n return (\r\n Array.isArray(hotfixes) === true && hotfixes.indexOf(hotfixName) > -1\r\n );\r\n };\r\n\r\n switch (unit) {\r\n case \"pt\":\r\n scaleFactor = 1;\r\n break;\r\n case \"mm\":\r\n scaleFactor = 72 / 25.4;\r\n break;\r\n case \"cm\":\r\n scaleFactor = 72 / 2.54;\r\n break;\r\n case \"in\":\r\n scaleFactor = 72;\r\n break;\r\n case \"px\":\r\n if (hasHotfix(\"px_scaling\") == true) {\r\n scaleFactor = 72 / 96;\r\n } else {\r\n scaleFactor = 96 / 72;\r\n }\r\n break;\r\n case \"pc\":\r\n scaleFactor = 12;\r\n break;\r\n case \"em\":\r\n scaleFactor = 12;\r\n break;\r\n case \"ex\":\r\n scaleFactor = 6;\r\n break;\r\n default:\r\n if (typeof unit === \"number\") {\r\n scaleFactor = unit;\r\n } else {\r\n throw new Error(\"Invalid unit: \" + unit);\r\n }\r\n }\r\n\r\n var encryption = null;\r\n setCreationDate();\r\n setFileId();\r\n\r\n var getEncryptor = function(objectId) {\r\n if (encryptionOptions !== null) {\r\n return encryption.encryptor(objectId, 0);\r\n }\r\n return function(data) {\r\n return data;\r\n };\r\n };\r\n\r\n //---------------------------------------\r\n // Public API\r\n\r\n var getPageInfo = (API.__private__.getPageInfo = API.getPageInfo = function(\r\n pageNumberOneBased\r\n ) {\r\n if (isNaN(pageNumberOneBased) || pageNumberOneBased % 1 !== 0) {\r\n throw new Error(\"Invalid argument passed to jsPDF.getPageInfo\");\r\n }\r\n var objId = pagesContext[pageNumberOneBased].objId;\r\n return {\r\n objId: objId,\r\n pageNumber: pageNumberOneBased,\r\n pageContext: pagesContext[pageNumberOneBased]\r\n };\r\n });\r\n\r\n var getPageInfoByObjId = (API.__private__.getPageInfoByObjId = function(\r\n objId\r\n ) {\r\n if (isNaN(objId) || objId % 1 !== 0) {\r\n throw new Error(\"Invalid argument passed to jsPDF.getPageInfoByObjId\");\r\n }\r\n for (var pageNumber in pagesContext) {\r\n if (pagesContext[pageNumber].objId === objId) {\r\n break;\r\n }\r\n }\r\n return getPageInfo(pageNumber);\r\n });\r\n\r\n var getCurrentPageInfo = (API.__private__.getCurrentPageInfo = API.getCurrentPageInfo = function() {\r\n return {\r\n objId: pagesContext[currentPage].objId,\r\n pageNumber: currentPage,\r\n pageContext: pagesContext[currentPage]\r\n };\r\n });\r\n\r\n /**\r\n * Adds (and transfers the focus to) new page to the PDF document.\r\n * @param format {String/Array} The format of the new page. Can be:
  • a0 - a10
  • b0 - b10
  • c0 - c10
  • dl
  • letter
  • government-letter
  • legal
  • junior-legal
  • ledger
  • tabloid
  • credit-card

\r\n * Default is \"a4\". If you want to use your own format just pass instead of one of the above predefined formats the size as an number-array, e.g. [595.28, 841.89]\r\n * @param orientation {string} Orientation of the new page. Possible values are \"portrait\" or \"landscape\" (or shortcuts \"p\" (Default), \"l\").\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n *\r\n * @memberof jsPDF#\r\n * @name addPage\r\n */\r\n API.addPage = function() {\r\n _addPage.apply(this, arguments);\r\n return this;\r\n };\r\n /**\r\n * Adds (and transfers the focus to) new page to the PDF document.\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n *\r\n * @memberof jsPDF#\r\n * @name setPage\r\n * @param {number} page Switch the active page to the page number specified (indexed starting at 1).\r\n * @example\r\n * doc = jsPDF()\r\n * doc.addPage()\r\n * doc.addPage()\r\n * doc.text('I am on page 3', 10, 10)\r\n * doc.setPage(1)\r\n * doc.text('I am on page 1', 10, 10)\r\n */\r\n API.setPage = function() {\r\n _setPage.apply(this, arguments);\r\n setOutputDestination.call(this, pages[currentPage]);\r\n return this;\r\n };\r\n\r\n /**\r\n * @name insertPage\r\n * @memberof jsPDF#\r\n *\r\n * @function\r\n * @instance\r\n * @param {Object} beforePage\r\n * @returns {jsPDF}\r\n */\r\n API.insertPage = function(beforePage) {\r\n this.addPage();\r\n this.movePage(currentPage, beforePage);\r\n return this;\r\n };\r\n\r\n /**\r\n * @name movePage\r\n * @memberof jsPDF#\r\n * @function\r\n * @instance\r\n * @param {number} targetPage\r\n * @param {number} beforePage\r\n * @returns {jsPDF}\r\n */\r\n API.movePage = function(targetPage, beforePage) {\r\n var tmpPages, tmpPagesContext;\r\n if (targetPage > beforePage) {\r\n tmpPages = pages[targetPage];\r\n tmpPagesContext = pagesContext[targetPage];\r\n for (var i = targetPage; i > beforePage; i--) {\r\n pages[i] = pages[i - 1];\r\n pagesContext[i] = pagesContext[i - 1];\r\n }\r\n pages[beforePage] = tmpPages;\r\n pagesContext[beforePage] = tmpPagesContext;\r\n this.setPage(beforePage);\r\n } else if (targetPage < beforePage) {\r\n tmpPages = pages[targetPage];\r\n tmpPagesContext = pagesContext[targetPage];\r\n for (var j = targetPage; j < beforePage; j++) {\r\n pages[j] = pages[j + 1];\r\n pagesContext[j] = pagesContext[j + 1];\r\n }\r\n pages[beforePage] = tmpPages;\r\n pagesContext[beforePage] = tmpPagesContext;\r\n this.setPage(beforePage);\r\n }\r\n return this;\r\n };\r\n\r\n /**\r\n * Deletes a page from the PDF.\r\n * @name deletePage\r\n * @memberof jsPDF#\r\n * @function\r\n * @param {number} targetPage\r\n * @instance\r\n * @returns {jsPDF}\r\n */\r\n API.deletePage = function() {\r\n _deletePage.apply(this, arguments);\r\n return this;\r\n };\r\n\r\n /**\r\n * Adds text to page. Supports adding multiline text when 'text' argument is an Array of Strings.\r\n *\r\n * @function\r\n * @instance\r\n * @param {String|Array} text String or array of strings to be added to the page. Each line is shifted one line down per font, spacing settings declared before this call.\r\n * @param {number} x Coordinate (in units declared at inception of PDF document) against left edge of the page.\r\n * @param {number} y Coordinate (in units declared at inception of PDF document) against upper edge of the page.\r\n * @param {Object} [options] - Collection of settings signaling how the text must be encoded.\r\n * @param {string} [options.align=left] - The alignment of the text, possible values: left, center, right, justify.\r\n * @param {string} [options.baseline=alphabetic] - Sets text baseline used when drawing the text, possible values: alphabetic, ideographic, bottom, top, middle, hanging\r\n * @param {number|Matrix} [options.angle=0] - Rotate the text clockwise or counterclockwise. Expects the angle in degree.\r\n * @param {number} [options.rotationDirection=1] - Direction of the rotation. 0 = clockwise, 1 = counterclockwise.\r\n * @param {number} [options.charSpace=0] - The space between each letter.\r\n * @param {number} [options.horizontalScale=1] - Horizontal scale of the text as a factor of the regular size.\r\n * @param {number} [options.lineHeightFactor=1.15] - The lineheight of each line.\r\n * @param {Object} [options.flags] - Flags for to8bitStream.\r\n * @param {boolean} [options.flags.noBOM=true] - Don't add BOM to Unicode-text.\r\n * @param {boolean} [options.flags.autoencode=true] - Autoencode the Text.\r\n * @param {number} [options.maxWidth=0] - Split the text by given width, 0 = no split.\r\n * @param {string} [options.renderingMode=fill] - Set how the text should be rendered, possible values: fill, stroke, fillThenStroke, invisible, fillAndAddForClipping, strokeAndAddPathForClipping, fillThenStrokeAndAddToPathForClipping, addToPathForClipping.\r\n * @param {boolean} [options.isInputVisual] - Option for the BidiEngine\r\n * @param {boolean} [options.isOutputVisual] - Option for the BidiEngine\r\n * @param {boolean} [options.isInputRtl] - Option for the BidiEngine\r\n * @param {boolean} [options.isOutputRtl] - Option for the BidiEngine\r\n * @param {boolean} [options.isSymmetricSwapping] - Option for the BidiEngine\r\n * @param {number|Matrix} transform If transform is a number the text will be rotated by this value around the anchor set by x and y.\r\n *\r\n * If it is a Matrix, this matrix gets directly applied to the text, which allows shearing\r\n * effects etc.; the x and y offsets are then applied AFTER the coordinate system has been established by this\r\n * matrix. This means passing a rotation matrix that is equivalent to some rotation angle will in general yield a\r\n * DIFFERENT result. A matrix is only allowed in \"advanced\" API mode.\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name text\r\n */\r\n API.__private__.text = API.text = function(text, x, y, options, transform) {\r\n /*\r\n * Inserts something like this into PDF\r\n * BT\r\n * /F1 16 Tf % Font name + size\r\n * 16 TL % How many units down for next line in multiline text\r\n * 0 g % color\r\n * 28.35 813.54 Td % position\r\n * (line one) Tj\r\n * T* (line two) Tj\r\n * T* (line three) Tj\r\n * ET\r\n */\r\n options = options || {};\r\n var scope = options.scope || this;\r\n var payload, da, angle, align, charSpace, maxWidth, flags, horizontalScale;\r\n\r\n // Pre-August-2012 the order of arguments was function(x, y, text, flags)\r\n // in effort to make all calls have similar signature like\r\n // function(data, coordinates... , miscellaneous)\r\n // this method had its args flipped.\r\n // code below allows backward compatibility with old arg order.\r\n if (\r\n typeof text === \"number\" &&\r\n typeof x === \"number\" &&\r\n (typeof y === \"string\" || Array.isArray(y))\r\n ) {\r\n var tmp = y;\r\n y = x;\r\n x = text;\r\n text = tmp;\r\n }\r\n\r\n var transformationMatrix;\r\n\r\n if (arguments[3] instanceof Matrix === false) {\r\n flags = arguments[3];\r\n angle = arguments[4];\r\n align = arguments[5];\r\n\r\n if (typeof flags !== \"object\" || flags === null) {\r\n if (typeof angle === \"string\") {\r\n align = angle;\r\n angle = null;\r\n }\r\n if (typeof flags === \"string\") {\r\n align = flags;\r\n flags = null;\r\n }\r\n if (typeof flags === \"number\") {\r\n angle = flags;\r\n flags = null;\r\n }\r\n options = {\r\n flags: flags,\r\n angle: angle,\r\n align: align\r\n };\r\n }\r\n } else {\r\n advancedApiModeTrap(\r\n \"The transform parameter of text() with a Matrix value\"\r\n );\r\n transformationMatrix = transform;\r\n }\r\n\r\n if (isNaN(x) || isNaN(y) || typeof text === \"undefined\" || text === null) {\r\n throw new Error(\"Invalid arguments passed to jsPDF.text\");\r\n }\r\n\r\n if (text.length === 0) {\r\n return scope;\r\n }\r\n\r\n var xtra = \"\";\r\n var isHex = false;\r\n var lineHeight =\r\n typeof options.lineHeightFactor === \"number\"\r\n ? options.lineHeightFactor\r\n : lineHeightFactor;\r\n var scaleFactor = scope.internal.scaleFactor;\r\n\r\n function ESC(s) {\r\n s = s.split(\"\\t\").join(Array(options.TabLen || 9).join(\" \"));\r\n return pdfEscape(s, flags);\r\n }\r\n\r\n function transformTextToSpecialArray(text) {\r\n //we don't want to destroy original text array, so cloning it\r\n var sa = text.concat();\r\n var da = [];\r\n var len = sa.length;\r\n var curDa;\r\n //we do array.join('text that must not be PDFescaped\")\r\n //thus, pdfEscape each component separately\r\n while (len--) {\r\n curDa = sa.shift();\r\n if (typeof curDa === \"string\") {\r\n da.push(curDa);\r\n } else {\r\n if (\r\n Array.isArray(text) &&\r\n (curDa.length === 1 ||\r\n (curDa[1] === undefined && curDa[2] === undefined))\r\n ) {\r\n da.push(curDa[0]);\r\n } else {\r\n da.push([curDa[0], curDa[1], curDa[2]]);\r\n }\r\n }\r\n }\r\n return da;\r\n }\r\n\r\n function processTextByFunction(text, processingFunction) {\r\n var result;\r\n if (typeof text === \"string\") {\r\n result = processingFunction(text)[0];\r\n } else if (Array.isArray(text)) {\r\n //we don't want to destroy original text array, so cloning it\r\n var sa = text.concat();\r\n var da = [];\r\n var len = sa.length;\r\n var curDa;\r\n var tmpResult;\r\n //we do array.join('text that must not be PDFescaped\")\r\n //thus, pdfEscape each component separately\r\n while (len--) {\r\n curDa = sa.shift();\r\n if (typeof curDa === \"string\") {\r\n da.push(processingFunction(curDa)[0]);\r\n } else if (Array.isArray(curDa) && typeof curDa[0] === \"string\") {\r\n tmpResult = processingFunction(curDa[0], curDa[1], curDa[2]);\r\n da.push([tmpResult[0], tmpResult[1], tmpResult[2]]);\r\n }\r\n }\r\n result = da;\r\n }\r\n return result;\r\n }\r\n\r\n //Check if text is of type String\r\n var textIsOfTypeString = false;\r\n var tmpTextIsOfTypeString = true;\r\n\r\n if (typeof text === \"string\") {\r\n textIsOfTypeString = true;\r\n } else if (Array.isArray(text)) {\r\n //we don't want to destroy original text array, so cloning it\r\n var sa = text.concat();\r\n da = [];\r\n var len = sa.length;\r\n var curDa;\r\n //we do array.join('text that must not be PDFescaped\")\r\n //thus, pdfEscape each component separately\r\n while (len--) {\r\n curDa = sa.shift();\r\n if (\r\n typeof curDa !== \"string\" ||\r\n (Array.isArray(curDa) && typeof curDa[0] !== \"string\")\r\n ) {\r\n tmpTextIsOfTypeString = false;\r\n }\r\n }\r\n textIsOfTypeString = tmpTextIsOfTypeString;\r\n }\r\n if (textIsOfTypeString === false) {\r\n throw new Error(\r\n 'Type of text must be string or Array. \"' +\r\n text +\r\n '\" is not recognized.'\r\n );\r\n }\r\n\r\n //If there are any newlines in text, we assume\r\n //the user wanted to print multiple lines, so break the\r\n //text up into an array. If the text is already an array,\r\n //we assume the user knows what they are doing.\r\n //Convert text into an array anyway to simplify\r\n //later code.\r\n\r\n if (typeof text === \"string\") {\r\n if (text.match(/[\\r?\\n]/)) {\r\n text = text.split(/\\r\\n|\\r|\\n/g);\r\n } else {\r\n text = [text];\r\n }\r\n }\r\n\r\n //baseline\r\n var height = activeFontSize / scope.internal.scaleFactor;\r\n var descent = height * (lineHeight - 1);\r\n\r\n switch (options.baseline) {\r\n case \"bottom\":\r\n y -= descent;\r\n break;\r\n case \"top\":\r\n y += height - descent;\r\n break;\r\n case \"hanging\":\r\n y += height - 2 * descent;\r\n break;\r\n case \"middle\":\r\n y += height / 2 - descent;\r\n break;\r\n case \"ideographic\":\r\n case \"alphabetic\":\r\n default:\r\n // do nothing, everything is fine\r\n break;\r\n }\r\n\r\n //multiline\r\n maxWidth = options.maxWidth || 0;\r\n\r\n if (maxWidth > 0) {\r\n if (typeof text === \"string\") {\r\n text = scope.splitTextToSize(text, maxWidth);\r\n } else if (Object.prototype.toString.call(text) === \"[object Array]\") {\r\n text = text.reduce(function(acc, textLine) {\r\n return acc.concat(scope.splitTextToSize(textLine, maxWidth));\r\n }, []);\r\n }\r\n }\r\n\r\n //creating Payload-Object to make text byRef\r\n payload = {\r\n text: text,\r\n x: x,\r\n y: y,\r\n options: options,\r\n mutex: {\r\n pdfEscape: pdfEscape,\r\n activeFontKey: activeFontKey,\r\n fonts: fonts,\r\n activeFontSize: activeFontSize\r\n }\r\n };\r\n events.publish(\"preProcessText\", payload);\r\n\r\n text = payload.text;\r\n options = payload.options;\r\n\r\n //angle\r\n angle = options.angle;\r\n\r\n if (\r\n transformationMatrix instanceof Matrix === false &&\r\n angle &&\r\n typeof angle === \"number\"\r\n ) {\r\n angle *= Math.PI / 180;\r\n\r\n if (options.rotationDirection === 0) {\r\n angle = -angle;\r\n }\r\n\r\n if (apiMode === ApiMode.ADVANCED) {\r\n angle = -angle;\r\n }\r\n\r\n var c = Math.cos(angle);\r\n var s = Math.sin(angle);\r\n transformationMatrix = new Matrix(c, s, -s, c, 0, 0);\r\n } else if (angle && angle instanceof Matrix) {\r\n transformationMatrix = angle;\r\n }\r\n\r\n if (apiMode === ApiMode.ADVANCED && !transformationMatrix) {\r\n transformationMatrix = identityMatrix;\r\n }\r\n\r\n //charSpace\r\n\r\n charSpace = options.charSpace || activeCharSpace;\r\n\r\n if (typeof charSpace !== \"undefined\") {\r\n xtra += hpf(scale(charSpace)) + \" Tc\\n\";\r\n this.setCharSpace(this.getCharSpace() || 0);\r\n }\r\n\r\n horizontalScale = options.horizontalScale;\r\n if (typeof horizontalScale !== \"undefined\") {\r\n xtra += hpf(horizontalScale * 100) + \" Tz\\n\";\r\n }\r\n\r\n //lang\r\n\r\n var lang = options.lang;\r\n\r\n if (lang) {\r\n // xtra += \"/Lang (\" + lang +\")\\n\";\r\n }\r\n\r\n //renderingMode\r\n var renderingMode = -1;\r\n var parmRenderingMode =\r\n typeof options.renderingMode !== \"undefined\"\r\n ? options.renderingMode\r\n : options.stroke;\r\n var pageContext = scope.internal.getCurrentPageInfo().pageContext;\r\n\r\n switch (parmRenderingMode) {\r\n case 0:\r\n case false:\r\n case \"fill\":\r\n renderingMode = 0;\r\n break;\r\n case 1:\r\n case true:\r\n case \"stroke\":\r\n renderingMode = 1;\r\n break;\r\n case 2:\r\n case \"fillThenStroke\":\r\n renderingMode = 2;\r\n break;\r\n case 3:\r\n case \"invisible\":\r\n renderingMode = 3;\r\n break;\r\n case 4:\r\n case \"fillAndAddForClipping\":\r\n renderingMode = 4;\r\n break;\r\n case 5:\r\n case \"strokeAndAddPathForClipping\":\r\n renderingMode = 5;\r\n break;\r\n case 6:\r\n case \"fillThenStrokeAndAddToPathForClipping\":\r\n renderingMode = 6;\r\n break;\r\n case 7:\r\n case \"addToPathForClipping\":\r\n renderingMode = 7;\r\n break;\r\n }\r\n\r\n var usedRenderingMode =\r\n typeof pageContext.usedRenderingMode !== \"undefined\"\r\n ? pageContext.usedRenderingMode\r\n : -1;\r\n\r\n //if the coder wrote it explicitly to use a specific\r\n //renderingMode, then use it\r\n if (renderingMode !== -1) {\r\n xtra += renderingMode + \" Tr\\n\";\r\n //otherwise check if we used the rendering Mode already\r\n //if so then set the rendering Mode...\r\n } else if (usedRenderingMode !== -1) {\r\n xtra += \"0 Tr\\n\";\r\n }\r\n\r\n if (renderingMode !== -1) {\r\n pageContext.usedRenderingMode = renderingMode;\r\n }\r\n\r\n //align\r\n align = options.align || \"left\";\r\n var leading = activeFontSize * lineHeight;\r\n var pageWidth = scope.internal.pageSize.getWidth();\r\n var activeFont = fonts[activeFontKey];\r\n charSpace = options.charSpace || activeCharSpace;\r\n maxWidth = options.maxWidth || 0;\r\n\r\n var lineWidths;\r\n flags = Object.assign({ autoencode: true, noBOM: true }, options.flags);\r\n\r\n var wordSpacingPerLine = [];\r\n var findWidth = function(v) {\r\n return (\r\n (scope.getStringUnitWidth(v, {\r\n font: activeFont,\r\n charSpace: charSpace,\r\n fontSize: activeFontSize,\r\n doKerning: false\r\n }) *\r\n activeFontSize) /\r\n scaleFactor\r\n );\r\n };\r\n if (Object.prototype.toString.call(text) === \"[object Array]\") {\r\n da = transformTextToSpecialArray(text);\r\n var newY;\r\n if (align !== \"left\") {\r\n lineWidths = da.map(findWidth);\r\n }\r\n //The first line uses the \"main\" Td setting,\r\n //and the subsequent lines are offset by the\r\n //previous line's x coordinate.\r\n var prevWidth = 0;\r\n var newX;\r\n if (align === \"right\") {\r\n //The passed in x coordinate defines the\r\n //rightmost point of the text.\r\n x -= lineWidths[0];\r\n text = [];\r\n len = da.length;\r\n for (var i = 0; i < len; i++) {\r\n if (i === 0) {\r\n newX = getHorizontalCoordinate(x);\r\n newY = getVerticalCoordinate(y);\r\n } else {\r\n newX = scale(prevWidth - lineWidths[i]);\r\n newY = -leading;\r\n }\r\n text.push([da[i], newX, newY]);\r\n prevWidth = lineWidths[i];\r\n }\r\n } else if (align === \"center\") {\r\n //The passed in x coordinate defines\r\n //the center point.\r\n x -= lineWidths[0] / 2;\r\n text = [];\r\n len = da.length;\r\n for (var j = 0; j < len; j++) {\r\n if (j === 0) {\r\n newX = getHorizontalCoordinate(x);\r\n newY = getVerticalCoordinate(y);\r\n } else {\r\n newX = scale((prevWidth - lineWidths[j]) / 2);\r\n newY = -leading;\r\n }\r\n text.push([da[j], newX, newY]);\r\n prevWidth = lineWidths[j];\r\n }\r\n } else if (align === \"left\") {\r\n text = [];\r\n len = da.length;\r\n for (var h = 0; h < len; h++) {\r\n text.push(da[h]);\r\n }\r\n } else if (align === \"justify\" && activeFont.encoding === \"Identity-H\") {\r\n // when using unicode fonts, wordSpacePerLine does not apply\r\n text = [];\r\n len = da.length;\r\n maxWidth = maxWidth !== 0 ? maxWidth : pageWidth;\r\n let backToStartX = 0;\r\n for (var l = 0; l < len; l++) {\r\n newY = l === 0 ? getVerticalCoordinate(y) : -leading;\r\n newX = l === 0 ? getHorizontalCoordinate(x) : backToStartX;\r\n if (l < len - 1) {\r\n let spacing = scale(\r\n (maxWidth - lineWidths[l]) / (da[l].split(\" \").length - 1)\r\n );\r\n let words = da[l].split(\" \");\r\n text.push([words[0] + \" \", newX, newY]);\r\n backToStartX = 0; // distance to reset back to the left\r\n for (let i = 1; i < words.length; i++) {\r\n let shiftAmount =\r\n (findWidth(words[i - 1] + \" \" + words[i]) -\r\n findWidth(words[i])) *\r\n scaleFactor +\r\n spacing;\r\n if (i == words.length - 1) text.push([words[i], shiftAmount, 0]);\r\n else text.push([words[i] + \" \", shiftAmount, 0]);\r\n backToStartX -= shiftAmount;\r\n }\r\n } else {\r\n text.push([da[l], newX, newY]);\r\n }\r\n }\r\n text.push([\"\", backToStartX, 0]);\r\n } else if (align === \"justify\") {\r\n text = [];\r\n len = da.length;\r\n maxWidth = maxWidth !== 0 ? maxWidth : pageWidth;\r\n for (var l = 0; l < len; l++) {\r\n newY = l === 0 ? getVerticalCoordinate(y) : -leading;\r\n newX = l === 0 ? getHorizontalCoordinate(x) : 0;\r\n if (l < len - 1) {\r\n wordSpacingPerLine.push(\r\n hpf(\r\n scale(\r\n (maxWidth - lineWidths[l]) / (da[l].split(\" \").length - 1)\r\n )\r\n )\r\n );\r\n } else {\r\n wordSpacingPerLine.push(0);\r\n }\r\n text.push([da[l], newX, newY]);\r\n }\r\n } else {\r\n throw new Error(\r\n 'Unrecognized alignment option, use \"left\", \"center\", \"right\" or \"justify\".'\r\n );\r\n }\r\n }\r\n\r\n //R2L\r\n var doReversing = typeof options.R2L === \"boolean\" ? options.R2L : R2L;\r\n if (doReversing === true) {\r\n text = processTextByFunction(text, function(text, posX, posY) {\r\n return [\r\n text\r\n .split(\"\")\r\n .reverse()\r\n .join(\"\"),\r\n posX,\r\n posY\r\n ];\r\n });\r\n }\r\n\r\n //creating Payload-Object to make text byRef\r\n payload = {\r\n text: text,\r\n x: x,\r\n y: y,\r\n options: options,\r\n mutex: {\r\n pdfEscape: pdfEscape,\r\n activeFontKey: activeFontKey,\r\n fonts: fonts,\r\n activeFontSize: activeFontSize\r\n }\r\n };\r\n events.publish(\"postProcessText\", payload);\r\n\r\n text = payload.text;\r\n isHex = payload.mutex.isHex || false;\r\n\r\n //Escaping\r\n var activeFontEncoding = fonts[activeFontKey].encoding;\r\n\r\n if (\r\n activeFontEncoding === \"WinAnsiEncoding\" ||\r\n activeFontEncoding === \"StandardEncoding\"\r\n ) {\r\n text = processTextByFunction(text, function(text, posX, posY) {\r\n return [ESC(text), posX, posY];\r\n });\r\n }\r\n\r\n da = transformTextToSpecialArray(text);\r\n\r\n text = [];\r\n var STRING = 0;\r\n var ARRAY = 1;\r\n var variant = Array.isArray(da[0]) ? ARRAY : STRING;\r\n var posX;\r\n var posY;\r\n var content;\r\n var wordSpacing = \"\";\r\n\r\n var generatePosition = function(\r\n parmPosX,\r\n parmPosY,\r\n parmTransformationMatrix\r\n ) {\r\n var position = \"\";\r\n if (parmTransformationMatrix instanceof Matrix) {\r\n // It is kind of more intuitive to apply a plain rotation around the text anchor set by x and y\r\n // but when the user supplies an arbitrary transformation matrix, the x and y offsets should be applied\r\n // in the coordinate system established by this matrix\r\n if (typeof options.angle === \"number\") {\r\n parmTransformationMatrix = matrixMult(\r\n parmTransformationMatrix,\r\n new Matrix(1, 0, 0, 1, parmPosX, parmPosY)\r\n );\r\n } else {\r\n parmTransformationMatrix = matrixMult(\r\n new Matrix(1, 0, 0, 1, parmPosX, parmPosY),\r\n parmTransformationMatrix\r\n );\r\n }\r\n\r\n if (apiMode === ApiMode.ADVANCED) {\r\n parmTransformationMatrix = matrixMult(\r\n new Matrix(1, 0, 0, -1, 0, 0),\r\n parmTransformationMatrix\r\n );\r\n }\r\n\r\n position = parmTransformationMatrix.join(\" \") + \" Tm\\n\";\r\n } else {\r\n position = hpf(parmPosX) + \" \" + hpf(parmPosY) + \" Td\\n\";\r\n }\r\n return position;\r\n };\r\n\r\n for (var lineIndex = 0; lineIndex < da.length; lineIndex++) {\r\n wordSpacing = \"\";\r\n\r\n switch (variant) {\r\n case ARRAY:\r\n content =\r\n (isHex ? \"<\" : \"(\") + da[lineIndex][0] + (isHex ? \">\" : \")\");\r\n posX = parseFloat(da[lineIndex][1]);\r\n posY = parseFloat(da[lineIndex][2]);\r\n break;\r\n case STRING:\r\n content = (isHex ? \"<\" : \"(\") + da[lineIndex] + (isHex ? \">\" : \")\");\r\n posX = getHorizontalCoordinate(x);\r\n posY = getVerticalCoordinate(y);\r\n break;\r\n }\r\n\r\n if (\r\n typeof wordSpacingPerLine !== \"undefined\" &&\r\n typeof wordSpacingPerLine[lineIndex] !== \"undefined\"\r\n ) {\r\n wordSpacing = wordSpacingPerLine[lineIndex] + \" Tw\\n\";\r\n }\r\n\r\n if (lineIndex === 0) {\r\n text.push(\r\n wordSpacing +\r\n generatePosition(posX, posY, transformationMatrix) +\r\n content\r\n );\r\n } else if (variant === STRING) {\r\n text.push(wordSpacing + content);\r\n } else if (variant === ARRAY) {\r\n text.push(\r\n wordSpacing +\r\n generatePosition(posX, posY, transformationMatrix) +\r\n content\r\n );\r\n }\r\n }\r\n\r\n text = variant === STRING ? text.join(\" Tj\\nT* \") : text.join(\" Tj\\n\");\r\n text += \" Tj\\n\";\r\n\r\n var result = \"BT\\n/\";\r\n result += activeFontKey + \" \" + activeFontSize + \" Tf\\n\"; // font face, style, size\r\n result += hpf(activeFontSize * lineHeight) + \" TL\\n\"; // line spacing\r\n result += textColor + \"\\n\";\r\n result += xtra;\r\n result += text;\r\n result += \"ET\";\r\n\r\n out(result);\r\n usedFonts[activeFontKey] = true;\r\n return scope;\r\n };\r\n\r\n // PDF supports these path painting and clip path operators:\r\n //\r\n // S - stroke\r\n // s - close/stroke\r\n // f (F) - fill non-zero\r\n // f* - fill evenodd\r\n // B - fill stroke nonzero\r\n // B* - fill stroke evenodd\r\n // b - close fill stroke nonzero\r\n // b* - close fill stroke evenodd\r\n // n - nothing (consume path)\r\n // W - clip nonzero\r\n // W* - clip evenodd\r\n //\r\n // In order to keep the API small, we omit the close-and-fill/stroke operators and provide a separate close()\r\n // method.\r\n /**\r\n *\r\n * @name clip\r\n * @function\r\n * @instance\r\n * @param {string} rule Only possible value is 'evenodd'\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @description All .clip() after calling drawing ops with a style argument of null.\r\n */\r\n var clip = (API.__private__.clip = API.clip = function(rule) {\r\n // Call .clip() after calling drawing ops with a style argument of null\r\n // W is the PDF clipping op\r\n if (\"evenodd\" === rule) {\r\n out(\"W*\");\r\n } else {\r\n out(\"W\");\r\n }\r\n return this;\r\n });\r\n\r\n /**\r\n * @name clipEvenOdd\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @description Modify the current clip path by intersecting it with the current path using the even-odd rule. Note\r\n * that this will NOT consume the current path. In order to only use this path for clipping call\r\n * {@link API.discardPath} afterwards.\r\n */\r\n API.clipEvenOdd = function() {\r\n return clip(\"evenodd\");\r\n };\r\n\r\n /**\r\n * Consumes the current path without any effect. Mainly used in combination with {@link clip} or\r\n * {@link clipEvenOdd}. The PDF \"n\" operator.\r\n * @name discardPath\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n */\r\n API.__private__.discardPath = API.discardPath = function() {\r\n out(\"n\");\r\n return this;\r\n };\r\n\r\n var isValidStyle = (API.__private__.isValidStyle = function(style) {\r\n var validStyleVariants = [\r\n undefined,\r\n null,\r\n \"S\",\r\n \"D\",\r\n \"F\",\r\n \"DF\",\r\n \"FD\",\r\n \"f\",\r\n \"f*\",\r\n \"B\",\r\n \"B*\",\r\n \"n\"\r\n ];\r\n var result = false;\r\n if (validStyleVariants.indexOf(style) !== -1) {\r\n result = true;\r\n }\r\n return result;\r\n });\r\n\r\n API.__private__.setDefaultPathOperation = API.setDefaultPathOperation = function(\r\n operator\r\n ) {\r\n if (isValidStyle(operator)) {\r\n defaultPathOperation = operator;\r\n }\r\n return this;\r\n };\r\n\r\n var getStyle = (API.__private__.getStyle = API.getStyle = function(style) {\r\n // see path-painting operators in PDF spec\r\n var op = defaultPathOperation; // stroke\r\n\r\n switch (style) {\r\n case \"D\":\r\n case \"S\":\r\n op = \"S\"; // stroke\r\n break;\r\n case \"F\":\r\n op = \"f\"; // fill\r\n break;\r\n case \"FD\":\r\n case \"DF\":\r\n op = \"B\";\r\n break;\r\n case \"f\":\r\n case \"f*\":\r\n case \"B\":\r\n case \"B*\":\r\n /*\r\n Allow direct use of these PDF path-painting operators:\r\n - f fill using nonzero winding number rule\r\n - f* fill using even-odd rule\r\n - B fill then stroke with fill using non-zero winding number rule\r\n - B* fill then stroke with fill using even-odd rule\r\n */\r\n op = style;\r\n break;\r\n }\r\n return op;\r\n });\r\n\r\n /**\r\n * Close the current path. The PDF \"h\" operator.\r\n * @name close\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n */\r\n var close = (API.close = function() {\r\n out(\"h\");\r\n return this;\r\n });\r\n\r\n /**\r\n * Stroke the path. The PDF \"S\" operator.\r\n * @name stroke\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n */\r\n API.stroke = function() {\r\n out(\"S\");\r\n return this;\r\n };\r\n\r\n /**\r\n * Fill the current path using the nonzero winding number rule. If a pattern is provided, the path will be filled\r\n * with this pattern, otherwise with the current fill color. Equivalent to the PDF \"f\" operator.\r\n * @name fill\r\n * @function\r\n * @instance\r\n * @param {PatternData=} pattern If provided the path will be filled with this pattern\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n */\r\n API.fill = function(pattern) {\r\n fillWithOptionalPattern(\"f\", pattern);\r\n return this;\r\n };\r\n\r\n /**\r\n * Fill the current path using the even-odd rule. The PDF f* operator.\r\n * @see API.fill\r\n * @name fillEvenOdd\r\n * @function\r\n * @instance\r\n * @param {PatternData=} pattern If provided the path will be filled with this pattern\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n */\r\n API.fillEvenOdd = function(pattern) {\r\n fillWithOptionalPattern(\"f*\", pattern);\r\n return this;\r\n };\r\n\r\n /**\r\n * Fill using the nonzero winding number rule and then stroke the current Path. The PDF \"B\" operator.\r\n * @see API.fill\r\n * @name fillStroke\r\n * @function\r\n * @instance\r\n * @param {PatternData=} pattern If provided the path will be stroked with this pattern\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n */\r\n API.fillStroke = function(pattern) {\r\n fillWithOptionalPattern(\"B\", pattern);\r\n return this;\r\n };\r\n\r\n /**\r\n * Fill using the even-odd rule and then stroke the current Path. The PDF \"B\" operator.\r\n * @see API.fill\r\n * @name fillStrokeEvenOdd\r\n * @function\r\n * @instance\r\n * @param {PatternData=} pattern If provided the path will be fill-stroked with this pattern\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n */\r\n API.fillStrokeEvenOdd = function(pattern) {\r\n fillWithOptionalPattern(\"B*\", pattern);\r\n return this;\r\n };\r\n\r\n var fillWithOptionalPattern = function(style, pattern) {\r\n if (typeof pattern === \"object\") {\r\n fillWithPattern(pattern, style);\r\n } else {\r\n out(style);\r\n }\r\n };\r\n\r\n var putStyle = function(style) {\r\n if (\r\n style === null ||\r\n (apiMode === ApiMode.ADVANCED && style === undefined)\r\n ) {\r\n return;\r\n }\r\n\r\n style = getStyle(style);\r\n\r\n // stroking / filling / both the path\r\n out(style);\r\n };\r\n\r\n function cloneTilingPattern(patternKey, boundingBox, xStep, yStep, matrix) {\r\n var clone = new TilingPattern(\r\n boundingBox || this.boundingBox,\r\n xStep || this.xStep,\r\n yStep || this.yStep,\r\n this.gState,\r\n matrix || this.matrix\r\n );\r\n clone.stream = this.stream;\r\n var key = patternKey + \"$$\" + this.cloneIndex++ + \"$$\";\r\n addPattern(key, clone);\r\n return clone;\r\n }\r\n\r\n var fillWithPattern = function(patternData, style) {\r\n var patternId = patternMap[patternData.key];\r\n var pattern = patterns[patternId];\r\n\r\n if (pattern instanceof ShadingPattern) {\r\n out(\"q\");\r\n\r\n out(clipRuleFromStyle(style));\r\n\r\n if (pattern.gState) {\r\n API.setGState(pattern.gState);\r\n }\r\n out(patternData.matrix.toString() + \" cm\");\r\n out(\"/\" + patternId + \" sh\");\r\n out(\"Q\");\r\n } else if (pattern instanceof TilingPattern) {\r\n // pdf draws patterns starting at the bottom left corner and they are not affected by the global transformation,\r\n // so we must flip them\r\n var matrix = new Matrix(1, 0, 0, -1, 0, getPageHeight());\r\n\r\n if (patternData.matrix) {\r\n matrix = matrix.multiply(patternData.matrix || identityMatrix);\r\n // we cannot apply a matrix to the pattern on use so we must abuse the pattern matrix and create new instances\r\n // for each use\r\n patternId = cloneTilingPattern.call(\r\n pattern,\r\n patternData.key,\r\n patternData.boundingBox,\r\n patternData.xStep,\r\n patternData.yStep,\r\n matrix\r\n ).id;\r\n }\r\n\r\n out(\"q\");\r\n out(\"/Pattern cs\");\r\n out(\"/\" + patternId + \" scn\");\r\n\r\n if (pattern.gState) {\r\n API.setGState(pattern.gState);\r\n }\r\n\r\n out(style);\r\n out(\"Q\");\r\n }\r\n };\r\n\r\n var clipRuleFromStyle = function(style) {\r\n switch (style) {\r\n case \"f\":\r\n case \"F\":\r\n return \"W n\";\r\n case \"f*\":\r\n return \"W* n\";\r\n case \"B\":\r\n return \"W S\";\r\n case \"B*\":\r\n return \"W* S\";\r\n\r\n // these two are for compatibility reasons (in the past, calling any primitive method with a shading pattern\r\n // and \"n\"/\"S\" as style would still fill/fill and stroke the path)\r\n case \"S\":\r\n return \"W S\";\r\n case \"n\":\r\n return \"W n\";\r\n }\r\n };\r\n\r\n /**\r\n * Begin a new subpath by moving the current point to coordinates (x, y). The PDF \"m\" operator.\r\n * @param {number} x\r\n * @param {number} y\r\n * @name moveTo\r\n * @function\r\n * @instance\r\n * @memberof jsPDF#\r\n * @returns {jsPDF}\r\n */\r\n var moveTo = (API.moveTo = function(x, y) {\r\n out(hpf(scale(x)) + \" \" + hpf(transformScaleY(y)) + \" m\");\r\n return this;\r\n });\r\n\r\n /**\r\n * Append a straight line segment from the current point to the point (x, y). The PDF \"l\" operator.\r\n * @param {number} x\r\n * @param {number} y\r\n * @memberof jsPDF#\r\n * @name lineTo\r\n * @function\r\n * @instance\r\n * @memberof jsPDF#\r\n * @returns {jsPDF}\r\n */\r\n var lineTo = (API.lineTo = function(x, y) {\r\n out(hpf(scale(x)) + \" \" + hpf(transformScaleY(y)) + \" l\");\r\n return this;\r\n });\r\n\r\n /**\r\n * Append a cubic Bézier curve to the current path. The curve shall extend from the current point to the point\r\n * (x3, y3), using (x1, y1) and (x2, y2) as Bézier control points. The new current point shall be (x3, x3).\r\n * @param {number} x1\r\n * @param {number} y1\r\n * @param {number} x2\r\n * @param {number} y2\r\n * @param {number} x3\r\n * @param {number} y3\r\n * @memberof jsPDF#\r\n * @name curveTo\r\n * @function\r\n * @instance\r\n * @memberof jsPDF#\r\n * @returns {jsPDF}\r\n */\r\n var curveTo = (API.curveTo = function(x1, y1, x2, y2, x3, y3) {\r\n out(\r\n [\r\n hpf(scale(x1)),\r\n hpf(transformScaleY(y1)),\r\n hpf(scale(x2)),\r\n hpf(transformScaleY(y2)),\r\n hpf(scale(x3)),\r\n hpf(transformScaleY(y3)),\r\n \"c\"\r\n ].join(\" \")\r\n );\r\n return this;\r\n });\r\n\r\n /**\r\n * Draw a line on the current page.\r\n *\r\n * @name line\r\n * @function\r\n * @instance\r\n * @param {number} x1\r\n * @param {number} y1\r\n * @param {number} x2\r\n * @param {number} y2\r\n * @param {string} style A string specifying the painting style or null. Valid styles include: 'S' [default] - stroke, 'F' - fill, and 'DF' (or 'FD') - fill then stroke. A null value postpones setting the style so that a shape may be composed using multiple method calls. The last drawing method call used to define the shape should not have a null style argument. default: 'S'\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n */\r\n API.__private__.line = API.line = function(x1, y1, x2, y2, style) {\r\n if (\r\n isNaN(x1) ||\r\n isNaN(y1) ||\r\n isNaN(x2) ||\r\n isNaN(y2) ||\r\n !isValidStyle(style)\r\n ) {\r\n throw new Error(\"Invalid arguments passed to jsPDF.line\");\r\n }\r\n if (apiMode === ApiMode.COMPAT) {\r\n return this.lines([[x2 - x1, y2 - y1]], x1, y1, [1, 1], style || \"S\");\r\n } else {\r\n return this.lines([[x2 - x1, y2 - y1]], x1, y1, [1, 1]).stroke();\r\n }\r\n };\r\n\r\n /**\r\n * @typedef {Object} PatternData\r\n * {Matrix|undefined} matrix\r\n * {Number|undefined} xStep\r\n * {Number|undefined} yStep\r\n * {Array.|undefined} boundingBox\r\n */\r\n\r\n /**\r\n * Adds series of curves (straight lines or cubic bezier curves) to canvas, starting at `x`, `y` coordinates.\r\n * All data points in `lines` are relative to last line origin.\r\n * `x`, `y` become x1,y1 for first line / curve in the set.\r\n * For lines you only need to specify [x2, y2] - (ending point) vector against x1, y1 starting point.\r\n * For bezier curves you need to specify [x2,y2,x3,y3,x4,y4] - vectors to control points 1, 2, ending point. All vectors are against the start of the curve - x1,y1.\r\n *\r\n * @example .lines([[2,2],[-2,2],[1,1,2,2,3,3],[2,1]], 212,110, [1,1], 'F', false) // line, line, bezier curve, line\r\n * @param {Array} lines Array of *vector* shifts as pairs (lines) or sextets (cubic bezier curves).\r\n * @param {number} x Coordinate (in units declared at inception of PDF document) against left edge of the page\r\n * @param {number} y Coordinate (in units declared at inception of PDF document) against upper edge of the page\r\n * @param {number} scale (Defaults to [1.0,1.0]) x,y Scaling factor for all vectors. Elements can be any floating number Sub-one makes drawing smaller. Over-one grows the drawing. Negative flips the direction.\r\n * @param {string=} style A string specifying the painting style or null. Valid styles include:\r\n * 'S' [default] - stroke,\r\n * 'F' - fill,\r\n * and 'DF' (or 'FD') - fill then stroke.\r\n * In \"compat\" API mode, a null value postpones setting the style so that a shape may be composed using multiple\r\n * method calls. The last drawing method call used to define the shape should not have a null style argument.\r\n *\r\n * In \"advanced\" API mode this parameter is deprecated.\r\n * @param {Boolean=} closed If true, the path is closed with a straight line from the end of the last curve to the starting point.\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name lines\r\n */\r\n API.__private__.lines = API.lines = function(\r\n lines,\r\n x,\r\n y,\r\n scale,\r\n style,\r\n closed\r\n ) {\r\n var scalex, scaley, i, l, leg, x2, y2, x3, y3, x4, y4, tmp;\r\n\r\n // Pre-August-2012 the order of arguments was function(x, y, lines, scale, style)\r\n // in effort to make all calls have similar signature like\r\n // function(content, coordinateX, coordinateY , miscellaneous)\r\n // this method had its args flipped.\r\n // code below allows backward compatibility with old arg order.\r\n if (typeof lines === \"number\") {\r\n tmp = y;\r\n y = x;\r\n x = lines;\r\n lines = tmp;\r\n }\r\n\r\n scale = scale || [1, 1];\r\n closed = closed || false;\r\n\r\n if (\r\n isNaN(x) ||\r\n isNaN(y) ||\r\n !Array.isArray(lines) ||\r\n !Array.isArray(scale) ||\r\n !isValidStyle(style) ||\r\n typeof closed !== \"boolean\"\r\n ) {\r\n throw new Error(\"Invalid arguments passed to jsPDF.lines\");\r\n }\r\n\r\n // starting point\r\n moveTo(x, y);\r\n\r\n scalex = scale[0];\r\n scaley = scale[1];\r\n l = lines.length;\r\n //, x2, y2 // bezier only. In page default measurement \"units\", *after* scaling\r\n //, x3, y3 // bezier only. In page default measurement \"units\", *after* scaling\r\n // ending point for all, lines and bezier. . In page default measurement \"units\", *after* scaling\r\n x4 = x; // last / ending point = starting point for first item.\r\n y4 = y; // last / ending point = starting point for first item.\r\n\r\n for (i = 0; i < l; i++) {\r\n leg = lines[i];\r\n if (leg.length === 2) {\r\n // simple line\r\n x4 = leg[0] * scalex + x4; // here last x4 was prior ending point\r\n y4 = leg[1] * scaley + y4; // here last y4 was prior ending point\r\n lineTo(x4, y4);\r\n } else {\r\n // bezier curve\r\n x2 = leg[0] * scalex + x4; // here last x4 is prior ending point\r\n y2 = leg[1] * scaley + y4; // here last y4 is prior ending point\r\n x3 = leg[2] * scalex + x4; // here last x4 is prior ending point\r\n y3 = leg[3] * scaley + y4; // here last y4 is prior ending point\r\n x4 = leg[4] * scalex + x4; // here last x4 was prior ending point\r\n y4 = leg[5] * scaley + y4; // here last y4 was prior ending point\r\n curveTo(x2, y2, x3, y3, x4, y4);\r\n }\r\n }\r\n\r\n if (closed) {\r\n close();\r\n }\r\n\r\n putStyle(style);\r\n return this;\r\n };\r\n\r\n /**\r\n * Similar to {@link API.lines} but all coordinates are interpreted as absolute coordinates instead of relative.\r\n * @param {Array} lines An array of {op: operator, c: coordinates} object, where op is one of \"m\" (move to), \"l\" (line to)\r\n * \"c\" (cubic bezier curve) and \"h\" (close (sub)path)). c is an array of coordinates. \"m\" and \"l\" expect two, \"c\"\r\n * six and \"h\" an empty array (or undefined).\r\n * @function\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name path\r\n */\r\n API.path = function(lines) {\r\n for (var i = 0; i < lines.length; i++) {\r\n var leg = lines[i];\r\n var coords = leg.c;\r\n switch (leg.op) {\r\n case \"m\":\r\n moveTo(coords[0], coords[1]);\r\n break;\r\n case \"l\":\r\n lineTo(coords[0], coords[1]);\r\n break;\r\n case \"c\":\r\n curveTo.apply(this, coords);\r\n break;\r\n case \"h\":\r\n close();\r\n break;\r\n }\r\n }\r\n\r\n return this;\r\n };\r\n\r\n /**\r\n * Adds a rectangle to PDF.\r\n *\r\n * @param {number} x Coordinate (in units declared at inception of PDF document) against left edge of the page\r\n * @param {number} y Coordinate (in units declared at inception of PDF document) against upper edge of the page\r\n * @param {number} w Width (in units declared at inception of PDF document)\r\n * @param {number} h Height (in units declared at inception of PDF document)\r\n * @param {string=} style A string specifying the painting style or null. Valid styles include:\r\n * 'S' [default] - stroke,\r\n * 'F' - fill,\r\n * and 'DF' (or 'FD') - fill then stroke.\r\n * In \"compat\" API mode, a null value postpones setting the style so that a shape may be composed using multiple\r\n * method calls. The last drawing method call used to define the shape should not have a null style argument.\r\n *\r\n * In \"advanced\" API mode this parameter is deprecated.\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name rect\r\n */\r\n API.__private__.rect = API.rect = function(x, y, w, h, style) {\r\n if (isNaN(x) || isNaN(y) || isNaN(w) || isNaN(h) || !isValidStyle(style)) {\r\n throw new Error(\"Invalid arguments passed to jsPDF.rect\");\r\n }\r\n if (apiMode === ApiMode.COMPAT) {\r\n h = -h;\r\n }\r\n\r\n out(\r\n [\r\n hpf(scale(x)),\r\n hpf(transformScaleY(y)),\r\n hpf(scale(w)),\r\n hpf(scale(h)),\r\n \"re\"\r\n ].join(\" \")\r\n );\r\n\r\n putStyle(style);\r\n return this;\r\n };\r\n\r\n /**\r\n * Adds a triangle to PDF.\r\n *\r\n * @param {number} x1 Coordinate (in units declared at inception of PDF document) against left edge of the page\r\n * @param {number} y1 Coordinate (in units declared at inception of PDF document) against upper edge of the page\r\n * @param {number} x2 Coordinate (in units declared at inception of PDF document) against left edge of the page\r\n * @param {number} y2 Coordinate (in units declared at inception of PDF document) against upper edge of the page\r\n * @param {number} x3 Coordinate (in units declared at inception of PDF document) against left edge of the page\r\n * @param {number} y3 Coordinate (in units declared at inception of PDF document) against upper edge of the page\r\n * @param {string=} style A string specifying the painting style or null. Valid styles include:\r\n * 'S' [default] - stroke,\r\n * 'F' - fill,\r\n * and 'DF' (or 'FD') - fill then stroke.\r\n * In \"compat\" API mode, a null value postpones setting the style so that a shape may be composed using multiple\r\n * method calls. The last drawing method call used to define the shape should not have a null style argument.\r\n *\r\n * In \"advanced\" API mode this parameter is deprecated.\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name triangle\r\n */\r\n API.__private__.triangle = API.triangle = function(\r\n x1,\r\n y1,\r\n x2,\r\n y2,\r\n x3,\r\n y3,\r\n style\r\n ) {\r\n if (\r\n isNaN(x1) ||\r\n isNaN(y1) ||\r\n isNaN(x2) ||\r\n isNaN(y2) ||\r\n isNaN(x3) ||\r\n isNaN(y3) ||\r\n !isValidStyle(style)\r\n ) {\r\n throw new Error(\"Invalid arguments passed to jsPDF.triangle\");\r\n }\r\n this.lines(\r\n [\r\n [x2 - x1, y2 - y1], // vector to point 2\r\n [x3 - x2, y3 - y2], // vector to point 3\r\n [x1 - x3, y1 - y3] // closing vector back to point 1\r\n ],\r\n x1,\r\n y1, // start of path\r\n [1, 1],\r\n style,\r\n true\r\n );\r\n return this;\r\n };\r\n\r\n /**\r\n * Adds a rectangle with rounded corners to PDF.\r\n *\r\n * @param {number} x Coordinate (in units declared at inception of PDF document) against left edge of the page\r\n * @param {number} y Coordinate (in units declared at inception of PDF document) against upper edge of the page\r\n * @param {number} w Width (in units declared at inception of PDF document)\r\n * @param {number} h Height (in units declared at inception of PDF document)\r\n * @param {number} rx Radius along x axis (in units declared at inception of PDF document)\r\n * @param {number} ry Radius along y axis (in units declared at inception of PDF document)\r\n * @param {string=} style A string specifying the painting style or null. Valid styles include:\r\n * 'S' [default] - stroke,\r\n * 'F' - fill,\r\n * and 'DF' (or 'FD') - fill then stroke.\r\n * In \"compat\" API mode, a null value postpones setting the style so that a shape may be composed using multiple\r\n * method calls. The last drawing method call used to define the shape should not have a null style argument.\r\n *\r\n * In \"advanced\" API mode this parameter is deprecated.\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name roundedRect\r\n */\r\n API.__private__.roundedRect = API.roundedRect = function(\r\n x,\r\n y,\r\n w,\r\n h,\r\n rx,\r\n ry,\r\n style\r\n ) {\r\n if (\r\n isNaN(x) ||\r\n isNaN(y) ||\r\n isNaN(w) ||\r\n isNaN(h) ||\r\n isNaN(rx) ||\r\n isNaN(ry) ||\r\n !isValidStyle(style)\r\n ) {\r\n throw new Error(\"Invalid arguments passed to jsPDF.roundedRect\");\r\n }\r\n var MyArc = (4 / 3) * (Math.SQRT2 - 1);\r\n\r\n rx = Math.min(rx, w * 0.5);\r\n ry = Math.min(ry, h * 0.5);\r\n\r\n this.lines(\r\n [\r\n [w - 2 * rx, 0],\r\n [rx * MyArc, 0, rx, ry - ry * MyArc, rx, ry],\r\n [0, h - 2 * ry],\r\n [0, ry * MyArc, -(rx * MyArc), ry, -rx, ry],\r\n [-w + 2 * rx, 0],\r\n [-(rx * MyArc), 0, -rx, -(ry * MyArc), -rx, -ry],\r\n [0, -h + 2 * ry],\r\n [0, -(ry * MyArc), rx * MyArc, -ry, rx, -ry]\r\n ],\r\n x + rx,\r\n y, // start of path\r\n [1, 1],\r\n style,\r\n true\r\n );\r\n return this;\r\n };\r\n\r\n /**\r\n * Adds an ellipse to PDF.\r\n *\r\n * @param {number} x Coordinate (in units declared at inception of PDF document) against left edge of the page\r\n * @param {number} y Coordinate (in units declared at inception of PDF document) against upper edge of the page\r\n * @param {number} rx Radius along x axis (in units declared at inception of PDF document)\r\n * @param {number} ry Radius along y axis (in units declared at inception of PDF document)\r\n * @param {string=} style A string specifying the painting style or null. Valid styles include:\r\n * 'S' [default] - stroke,\r\n * 'F' - fill,\r\n * and 'DF' (or 'FD') - fill then stroke.\r\n * In \"compat\" API mode, a null value postpones setting the style so that a shape may be composed using multiple\r\n * method calls. The last drawing method call used to define the shape should not have a null style argument.\r\n *\r\n * In \"advanced\" API mode this parameter is deprecated.\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name ellipse\r\n */\r\n API.__private__.ellipse = API.ellipse = function(x, y, rx, ry, style) {\r\n if (\r\n isNaN(x) ||\r\n isNaN(y) ||\r\n isNaN(rx) ||\r\n isNaN(ry) ||\r\n !isValidStyle(style)\r\n ) {\r\n throw new Error(\"Invalid arguments passed to jsPDF.ellipse\");\r\n }\r\n var lx = (4 / 3) * (Math.SQRT2 - 1) * rx,\r\n ly = (4 / 3) * (Math.SQRT2 - 1) * ry;\r\n\r\n moveTo(x + rx, y);\r\n curveTo(x + rx, y - ly, x + lx, y - ry, x, y - ry);\r\n curveTo(x - lx, y - ry, x - rx, y - ly, x - rx, y);\r\n curveTo(x - rx, y + ly, x - lx, y + ry, x, y + ry);\r\n curveTo(x + lx, y + ry, x + rx, y + ly, x + rx, y);\r\n\r\n putStyle(style);\r\n return this;\r\n };\r\n\r\n /**\r\n * Adds an circle to PDF.\r\n *\r\n * @param {number} x Coordinate (in units declared at inception of PDF document) against left edge of the page\r\n * @param {number} y Coordinate (in units declared at inception of PDF document) against upper edge of the page\r\n * @param {number} r Radius (in units declared at inception of PDF document)\r\n * @param {string=} style A string specifying the painting style or null. Valid styles include:\r\n * 'S' [default] - stroke,\r\n * 'F' - fill,\r\n * and 'DF' (or 'FD') - fill then stroke.\r\n * In \"compat\" API mode, a null value postpones setting the style so that a shape may be composed using multiple\r\n * method calls. The last drawing method call used to define the shape should not have a null style argument.\r\n *\r\n * In \"advanced\" API mode this parameter is deprecated.\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name circle\r\n */\r\n API.__private__.circle = API.circle = function(x, y, r, style) {\r\n if (isNaN(x) || isNaN(y) || isNaN(r) || !isValidStyle(style)) {\r\n throw new Error(\"Invalid arguments passed to jsPDF.circle\");\r\n }\r\n return this.ellipse(x, y, r, r, style);\r\n };\r\n\r\n /**\r\n * Sets text font face, variant for upcoming text elements.\r\n * See output of jsPDF.getFontList() for possible font names, styles.\r\n *\r\n * @param {string} fontName Font name or family. Example: \"times\".\r\n * @param {string} fontStyle Font style or variant. Example: \"italic\".\r\n * @param {number | string} fontWeight Weight of the Font. Example: \"normal\" | 400\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name setFont\r\n */\r\n API.setFont = function(fontName, fontStyle, fontWeight) {\r\n if (fontWeight) {\r\n fontStyle = combineFontStyleAndFontWeight(fontStyle, fontWeight);\r\n }\r\n activeFontKey = getFont(fontName, fontStyle, {\r\n disableWarning: false\r\n });\r\n return this;\r\n };\r\n\r\n /**\r\n * Gets text font face, variant for upcoming text elements.\r\n *\r\n * @function\r\n * @instance\r\n * @returns {Object}\r\n * @memberof jsPDF#\r\n * @name getFont\r\n */\r\n var getFontEntry = (API.__private__.getFont = API.getFont = function() {\r\n return fonts[getFont.apply(API, arguments)];\r\n });\r\n\r\n /**\r\n * Returns an object - a tree of fontName to fontStyle relationships available to\r\n * active PDF document.\r\n *\r\n * @public\r\n * @function\r\n * @instance\r\n * @returns {Object} Like {'times':['normal', 'italic', ... ], 'arial':['normal', 'bold', ... ], ... }\r\n * @memberof jsPDF#\r\n * @name getFontList\r\n */\r\n API.__private__.getFontList = API.getFontList = function() {\r\n var list = {},\r\n fontName,\r\n fontStyle;\r\n\r\n for (fontName in fontmap) {\r\n if (fontmap.hasOwnProperty(fontName)) {\r\n list[fontName] = [];\r\n for (fontStyle in fontmap[fontName]) {\r\n if (fontmap[fontName].hasOwnProperty(fontStyle)) {\r\n list[fontName].push(fontStyle);\r\n }\r\n }\r\n }\r\n }\r\n return list;\r\n };\r\n\r\n /**\r\n * Add a custom font to the current instance.\r\n *\r\n * @param {string} postScriptName PDF specification full name for the font.\r\n * @param {string} id PDF-document-instance-specific label assinged to the font.\r\n * @param {string} fontStyle Style of the Font.\r\n * @param {number | string} fontWeight Weight of the Font.\r\n * @param {Object} encoding Encoding_name-to-Font_metrics_object mapping.\r\n * @function\r\n * @instance\r\n * @memberof jsPDF#\r\n * @name addFont\r\n * @returns {string} fontId\r\n */\r\n API.addFont = function(\r\n postScriptName,\r\n fontName,\r\n fontStyle,\r\n fontWeight,\r\n encoding\r\n ) {\r\n var encodingOptions = [\r\n \"StandardEncoding\",\r\n \"MacRomanEncoding\",\r\n \"Identity-H\",\r\n \"WinAnsiEncoding\"\r\n ];\r\n if (arguments[3] && encodingOptions.indexOf(arguments[3]) !== -1) {\r\n //IE 11 fix\r\n encoding = arguments[3];\r\n } else if (arguments[3] && encodingOptions.indexOf(arguments[3]) == -1) {\r\n fontStyle = combineFontStyleAndFontWeight(fontStyle, fontWeight);\r\n }\r\n encoding = encoding || \"Identity-H\";\r\n return addFont.call(this, postScriptName, fontName, fontStyle, encoding);\r\n };\r\n\r\n var lineWidth = options.lineWidth || 0.200025; // 2mm\r\n /**\r\n * Gets the line width, default: 0.200025.\r\n *\r\n * @function\r\n * @instance\r\n * @returns {number} lineWidth\r\n * @memberof jsPDF#\r\n * @name getLineWidth\r\n */\r\n var getLineWidth = (API.__private__.getLineWidth = API.getLineWidth = function() {\r\n return lineWidth;\r\n });\r\n\r\n /**\r\n * Sets line width for upcoming lines.\r\n *\r\n * @param {number} width Line width (in units declared at inception of PDF document).\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name setLineWidth\r\n */\r\n var setLineWidth = (API.__private__.setLineWidth = API.setLineWidth = function(\r\n width\r\n ) {\r\n lineWidth = width;\r\n out(hpf(scale(width)) + \" w\");\r\n return this;\r\n });\r\n\r\n /**\r\n * Sets the dash pattern for upcoming lines.\r\n *\r\n * To reset the settings simply call the method without any parameters.\r\n * @param {Array} dashArray An array containing 0-2 numbers. The first number sets the length of the\r\n * dashes, the second number the length of the gaps. If the second number is missing, the gaps are considered\r\n * to be as long as the dashes. An empty array means solid, unbroken lines.\r\n * @param {number} dashPhase The phase lines start with.\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name setLineDashPattern\r\n */\r\n API.__private__.setLineDash = jsPDF.API.setLineDash = jsPDF.API.setLineDashPattern = function(\r\n dashArray,\r\n dashPhase\r\n ) {\r\n dashArray = dashArray || [];\r\n dashPhase = dashPhase || 0;\r\n\r\n if (isNaN(dashPhase) || !Array.isArray(dashArray)) {\r\n throw new Error(\"Invalid arguments passed to jsPDF.setLineDash\");\r\n }\r\n\r\n dashArray = dashArray\r\n .map(function(x) {\r\n return hpf(scale(x));\r\n })\r\n .join(\" \");\r\n dashPhase = hpf(scale(dashPhase));\r\n\r\n out(\"[\" + dashArray + \"] \" + dashPhase + \" d\");\r\n return this;\r\n };\r\n\r\n var lineHeightFactor;\r\n\r\n var getLineHeight = (API.__private__.getLineHeight = API.getLineHeight = function() {\r\n return activeFontSize * lineHeightFactor;\r\n });\r\n\r\n API.__private__.getLineHeight = API.getLineHeight = function() {\r\n return activeFontSize * lineHeightFactor;\r\n };\r\n\r\n /**\r\n * Sets the LineHeightFactor of proportion.\r\n *\r\n * @param {number} value LineHeightFactor value. Default: 1.15.\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name setLineHeightFactor\r\n */\r\n var setLineHeightFactor = (API.__private__.setLineHeightFactor = API.setLineHeightFactor = function(\r\n value\r\n ) {\r\n value = value || 1.15;\r\n if (typeof value === \"number\") {\r\n lineHeightFactor = value;\r\n }\r\n return this;\r\n });\r\n\r\n /**\r\n * Gets the LineHeightFactor, default: 1.15.\r\n *\r\n * @function\r\n * @instance\r\n * @returns {number} lineHeightFactor\r\n * @memberof jsPDF#\r\n * @name getLineHeightFactor\r\n */\r\n var getLineHeightFactor = (API.__private__.getLineHeightFactor = API.getLineHeightFactor = function() {\r\n return lineHeightFactor;\r\n });\r\n\r\n setLineHeightFactor(options.lineHeight);\r\n\r\n var getHorizontalCoordinate = (API.__private__.getHorizontalCoordinate = function(\r\n value\r\n ) {\r\n return scale(value);\r\n });\r\n\r\n var getVerticalCoordinate = (API.__private__.getVerticalCoordinate = function(\r\n value\r\n ) {\r\n if (apiMode === ApiMode.ADVANCED) {\r\n return value;\r\n } else {\r\n var pageHeight =\r\n pagesContext[currentPage].mediaBox.topRightY -\r\n pagesContext[currentPage].mediaBox.bottomLeftY;\r\n return pageHeight - scale(value);\r\n }\r\n });\r\n\r\n var getHorizontalCoordinateString = (API.__private__.getHorizontalCoordinateString = API.getHorizontalCoordinateString = function(\r\n value\r\n ) {\r\n return hpf(getHorizontalCoordinate(value));\r\n });\r\n\r\n var getVerticalCoordinateString = (API.__private__.getVerticalCoordinateString = API.getVerticalCoordinateString = function(\r\n value\r\n ) {\r\n return hpf(getVerticalCoordinate(value));\r\n });\r\n\r\n var strokeColor = options.strokeColor || \"0 G\";\r\n\r\n /**\r\n * Gets the stroke color for upcoming elements.\r\n *\r\n * @function\r\n * @instance\r\n * @returns {string} colorAsHex\r\n * @memberof jsPDF#\r\n * @name getDrawColor\r\n */\r\n API.__private__.getStrokeColor = API.getDrawColor = function() {\r\n return decodeColorString(strokeColor);\r\n };\r\n\r\n /**\r\n * Sets the stroke color for upcoming elements.\r\n *\r\n * Depending on the number of arguments given, Gray, RGB, or CMYK\r\n * color space is implied.\r\n *\r\n * When only ch1 is given, \"Gray\" color space is implied and it\r\n * must be a value in the range from 0.00 (solid black) to to 1.00 (white)\r\n * if values are communicated as String types, or in range from 0 (black)\r\n * to 255 (white) if communicated as Number type.\r\n * The RGB-like 0-255 range is provided for backward compatibility.\r\n *\r\n * When only ch1,ch2,ch3 are given, \"RGB\" color space is implied and each\r\n * value must be in the range from 0.00 (minimum intensity) to to 1.00\r\n * (max intensity) if values are communicated as String types, or\r\n * from 0 (min intensity) to to 255 (max intensity) if values are communicated\r\n * as Number types.\r\n * The RGB-like 0-255 range is provided for backward compatibility.\r\n *\r\n * When ch1,ch2,ch3,ch4 are given, \"CMYK\" color space is implied and each\r\n * value must be a in the range from 0.00 (0% concentration) to to\r\n * 1.00 (100% concentration)\r\n *\r\n * Because JavaScript treats fixed point numbers badly (rounds to\r\n * floating point nearest to binary representation) it is highly advised to\r\n * communicate the fractional numbers as String types, not JavaScript Number type.\r\n *\r\n * @param {Number|String} ch1 Color channel value or {string} ch1 color value in hexadecimal, example: '#FFFFFF'.\r\n * @param {Number} ch2 Color channel value.\r\n * @param {Number} ch3 Color channel value.\r\n * @param {Number} ch4 Color channel value.\r\n *\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name setDrawColor\r\n */\r\n API.__private__.setStrokeColor = API.setDrawColor = function(\r\n ch1,\r\n ch2,\r\n ch3,\r\n ch4\r\n ) {\r\n var options = {\r\n ch1: ch1,\r\n ch2: ch2,\r\n ch3: ch3,\r\n ch4: ch4,\r\n pdfColorType: \"draw\",\r\n precision: 2\r\n };\r\n\r\n strokeColor = encodeColorString(options);\r\n out(strokeColor);\r\n return this;\r\n };\r\n\r\n var fillColor = options.fillColor || \"0 g\";\r\n\r\n /**\r\n * Gets the fill color for upcoming elements.\r\n *\r\n * @function\r\n * @instance\r\n * @returns {string} colorAsHex\r\n * @memberof jsPDF#\r\n * @name getFillColor\r\n */\r\n API.__private__.getFillColor = API.getFillColor = function() {\r\n return decodeColorString(fillColor);\r\n };\r\n\r\n /**\r\n * Sets the fill color for upcoming elements.\r\n *\r\n * Depending on the number of arguments given, Gray, RGB, or CMYK\r\n * color space is implied.\r\n *\r\n * When only ch1 is given, \"Gray\" color space is implied and it\r\n * must be a value in the range from 0.00 (solid black) to to 1.00 (white)\r\n * if values are communicated as String types, or in range from 0 (black)\r\n * to 255 (white) if communicated as Number type.\r\n * The RGB-like 0-255 range is provided for backward compatibility.\r\n *\r\n * When only ch1,ch2,ch3 are given, \"RGB\" color space is implied and each\r\n * value must be in the range from 0.00 (minimum intensity) to to 1.00\r\n * (max intensity) if values are communicated as String types, or\r\n * from 0 (min intensity) to to 255 (max intensity) if values are communicated\r\n * as Number types.\r\n * The RGB-like 0-255 range is provided for backward compatibility.\r\n *\r\n * When ch1,ch2,ch3,ch4 are given, \"CMYK\" color space is implied and each\r\n * value must be a in the range from 0.00 (0% concentration) to to\r\n * 1.00 (100% concentration)\r\n *\r\n * Because JavaScript treats fixed point numbers badly (rounds to\r\n * floating point nearest to binary representation) it is highly advised to\r\n * communicate the fractional numbers as String types, not JavaScript Number type.\r\n *\r\n * @param {Number|String} ch1 Color channel value or {string} ch1 color value in hexadecimal, example: '#FFFFFF'.\r\n * @param {Number} ch2 Color channel value.\r\n * @param {Number} ch3 Color channel value.\r\n * @param {Number} ch4 Color channel value.\r\n *\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name setFillColor\r\n */\r\n API.__private__.setFillColor = API.setFillColor = function(\r\n ch1,\r\n ch2,\r\n ch3,\r\n ch4\r\n ) {\r\n var options = {\r\n ch1: ch1,\r\n ch2: ch2,\r\n ch3: ch3,\r\n ch4: ch4,\r\n pdfColorType: \"fill\",\r\n precision: 2\r\n };\r\n\r\n fillColor = encodeColorString(options);\r\n out(fillColor);\r\n return this;\r\n };\r\n\r\n var textColor = options.textColor || \"0 g\";\r\n /**\r\n * Gets the text color for upcoming elements.\r\n *\r\n * @function\r\n * @instance\r\n * @returns {string} colorAsHex\r\n * @memberof jsPDF#\r\n * @name getTextColor\r\n */\r\n var getTextColor = (API.__private__.getTextColor = API.getTextColor = function() {\r\n return decodeColorString(textColor);\r\n });\r\n /**\r\n * Sets the text color for upcoming elements.\r\n *\r\n * Depending on the number of arguments given, Gray, RGB, or CMYK\r\n * color space is implied.\r\n *\r\n * When only ch1 is given, \"Gray\" color space is implied and it\r\n * must be a value in the range from 0.00 (solid black) to to 1.00 (white)\r\n * if values are communicated as String types, or in range from 0 (black)\r\n * to 255 (white) if communicated as Number type.\r\n * The RGB-like 0-255 range is provided for backward compatibility.\r\n *\r\n * When only ch1,ch2,ch3 are given, \"RGB\" color space is implied and each\r\n * value must be in the range from 0.00 (minimum intensity) to to 1.00\r\n * (max intensity) if values are communicated as String types, or\r\n * from 0 (min intensity) to to 255 (max intensity) if values are communicated\r\n * as Number types.\r\n * The RGB-like 0-255 range is provided for backward compatibility.\r\n *\r\n * When ch1,ch2,ch3,ch4 are given, \"CMYK\" color space is implied and each\r\n * value must be a in the range from 0.00 (0% concentration) to to\r\n * 1.00 (100% concentration)\r\n *\r\n * Because JavaScript treats fixed point numbers badly (rounds to\r\n * floating point nearest to binary representation) it is highly advised to\r\n * communicate the fractional numbers as String types, not JavaScript Number type.\r\n *\r\n * @param {Number|String} ch1 Color channel value or {string} ch1 color value in hexadecimal, example: '#FFFFFF'.\r\n * @param {Number} ch2 Color channel value.\r\n * @param {Number} ch3 Color channel value.\r\n * @param {Number} ch4 Color channel value.\r\n *\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name setTextColor\r\n */\r\n API.__private__.setTextColor = API.setTextColor = function(\r\n ch1,\r\n ch2,\r\n ch3,\r\n ch4\r\n ) {\r\n var options = {\r\n ch1: ch1,\r\n ch2: ch2,\r\n ch3: ch3,\r\n ch4: ch4,\r\n pdfColorType: \"text\",\r\n precision: 3\r\n };\r\n textColor = encodeColorString(options);\r\n\r\n return this;\r\n };\r\n\r\n var activeCharSpace = options.charSpace;\r\n\r\n /**\r\n * Get global value of CharSpace.\r\n *\r\n * @function\r\n * @instance\r\n * @returns {number} charSpace\r\n * @memberof jsPDF#\r\n * @name getCharSpace\r\n */\r\n var getCharSpace = (API.__private__.getCharSpace = API.getCharSpace = function() {\r\n return parseFloat(activeCharSpace || 0);\r\n });\r\n\r\n /**\r\n * Set global value of CharSpace.\r\n *\r\n * @param {number} charSpace\r\n * @function\r\n * @instance\r\n * @returns {jsPDF} jsPDF-instance\r\n * @memberof jsPDF#\r\n * @name setCharSpace\r\n */\r\n API.__private__.setCharSpace = API.setCharSpace = function(charSpace) {\r\n if (isNaN(charSpace)) {\r\n throw new Error(\"Invalid argument passed to jsPDF.setCharSpace\");\r\n }\r\n activeCharSpace = charSpace;\r\n return this;\r\n };\r\n\r\n var lineCapID = 0;\r\n /**\r\n * Is an Object providing a mapping from human-readable to\r\n * integer flag values designating the varieties of line cap\r\n * and join styles.\r\n *\r\n * @memberof jsPDF#\r\n * @name CapJoinStyles\r\n */\r\n API.CapJoinStyles = {\r\n 0: 0,\r\n butt: 0,\r\n but: 0,\r\n miter: 0,\r\n 1: 1,\r\n round: 1,\r\n rounded: 1,\r\n circle: 1,\r\n 2: 2,\r\n projecting: 2,\r\n project: 2,\r\n square: 2,\r\n bevel: 2\r\n };\r\n\r\n /**\r\n * Sets the line cap styles.\r\n * See {jsPDF.CapJoinStyles} for variants.\r\n *\r\n * @param {String|Number} style A string or number identifying the type of line cap.\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name setLineCap\r\n */\r\n API.__private__.setLineCap = API.setLineCap = function(style) {\r\n var id = API.CapJoinStyles[style];\r\n if (id === undefined) {\r\n throw new Error(\r\n \"Line cap style of '\" +\r\n style +\r\n \"' is not recognized. See or extend .CapJoinStyles property for valid styles\"\r\n );\r\n }\r\n lineCapID = id;\r\n out(id + \" J\");\r\n\r\n return this;\r\n };\r\n\r\n var lineJoinID = 0;\r\n /**\r\n * Sets the line join styles.\r\n * See {jsPDF.CapJoinStyles} for variants.\r\n *\r\n * @param {String|Number} style A string or number identifying the type of line join.\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name setLineJoin\r\n */\r\n API.__private__.setLineJoin = API.setLineJoin = function(style) {\r\n var id = API.CapJoinStyles[style];\r\n if (id === undefined) {\r\n throw new Error(\r\n \"Line join style of '\" +\r\n style +\r\n \"' is not recognized. See or extend .CapJoinStyles property for valid styles\"\r\n );\r\n }\r\n lineJoinID = id;\r\n out(id + \" j\");\r\n\r\n return this;\r\n };\r\n\r\n var miterLimit;\r\n /**\r\n * Sets the miterLimit property, which effects the maximum miter length.\r\n *\r\n * @param {number} length The length of the miter\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name setLineMiterLimit\r\n */\r\n API.__private__.setLineMiterLimit = API.__private__.setMiterLimit = API.setLineMiterLimit = API.setMiterLimit = function(\r\n length\r\n ) {\r\n length = length || 0;\r\n if (isNaN(length)) {\r\n throw new Error(\"Invalid argument passed to jsPDF.setLineMiterLimit\");\r\n }\r\n out(hpf(scale(length)) + \" M\");\r\n\r\n return this;\r\n };\r\n\r\n /**\r\n * An object representing a pdf graphics state.\r\n * @class GState\r\n */\r\n\r\n /**\r\n *\r\n * @param parameters A parameter object that contains all properties this graphics state wants to set.\r\n * Supported are: opacity, stroke-opacity\r\n * @constructor\r\n */\r\n API.GState = GState;\r\n\r\n /**\r\n * Sets a either previously added {@link GState} (via {@link addGState}) or a new {@link GState}.\r\n * @param {String|GState} gState If type is string, a previously added GState is used, if type is GState\r\n * it will be added before use.\r\n * @function\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name setGState\r\n */\r\n API.setGState = function(gState) {\r\n if (typeof gState === \"string\") {\r\n gState = gStates[gStatesMap[gState]];\r\n } else {\r\n gState = addGState(null, gState);\r\n }\r\n\r\n if (!gState.equals(activeGState)) {\r\n out(\"/\" + gState.id + \" gs\");\r\n activeGState = gState;\r\n }\r\n };\r\n\r\n /**\r\n * Adds a new Graphics State. Duplicates are automatically eliminated.\r\n * @param {String} key Might also be null, if no later reference to this gState is needed\r\n * @param {Object} gState The gState object\r\n */\r\n var addGState = function(key, gState) {\r\n // only add it if it is not already present (the keys provided by the user must be unique!)\r\n if (key && gStatesMap[key]) return;\r\n var duplicate = false;\r\n for (var s in gStates) {\r\n if (gStates.hasOwnProperty(s)) {\r\n if (gStates[s].equals(gState)) {\r\n duplicate = true;\r\n break;\r\n }\r\n }\r\n }\r\n\r\n if (duplicate) {\r\n gState = gStates[s];\r\n } else {\r\n var gStateKey = \"GS\" + (Object.keys(gStates).length + 1).toString(10);\r\n gStates[gStateKey] = gState;\r\n gState.id = gStateKey;\r\n }\r\n\r\n // several user keys may point to the same GState object\r\n key && (gStatesMap[key] = gState.id);\r\n\r\n events.publish(\"addGState\", gState);\r\n\r\n return gState;\r\n };\r\n\r\n /**\r\n * Adds a new {@link GState} for later use. See {@link setGState}.\r\n * @param {String} key\r\n * @param {GState} gState\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n *\r\n * @memberof jsPDF#\r\n * @name addGState\r\n */\r\n API.addGState = function(key, gState) {\r\n addGState(key, gState);\r\n return this;\r\n };\r\n\r\n /**\r\n * Saves the current graphics state (\"pushes it on the stack\"). It can be restored by {@link restoreGraphicsState}\r\n * later. Here, the general pdf graphics state is meant, also including the current transformation matrix,\r\n * fill and stroke colors etc.\r\n * @function\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name saveGraphicsState\r\n */\r\n API.saveGraphicsState = function() {\r\n out(\"q\");\r\n // as we cannot set font key and size independently we must keep track of both\r\n fontStateStack.push({\r\n key: activeFontKey,\r\n size: activeFontSize,\r\n color: textColor\r\n });\r\n return this;\r\n };\r\n\r\n /**\r\n * Restores a previously saved graphics state saved by {@link saveGraphicsState} (\"pops the stack\").\r\n * @function\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name restoreGraphicsState\r\n */\r\n API.restoreGraphicsState = function() {\r\n out(\"Q\");\r\n\r\n // restore previous font state\r\n var fontState = fontStateStack.pop();\r\n activeFontKey = fontState.key;\r\n activeFontSize = fontState.size;\r\n textColor = fontState.color;\r\n\r\n activeGState = null;\r\n\r\n return this;\r\n };\r\n\r\n /**\r\n * Appends this matrix to the left of all previously applied matrices.\r\n *\r\n * @param {Matrix} matrix\r\n * @function\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name setCurrentTransformationMatrix\r\n */\r\n API.setCurrentTransformationMatrix = function(matrix) {\r\n out(matrix.toString() + \" cm\");\r\n return this;\r\n };\r\n\r\n /**\r\n * Inserts a debug comment into the generated pdf.\r\n * @function\r\n * @instance\r\n * @param {String} text\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name comment\r\n */\r\n API.comment = function(text) {\r\n out(\"#\" + text);\r\n return this;\r\n };\r\n\r\n /**\r\n * Point\r\n */\r\n var Point = function(x, y) {\r\n var _x = x || 0;\r\n Object.defineProperty(this, \"x\", {\r\n enumerable: true,\r\n get: function() {\r\n return _x;\r\n },\r\n set: function(value) {\r\n if (!isNaN(value)) {\r\n _x = parseFloat(value);\r\n }\r\n }\r\n });\r\n\r\n var _y = y || 0;\r\n Object.defineProperty(this, \"y\", {\r\n enumerable: true,\r\n get: function() {\r\n return _y;\r\n },\r\n set: function(value) {\r\n if (!isNaN(value)) {\r\n _y = parseFloat(value);\r\n }\r\n }\r\n });\r\n\r\n var _type = \"pt\";\r\n Object.defineProperty(this, \"type\", {\r\n enumerable: true,\r\n get: function() {\r\n return _type;\r\n },\r\n set: function(value) {\r\n _type = value.toString();\r\n }\r\n });\r\n return this;\r\n };\r\n\r\n /**\r\n * Rectangle\r\n */\r\n var Rectangle = function(x, y, w, h) {\r\n Point.call(this, x, y);\r\n this.type = \"rect\";\r\n\r\n var _w = w || 0;\r\n Object.defineProperty(this, \"w\", {\r\n enumerable: true,\r\n get: function() {\r\n return _w;\r\n },\r\n set: function(value) {\r\n if (!isNaN(value)) {\r\n _w = parseFloat(value);\r\n }\r\n }\r\n });\r\n\r\n var _h = h || 0;\r\n Object.defineProperty(this, \"h\", {\r\n enumerable: true,\r\n get: function() {\r\n return _h;\r\n },\r\n set: function(value) {\r\n if (!isNaN(value)) {\r\n _h = parseFloat(value);\r\n }\r\n }\r\n });\r\n\r\n return this;\r\n };\r\n\r\n /**\r\n * FormObject/RenderTarget\r\n */\r\n\r\n var RenderTarget = function() {\r\n this.page = page;\r\n this.currentPage = currentPage;\r\n this.pages = pages.slice(0);\r\n this.pagesContext = pagesContext.slice(0);\r\n this.x = pageX;\r\n this.y = pageY;\r\n this.matrix = pageMatrix;\r\n this.width = getPageWidth(currentPage);\r\n this.height = getPageHeight(currentPage);\r\n this.outputDestination = outputDestination;\r\n\r\n this.id = \"\"; // set by endFormObject()\r\n this.objectNumber = -1; // will be set by putXObject()\r\n };\r\n\r\n RenderTarget.prototype.restore = function() {\r\n page = this.page;\r\n currentPage = this.currentPage;\r\n pagesContext = this.pagesContext;\r\n pages = this.pages;\r\n pageX = this.x;\r\n pageY = this.y;\r\n pageMatrix = this.matrix;\r\n setPageWidth(currentPage, this.width);\r\n setPageHeight(currentPage, this.height);\r\n outputDestination = this.outputDestination;\r\n };\r\n\r\n var beginNewRenderTarget = function(x, y, width, height, matrix) {\r\n // save current state\r\n renderTargetStack.push(new RenderTarget());\r\n\r\n // clear pages\r\n page = currentPage = 0;\r\n pages = [];\r\n pageX = x;\r\n pageY = y;\r\n\r\n pageMatrix = matrix;\r\n\r\n beginPage([width, height]);\r\n };\r\n\r\n var endFormObject = function(key) {\r\n // only add it if it is not already present (the keys provided by the user must be unique!)\r\n if (renderTargetMap[key]) {\r\n renderTargetStack.pop().restore();\r\n return;\r\n }\r\n\r\n // save the created xObject\r\n var newXObject = new RenderTarget();\r\n\r\n var xObjectId = \"Xo\" + (Object.keys(renderTargets).length + 1).toString(10);\r\n newXObject.id = xObjectId;\r\n\r\n renderTargetMap[key] = xObjectId;\r\n renderTargets[xObjectId] = newXObject;\r\n\r\n events.publish(\"addFormObject\", newXObject);\r\n\r\n // restore state from stack\r\n renderTargetStack.pop().restore();\r\n };\r\n\r\n /**\r\n * Starts a new pdf form object, which means that all consequent draw calls target a new independent object\r\n * until {@link endFormObject} is called. The created object can be referenced and drawn later using\r\n * {@link doFormObject}. Nested form objects are possible.\r\n * x, y, width, height set the bounding box that is used to clip the content.\r\n *\r\n * @param {number} x\r\n * @param {number} y\r\n * @param {number} width\r\n * @param {number} height\r\n * @param {Matrix} matrix The matrix that will be applied to convert the form objects coordinate system to\r\n * the parent's.\r\n * @function\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name beginFormObject\r\n */\r\n API.beginFormObject = function(x, y, width, height, matrix) {\r\n // The user can set the output target to a new form object. Nested form objects are possible.\r\n // Currently, they use the resource dictionary of the surrounding stream. This should be changed, as\r\n // the PDF-Spec states:\r\n // \"In PDF 1.2 and later versions, form XObjects may be independent of the content streams in which\r\n // they appear, and this is strongly recommended although not requiredIn PDF 1.2 and later versions,\r\n // form XObjects may be independent of the content streams in which they appear, and this is strongly\r\n // recommended although not required\"\r\n beginNewRenderTarget(x, y, width, height, matrix);\r\n return this;\r\n };\r\n\r\n /**\r\n * Completes and saves the form object.\r\n * @param {String} key The key by which this form object can be referenced.\r\n * @function\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name endFormObject\r\n */\r\n API.endFormObject = function(key) {\r\n endFormObject(key);\r\n return this;\r\n };\r\n\r\n /**\r\n * Draws the specified form object by referencing to the respective pdf XObject created with\r\n * {@link API.beginFormObject} and {@link endFormObject}.\r\n * The location is determined by matrix.\r\n *\r\n * @param {String} key The key to the form object.\r\n * @param {Matrix} matrix The matrix applied before drawing the form object.\r\n * @function\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name doFormObject\r\n */\r\n API.doFormObject = function(key, matrix) {\r\n var xObject = renderTargets[renderTargetMap[key]];\r\n out(\"q\");\r\n out(matrix.toString() + \" cm\");\r\n out(\"/\" + xObject.id + \" Do\");\r\n out(\"Q\");\r\n return this;\r\n };\r\n\r\n /**\r\n * Returns the form object specified by key.\r\n * @param key {String}\r\n * @returns {{x: number, y: number, width: number, height: number, matrix: Matrix}}\r\n * @function\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name getFormObject\r\n */\r\n API.getFormObject = function(key) {\r\n var xObject = renderTargets[renderTargetMap[key]];\r\n return {\r\n x: xObject.x,\r\n y: xObject.y,\r\n width: xObject.width,\r\n height: xObject.height,\r\n matrix: xObject.matrix\r\n };\r\n };\r\n\r\n /**\r\n * Saves as PDF document. An alias of jsPDF.output('save', 'filename.pdf').\r\n * Uses FileSaver.js-method saveAs.\r\n *\r\n * @memberof jsPDF#\r\n * @name save\r\n * @function\r\n * @instance\r\n * @param {string} filename The filename including extension.\r\n * @param {Object} options An Object with additional options, possible options: 'returnPromise'.\r\n * @returns {jsPDF|Promise} jsPDF-instance */\r\n API.save = function(filename, options) {\r\n filename = filename || \"generated.pdf\";\r\n\r\n options = options || {};\r\n options.returnPromise = options.returnPromise || false;\r\n\r\n if (options.returnPromise === false) {\r\n saveAs(getBlob(buildDocument()), filename);\r\n if (typeof saveAs.unload === \"function\") {\r\n if (globalObject.setTimeout) {\r\n setTimeout(saveAs.unload, 911);\r\n }\r\n }\r\n return this;\r\n } else {\r\n return new Promise(function(resolve, reject) {\r\n try {\r\n var result = saveAs(getBlob(buildDocument()), filename);\r\n if (typeof saveAs.unload === \"function\") {\r\n if (globalObject.setTimeout) {\r\n setTimeout(saveAs.unload, 911);\r\n }\r\n }\r\n resolve(result);\r\n } catch (e) {\r\n reject(e.message);\r\n }\r\n });\r\n }\r\n\r\n };\r\n\r\n // applying plugins (more methods) ON TOP of built-in API.\r\n // this is intentional as we allow plugins to override\r\n // built-ins\r\n for (var plugin in jsPDF.API) {\r\n if (jsPDF.API.hasOwnProperty(plugin)) {\r\n if (plugin === \"events\" && jsPDF.API.events.length) {\r\n (function(events, newEvents) {\r\n // jsPDF.API.events is a JS Array of Arrays\r\n // where each Array is a pair of event name, handler\r\n // Events were added by plugins to the jsPDF instantiator.\r\n // These are always added to the new instance and some ran\r\n // during instantiation.\r\n var eventname, handler_and_args, i;\r\n\r\n for (i = newEvents.length - 1; i !== -1; i--) {\r\n // subscribe takes 3 args: 'topic', function, runonce_flag\r\n // if undefined, runonce is false.\r\n // users can attach callback directly,\r\n // or they can attach an array with [callback, runonce_flag]\r\n // that's what the \"apply\" magic is for below.\r\n eventname = newEvents[i][0];\r\n handler_and_args = newEvents[i][1];\r\n events.subscribe.apply(\r\n events,\r\n [eventname].concat(\r\n typeof handler_and_args === \"function\"\r\n ? [handler_and_args]\r\n : handler_and_args\r\n )\r\n );\r\n }\r\n })(events, jsPDF.API.events);\r\n } else {\r\n API[plugin] = jsPDF.API[plugin];\r\n }\r\n }\r\n }\r\n\r\n var getPageWidth = (API.getPageWidth = function(pageNumber) {\r\n pageNumber = pageNumber || currentPage;\r\n return (\r\n (pagesContext[pageNumber].mediaBox.topRightX -\r\n pagesContext[pageNumber].mediaBox.bottomLeftX) /\r\n scaleFactor\r\n );\r\n });\r\n\r\n var setPageWidth = (API.setPageWidth = function(pageNumber, value) {\r\n pagesContext[pageNumber].mediaBox.topRightX =\r\n value * scaleFactor + pagesContext[pageNumber].mediaBox.bottomLeftX;\r\n });\r\n\r\n var getPageHeight = (API.getPageHeight = function(pageNumber) {\r\n pageNumber = pageNumber || currentPage;\r\n return (\r\n (pagesContext[pageNumber].mediaBox.topRightY -\r\n pagesContext[pageNumber].mediaBox.bottomLeftY) /\r\n scaleFactor\r\n );\r\n });\r\n\r\n var setPageHeight = (API.setPageHeight = function(pageNumber, value) {\r\n pagesContext[pageNumber].mediaBox.topRightY =\r\n value * scaleFactor + pagesContext[pageNumber].mediaBox.bottomLeftY;\r\n });\r\n\r\n /**\r\n * Object exposing internal API to plugins\r\n * @public\r\n * @ignore\r\n */\r\n API.internal = {\r\n pdfEscape: pdfEscape,\r\n getStyle: getStyle,\r\n getFont: getFontEntry,\r\n getFontSize: getFontSize,\r\n getCharSpace: getCharSpace,\r\n getTextColor: getTextColor,\r\n getLineHeight: getLineHeight,\r\n getLineHeightFactor: getLineHeightFactor,\r\n getLineWidth: getLineWidth,\r\n write: write,\r\n getHorizontalCoordinate: getHorizontalCoordinate,\r\n getVerticalCoordinate: getVerticalCoordinate,\r\n getCoordinateString: getHorizontalCoordinateString,\r\n getVerticalCoordinateString: getVerticalCoordinateString,\r\n collections: {},\r\n newObject: newObject,\r\n newAdditionalObject: newAdditionalObject,\r\n newObjectDeferred: newObjectDeferred,\r\n newObjectDeferredBegin: newObjectDeferredBegin,\r\n getFilters: getFilters,\r\n putStream: putStream,\r\n events: events,\r\n scaleFactor: scaleFactor,\r\n pageSize: {\r\n getWidth: function() {\r\n return getPageWidth(currentPage);\r\n },\r\n setWidth: function(value) {\r\n setPageWidth(currentPage, value);\r\n },\r\n getHeight: function() {\r\n return getPageHeight(currentPage);\r\n },\r\n setHeight: function(value) {\r\n setPageHeight(currentPage, value);\r\n }\r\n },\r\n encryptionOptions: encryptionOptions,\r\n encryption: encryption,\r\n getEncryptor: getEncryptor,\r\n output: output,\r\n getNumberOfPages: getNumberOfPages,\r\n pages: pages,\r\n out: out,\r\n f2: f2,\r\n f3: f3,\r\n getPageInfo: getPageInfo,\r\n getPageInfoByObjId: getPageInfoByObjId,\r\n getCurrentPageInfo: getCurrentPageInfo,\r\n getPDFVersion: getPdfVersion,\r\n Point: Point,\r\n Rectangle: Rectangle,\r\n Matrix: Matrix,\r\n hasHotfix: hasHotfix //Expose the hasHotfix check so plugins can also check them.\r\n };\r\n\r\n Object.defineProperty(API.internal.pageSize, \"width\", {\r\n get: function() {\r\n return getPageWidth(currentPage);\r\n },\r\n set: function(value) {\r\n setPageWidth(currentPage, value);\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(API.internal.pageSize, \"height\", {\r\n get: function() {\r\n return getPageHeight(currentPage);\r\n },\r\n set: function(value) {\r\n setPageHeight(currentPage, value);\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n\r\n //////////////////////////////////////////////////////\r\n // continuing initialization of jsPDF Document object\r\n //////////////////////////////////////////////////////\r\n // Add the first page automatically\r\n addFonts.call(API, standardFonts);\r\n activeFontKey = \"F1\";\r\n _addPage(format, orientation);\r\n\r\n events.publish(\"initialized\");\r\n return API;\r\n}\r\n\r\n/**\r\n * jsPDF.API is a STATIC property of jsPDF class.\r\n * jsPDF.API is an object you can add methods and properties to.\r\n * The methods / properties you add will show up in new jsPDF objects.\r\n *\r\n * One property is prepopulated. It is the 'events' Object. Plugin authors can add topics,\r\n * callbacks to this object. These will be reassigned to all new instances of jsPDF.\r\n *\r\n * @static\r\n * @public\r\n * @memberof jsPDF#\r\n * @name API\r\n *\r\n * @example\r\n * jsPDF.API.mymethod = function(){\r\n * // 'this' will be ref to internal API object. see jsPDF source\r\n * // , so you can refer to built-in methods like so:\r\n * // this.line(....)\r\n * // this.text(....)\r\n * }\r\n * var pdfdoc = new jsPDF()\r\n * pdfdoc.mymethod() // <- !!!!!!\r\n */\r\njsPDF.API = {\r\n events: []\r\n};\r\n/**\r\n * The version of jsPDF.\r\n * @name version\r\n * @type {string}\r\n * @memberof jsPDF#\r\n */\r\njsPDF.version = \"0.0.0\";\r\n\r\nexport { jsPDF, ShadingPattern, TilingPattern, GState };\r\nexport default jsPDF;\r\n","/* global jsPDF */\n/**\n * @license\n * Copyright (c) 2016 Alexander Weidt,\n * https://github.com/BiggA94\n *\n * Licensed under the MIT License. http://opensource.org/licenses/mit-license\n */\n\n/**\n * jsPDF AcroForm Plugin\n * @module AcroForm\n */\n\nimport { jsPDF } from \"../jspdf.js\";\n\nvar jsPDFAPI = jsPDF.API;\nvar scaleFactor = 1;\n\nvar pdfEscape = function(value) {\n return value\n .replace(/\\\\/g, \"\\\\\\\\\")\n .replace(/\\(/g, \"\\\\(\")\n .replace(/\\)/g, \"\\\\)\");\n};\nvar pdfUnescape = function(value) {\n return value\n .replace(/\\\\\\\\/g, \"\\\\\")\n .replace(/\\\\\\(/g, \"(\")\n .replace(/\\\\\\)/g, \")\");\n};\n\nvar f2 = function(number) {\n return number.toFixed(2); // Ie, %.2f\n};\n\nvar f5 = function(number) {\n return number.toFixed(5); // Ie, %.2f\n};\n\njsPDFAPI.__acroform__ = {};\nvar inherit = function(child, parent) {\n child.prototype = Object.create(parent.prototype);\n child.prototype.constructor = child;\n};\n\nvar scale = function(x) {\n return x * scaleFactor;\n};\n\nvar createFormXObject = function(formObject) {\n var xobj = new AcroFormXObject();\n var height = AcroFormAppearance.internal.getHeight(formObject) || 0;\n var width = AcroFormAppearance.internal.getWidth(formObject) || 0;\n xobj.BBox = [0, 0, Number(f2(width)), Number(f2(height))];\n return xobj;\n};\n\n/**\n * Bit-Operations\n */\nvar setBit = (jsPDFAPI.__acroform__.setBit = function(number, bitPosition) {\n number = number || 0;\n bitPosition = bitPosition || 0;\n\n if (isNaN(number) || isNaN(bitPosition)) {\n throw new Error(\n \"Invalid arguments passed to jsPDF.API.__acroform__.setBit\"\n );\n }\n var bitMask = 1 << bitPosition;\n\n number |= bitMask;\n\n return number;\n});\n\nvar clearBit = (jsPDFAPI.__acroform__.clearBit = function(number, bitPosition) {\n number = number || 0;\n bitPosition = bitPosition || 0;\n\n if (isNaN(number) || isNaN(bitPosition)) {\n throw new Error(\n \"Invalid arguments passed to jsPDF.API.__acroform__.clearBit\"\n );\n }\n var bitMask = 1 << bitPosition;\n\n number &= ~bitMask;\n\n return number;\n});\n\nvar getBit = (jsPDFAPI.__acroform__.getBit = function(number, bitPosition) {\n if (isNaN(number) || isNaN(bitPosition)) {\n throw new Error(\n \"Invalid arguments passed to jsPDF.API.__acroform__.getBit\"\n );\n }\n return (number & (1 << bitPosition)) === 0 ? 0 : 1;\n});\n\n/*\n * Ff starts counting the bit position at 1 and not like javascript at 0\n */\nvar getBitForPdf = (jsPDFAPI.__acroform__.getBitForPdf = function(\n number,\n bitPosition\n) {\n if (isNaN(number) || isNaN(bitPosition)) {\n throw new Error(\n \"Invalid arguments passed to jsPDF.API.__acroform__.getBitForPdf\"\n );\n }\n return getBit(number, bitPosition - 1);\n});\n\nvar setBitForPdf = (jsPDFAPI.__acroform__.setBitForPdf = function(\n number,\n bitPosition\n) {\n if (isNaN(number) || isNaN(bitPosition)) {\n throw new Error(\n \"Invalid arguments passed to jsPDF.API.__acroform__.setBitForPdf\"\n );\n }\n return setBit(number, bitPosition - 1);\n});\n\nvar clearBitForPdf = (jsPDFAPI.__acroform__.clearBitForPdf = function(\n number,\n bitPosition\n) {\n if (isNaN(number) || isNaN(bitPosition)) {\n throw new Error(\n \"Invalid arguments passed to jsPDF.API.__acroform__.clearBitForPdf\"\n );\n }\n return clearBit(number, bitPosition - 1);\n});\n\nvar calculateCoordinates = (jsPDFAPI.__acroform__.calculateCoordinates = function(\n args,\n scope\n) {\n var getHorizontalCoordinate = scope.internal.getHorizontalCoordinate;\n var getVerticalCoordinate = scope.internal.getVerticalCoordinate;\n var x = args[0];\n var y = args[1];\n var w = args[2];\n var h = args[3];\n\n var coordinates = {};\n\n coordinates.lowerLeft_X = getHorizontalCoordinate(x) || 0;\n coordinates.lowerLeft_Y = getVerticalCoordinate(y + h) || 0;\n coordinates.upperRight_X = getHorizontalCoordinate(x + w) || 0;\n coordinates.upperRight_Y = getVerticalCoordinate(y) || 0;\n\n return [\n Number(f2(coordinates.lowerLeft_X)),\n Number(f2(coordinates.lowerLeft_Y)),\n Number(f2(coordinates.upperRight_X)),\n Number(f2(coordinates.upperRight_Y))\n ];\n});\n\nvar calculateAppearanceStream = function(formObject) {\n if (formObject.appearanceStreamContent) {\n return formObject.appearanceStreamContent;\n }\n\n if (!formObject.V && !formObject.DV) {\n return;\n }\n\n // else calculate it\n\n var stream = [];\n var text = formObject._V || formObject.DV;\n var calcRes = calculateX(formObject, text);\n var fontKey = formObject.scope.internal.getFont(\n formObject.fontName,\n formObject.fontStyle\n ).id;\n\n //PDF 32000-1:2008, page 444\n stream.push(\"/Tx BMC\");\n stream.push(\"q\");\n stream.push(\"BT\"); // Begin Text\n stream.push(formObject.scope.__private__.encodeColorString(formObject.color));\n stream.push(\"/\" + fontKey + \" \" + f2(calcRes.fontSize) + \" Tf\");\n stream.push(\"1 0 0 1 0 0 Tm\"); // Transformation Matrix\n stream.push(calcRes.text);\n stream.push(\"ET\"); // End Text\n stream.push(\"Q\");\n stream.push(\"EMC\");\n\n var appearanceStreamContent = createFormXObject(formObject);\n appearanceStreamContent.scope = formObject.scope;\n appearanceStreamContent.stream = stream.join(\"\\n\");\n return appearanceStreamContent;\n};\n\nvar calculateX = function(formObject, text) {\n var maxFontSize =\n formObject.fontSize === 0 ? formObject.maxFontSize : formObject.fontSize;\n var returnValue = {\n text: \"\",\n fontSize: \"\"\n };\n // Remove Brackets\n text = text.substr(0, 1) == \"(\" ? text.substr(1) : text;\n text =\n text.substr(text.length - 1) == \")\"\n ? text.substr(0, text.length - 1)\n : text;\n // split into array of words\n var textSplit = text.split(\" \");\n if (formObject.multiline) {\n textSplit = textSplit.map(word => word.split(\"\\n\"));\n } else {\n textSplit = textSplit.map(word => [word]);\n }\n\n var fontSize = maxFontSize; // The Starting fontSize (The Maximum)\n var lineSpacing = 2;\n var borderPadding = 2;\n\n var height = AcroFormAppearance.internal.getHeight(formObject) || 0;\n height = height < 0 ? -height : height;\n var width = AcroFormAppearance.internal.getWidth(formObject) || 0;\n width = width < 0 ? -width : width;\n\n var isSmallerThanWidth = function(i, lastLine, fontSize) {\n if (i + 1 < textSplit.length) {\n var tmp = lastLine + \" \" + textSplit[i + 1][0];\n var TextWidth = calculateFontSpace(tmp, formObject, fontSize).width;\n var FieldWidth = width - 2 * borderPadding;\n return TextWidth <= FieldWidth;\n } else {\n return false;\n }\n };\n\n fontSize++;\n FontSize: while (fontSize > 0) {\n text = \"\";\n fontSize--;\n var textHeight = calculateFontSpace(\"3\", formObject, fontSize).height;\n var startY = formObject.multiline\n ? height - fontSize\n : (height - textHeight) / 2;\n startY += lineSpacing;\n var startX;\n\n var lastY = startY;\n var firstWordInLine = 0,\n lastWordInLine = 0;\n var lastLength;\n var currWord = 0;\n\n if (fontSize <= 0) {\n // In case, the Text doesn't fit at all\n fontSize = 12;\n text = \"(...) Tj\\n\";\n text +=\n \"% Width of Text: \" +\n calculateFontSpace(text, formObject, fontSize).width +\n \", FieldWidth:\" +\n width +\n \"\\n\";\n break;\n }\n\n var lastLine = \"\";\n var lineCount = 0;\n Line: for (var i = 0; i < textSplit.length; i++) {\n if (textSplit.hasOwnProperty(i)) {\n let isWithNewLine = false;\n if (textSplit[i].length !== 1 && currWord !== textSplit[i].length - 1) {\n if (\n (textHeight + lineSpacing) * (lineCount + 2) + lineSpacing >\n height\n ) {\n continue FontSize;\n }\n\n lastLine += textSplit[i][currWord];\n isWithNewLine = true;\n lastWordInLine = i;\n i--;\n } else {\n lastLine += textSplit[i][currWord] + \" \";\n lastLine =\n lastLine.substr(lastLine.length - 1) == \" \"\n ? lastLine.substr(0, lastLine.length - 1)\n : lastLine;\n var key = parseInt(i);\n var nextLineIsSmaller = isSmallerThanWidth(key, lastLine, fontSize);\n var isLastWord = i >= textSplit.length - 1;\n\n if (nextLineIsSmaller && !isLastWord) {\n lastLine += \" \";\n currWord = 0;\n continue; // Line\n } else if (!nextLineIsSmaller && !isLastWord) {\n if (!formObject.multiline) {\n continue FontSize;\n } else {\n if (\n (textHeight + lineSpacing) * (lineCount + 2) + lineSpacing >\n height\n ) {\n // If the Text is higher than the\n // FieldObject\n continue FontSize;\n }\n lastWordInLine = key;\n // go on\n }\n } else if (isLastWord) {\n lastWordInLine = key;\n } else {\n if (\n formObject.multiline &&\n (textHeight + lineSpacing) * (lineCount + 2) + lineSpacing >\n height\n ) {\n // If the Text is higher than the FieldObject\n continue FontSize;\n }\n }\n }\n // Remove last blank\n\n var line = \"\";\n\n for (var x = firstWordInLine; x <= lastWordInLine; x++) {\n var currLine = textSplit[x];\n if (formObject.multiline) {\n if (x === lastWordInLine) {\n line += currLine[currWord] + \" \";\n currWord = (currWord + 1) % currLine.length;\n continue;\n }\n if (x === firstWordInLine) {\n line += currLine[currLine.length - 1] + \" \";\n continue;\n }\n }\n line += currLine[0] + \" \";\n }\n\n // Remove last blank\n line =\n line.substr(line.length - 1) == \" \"\n ? line.substr(0, line.length - 1)\n : line;\n // lastLength -= blankSpace.width;\n lastLength = calculateFontSpace(line, formObject, fontSize).width;\n\n // Calculate startX\n switch (formObject.textAlign) {\n case \"right\":\n startX = width - lastLength - borderPadding;\n break;\n case \"center\":\n startX = (width - lastLength) / 2;\n break;\n case \"left\":\n default:\n startX = borderPadding;\n break;\n }\n text += f2(startX) + \" \" + f2(lastY) + \" Td\\n\";\n text += \"(\" + pdfEscape(line) + \") Tj\\n\";\n // reset X in PDF\n text += -f2(startX) + \" 0 Td\\n\";\n\n // After a Line, adjust y position\n lastY = -(fontSize + lineSpacing);\n\n // Reset for next iteration step\n lastLength = 0;\n firstWordInLine = isWithNewLine ? lastWordInLine : lastWordInLine + 1;\n lineCount++;\n\n lastLine = \"\";\n continue Line;\n }\n }\n break;\n }\n\n returnValue.text = text;\n returnValue.fontSize = fontSize;\n\n return returnValue;\n};\n\n/**\n * Small workaround for calculating the TextMetric approximately.\n *\n * @param text\n * @param fontsize\n * @returns {TextMetrics} (Has Height and Width)\n */\nvar calculateFontSpace = function(text, formObject, fontSize) {\n var font = formObject.scope.internal.getFont(\n formObject.fontName,\n formObject.fontStyle\n );\n var width =\n formObject.scope.getStringUnitWidth(text, {\n font: font,\n fontSize: parseFloat(fontSize),\n charSpace: 0\n }) * parseFloat(fontSize);\n var height =\n formObject.scope.getStringUnitWidth(\"3\", {\n font: font,\n fontSize: parseFloat(fontSize),\n charSpace: 0\n }) *\n parseFloat(fontSize) *\n 1.5;\n return { height: height, width: width };\n};\n\nvar acroformPluginTemplate = {\n fields: [],\n xForms: [],\n /**\n * acroFormDictionaryRoot contains information about the AcroForm\n * Dictionary 0: The Event-Token, the AcroFormDictionaryCallback has\n * 1: The Object ID of the Root\n */\n acroFormDictionaryRoot: null,\n /**\n * After the PDF gets evaluated, the reference to the root has to be\n * reset, this indicates, whether the root has already been printed\n * out\n */\n printedOut: false,\n internal: null,\n isInitialized: false\n};\n\nvar annotReferenceCallback = function(scope) {\n //set objId to undefined and force it to get a new objId on buildDocument\n scope.internal.acroformPlugin.acroFormDictionaryRoot.objId = undefined;\n var fields = scope.internal.acroformPlugin.acroFormDictionaryRoot.Fields;\n for (var i in fields) {\n if (fields.hasOwnProperty(i)) {\n var formObject = fields[i];\n //set objId to undefined and force it to get a new objId on buildDocument\n formObject.objId = undefined;\n // add Annot Reference!\n if (formObject.hasAnnotation) {\n // If theres an Annotation Widget in the Form Object, put the\n // Reference in the /Annot array\n createAnnotationReference(formObject, scope);\n }\n }\n }\n};\n\nvar putForm = function(formObject) {\n if (formObject.scope.internal.acroformPlugin.printedOut) {\n formObject.scope.internal.acroformPlugin.printedOut = false;\n formObject.scope.internal.acroformPlugin.acroFormDictionaryRoot = null;\n }\n formObject.scope.internal.acroformPlugin.acroFormDictionaryRoot.Fields.push(\n formObject\n );\n};\n/**\n * Create the Reference to the widgetAnnotation, so that it gets referenced\n * in the Annot[] int the+ (Requires the Annotation Plugin)\n */\nvar createAnnotationReference = function(object, scope) {\n var options = {\n type: \"reference\",\n object: object\n };\n var findEntry = function(entry) {\n return entry.type === options.type && entry.object === options.object;\n };\n if (\n scope.internal\n .getPageInfo(object.page)\n .pageContext.annotations.find(findEntry) === undefined\n ) {\n scope.internal\n .getPageInfo(object.page)\n .pageContext.annotations.push(options);\n }\n};\n\n// Callbacks\n\nvar putCatalogCallback = function(scope) {\n // Put reference to AcroForm to DocumentCatalog\n if (\n typeof scope.internal.acroformPlugin.acroFormDictionaryRoot !== \"undefined\"\n ) {\n // for safety, shouldn't normally be the case\n scope.internal.write(\n \"/AcroForm \" +\n scope.internal.acroformPlugin.acroFormDictionaryRoot.objId +\n \" \" +\n 0 +\n \" R\"\n );\n } else {\n throw new Error(\"putCatalogCallback: Root missing.\");\n }\n};\n\n/**\n * Adds /Acroform X 0 R to Document Catalog, and creates the AcroForm\n * Dictionary\n */\nvar AcroFormDictionaryCallback = function(scope) {\n // Remove event\n scope.internal.events.unsubscribe(\n scope.internal.acroformPlugin.acroFormDictionaryRoot._eventID\n );\n delete scope.internal.acroformPlugin.acroFormDictionaryRoot._eventID;\n scope.internal.acroformPlugin.printedOut = true;\n};\n\n/**\n * Creates the single Fields and writes them into the Document\n *\n * If fieldArray is set, use the fields that are inside it instead of the\n * fields from the AcroRoot (for the FormXObjects...)\n */\nvar createFieldCallback = function(fieldArray, scope) {\n var standardFields = !fieldArray;\n\n if (!fieldArray) {\n // in case there is no fieldArray specified, we want to print out\n // the Fields of the AcroForm\n // Print out Root\n scope.internal.newObjectDeferredBegin(\n scope.internal.acroformPlugin.acroFormDictionaryRoot.objId,\n true\n );\n scope.internal.acroformPlugin.acroFormDictionaryRoot.putStream();\n }\n\n fieldArray =\n fieldArray || scope.internal.acroformPlugin.acroFormDictionaryRoot.Kids;\n\n for (var i in fieldArray) {\n if (fieldArray.hasOwnProperty(i)) {\n var fieldObject = fieldArray[i];\n var keyValueList = [];\n var oldRect = fieldObject.Rect;\n\n if (fieldObject.Rect) {\n fieldObject.Rect = calculateCoordinates(fieldObject.Rect, scope);\n }\n\n // Start Writing the Object\n scope.internal.newObjectDeferredBegin(fieldObject.objId, true);\n\n fieldObject.DA = AcroFormAppearance.createDefaultAppearanceStream(\n fieldObject\n );\n\n if (\n typeof fieldObject === \"object\" &&\n typeof fieldObject.getKeyValueListForStream === \"function\"\n ) {\n keyValueList = fieldObject.getKeyValueListForStream();\n }\n\n fieldObject.Rect = oldRect;\n\n if (\n fieldObject.hasAppearanceStream &&\n !fieldObject.appearanceStreamContent\n ) {\n // Calculate Appearance\n var appearance = calculateAppearanceStream(fieldObject);\n keyValueList.push({ key: \"AP\", value: \"<>\" });\n\n scope.internal.acroformPlugin.xForms.push(appearance);\n }\n\n // Assume AppearanceStreamContent is a Array with N,R,D (at least\n // one of them!)\n if (fieldObject.appearanceStreamContent) {\n var appearanceStreamString = \"\";\n // Iterate over N,R and D\n for (var k in fieldObject.appearanceStreamContent) {\n if (fieldObject.appearanceStreamContent.hasOwnProperty(k)) {\n var value = fieldObject.appearanceStreamContent[k];\n appearanceStreamString += \"/\" + k + \" \";\n appearanceStreamString += \"<<\";\n if (Object.keys(value).length >= 1 || Array.isArray(value)) {\n // appearanceStream is an Array or Object!\n for (var i in value) {\n if (value.hasOwnProperty(i)) {\n var obj = value[i];\n if (typeof obj === \"function\") {\n // if Function is referenced, call it in order\n // to get the FormXObject\n obj = obj.call(scope, fieldObject);\n }\n appearanceStreamString += \"/\" + i + \" \" + obj + \" \";\n\n // In case the XForm is already used, e.g. OffState\n // of CheckBoxes, don't add it\n if (!(scope.internal.acroformPlugin.xForms.indexOf(obj) >= 0))\n scope.internal.acroformPlugin.xForms.push(obj);\n }\n }\n } else {\n obj = value;\n if (typeof obj === \"function\") {\n // if Function is referenced, call it in order to\n // get the FormXObject\n obj = obj.call(scope, fieldObject);\n }\n appearanceStreamString += \"/\" + i + \" \" + obj;\n if (!(scope.internal.acroformPlugin.xForms.indexOf(obj) >= 0))\n scope.internal.acroformPlugin.xForms.push(obj);\n }\n appearanceStreamString += \">>\";\n }\n }\n\n // appearance stream is a normal Object..\n keyValueList.push({\n key: \"AP\",\n value: \"<<\\n\" + appearanceStreamString + \">>\"\n });\n }\n\n scope.internal.putStream({\n additionalKeyValues: keyValueList,\n objectId: fieldObject.objId\n });\n\n scope.internal.out(\"endobj\");\n }\n }\n if (standardFields) {\n createXFormObjectCallback(scope.internal.acroformPlugin.xForms, scope);\n }\n};\n\nvar createXFormObjectCallback = function(fieldArray, scope) {\n for (var i in fieldArray) {\n if (fieldArray.hasOwnProperty(i)) {\n var key = i;\n var fieldObject = fieldArray[i];\n // Start Writing the Object\n scope.internal.newObjectDeferredBegin(fieldObject.objId, true);\n\n if (\n typeof fieldObject === \"object\" &&\n typeof fieldObject.putStream === \"function\"\n ) {\n fieldObject.putStream();\n }\n delete fieldArray[key];\n }\n }\n};\n\nvar initializeAcroForm = function(scope, formObject) {\n formObject.scope = scope;\n if (\n scope.internal !== undefined &&\n (scope.internal.acroformPlugin === undefined ||\n scope.internal.acroformPlugin.isInitialized === false)\n ) {\n AcroFormField.FieldNum = 0;\n scope.internal.acroformPlugin = JSON.parse(\n JSON.stringify(acroformPluginTemplate)\n );\n if (scope.internal.acroformPlugin.acroFormDictionaryRoot) {\n throw new Error(\"Exception while creating AcroformDictionary\");\n }\n scaleFactor = scope.internal.scaleFactor;\n // The Object Number of the AcroForm Dictionary\n scope.internal.acroformPlugin.acroFormDictionaryRoot = new AcroFormDictionary();\n scope.internal.acroformPlugin.acroFormDictionaryRoot.scope = scope;\n\n // add Callback for creating the AcroForm Dictionary\n scope.internal.acroformPlugin.acroFormDictionaryRoot._eventID = scope.internal.events.subscribe(\n \"postPutResources\",\n function() {\n AcroFormDictionaryCallback(scope);\n }\n );\n\n scope.internal.events.subscribe(\"buildDocument\", function() {\n annotReferenceCallback(scope);\n }); // buildDocument\n\n // Register event, that is triggered when the DocumentCatalog is\n // written, in order to add /AcroForm\n\n scope.internal.events.subscribe(\"putCatalog\", function() {\n putCatalogCallback(scope);\n });\n\n // Register event, that creates all Fields\n scope.internal.events.subscribe(\"postPutPages\", function(fieldArray) {\n createFieldCallback(fieldArray, scope);\n });\n\n scope.internal.acroformPlugin.isInitialized = true;\n }\n};\n\n//PDF 32000-1:2008, page 26, 7.3.6\nvar arrayToPdfArray = (jsPDFAPI.__acroform__.arrayToPdfArray = function(\n array,\n objId,\n scope\n) {\n var encryptor = function(data) {\n return data;\n };\n if (Array.isArray(array)) {\n var content = \"[\";\n for (var i = 0; i < array.length; i++) {\n if (i !== 0) {\n content += \" \";\n }\n switch (typeof array[i]) {\n case \"boolean\":\n case \"number\":\n case \"object\":\n content += array[i].toString();\n break;\n case \"string\":\n if (array[i].substr(0, 1) !== \"/\") {\n if (typeof objId !== \"undefined\" && scope)\n encryptor = scope.internal.getEncryptor(objId);\n content += \"(\" + pdfEscape(encryptor(array[i].toString())) + \")\";\n } else {\n content += array[i].toString();\n }\n break;\n }\n }\n content += \"]\";\n return content;\n }\n throw new Error(\n \"Invalid argument passed to jsPDF.__acroform__.arrayToPdfArray\"\n );\n});\nfunction getMatches(string, regex, index) {\n index || (index = 1); // default to the first capturing group\n var matches = [];\n var match;\n while ((match = regex.exec(string))) {\n matches.push(match[index]);\n }\n return matches;\n}\nvar pdfArrayToStringArray = function(array) {\n var result = [];\n if (typeof array === \"string\") {\n result = getMatches(array, /\\((.*?)\\)/g);\n }\n return result;\n};\n\nvar toPdfString = function(string, objId, scope) {\n var encryptor = function(data) {\n return data;\n };\n if (typeof objId !== \"undefined\" && scope)\n encryptor = scope.internal.getEncryptor(objId);\n string = string || \"\";\n string.toString();\n string = \"(\" + pdfEscape(encryptor(string)) + \")\";\n return string;\n};\n\n// ##########################\n// Classes\n// ##########################\n\n/**\n * @class AcroFormPDFObject\n * @classdesc A AcroFormPDFObject\n */\nvar AcroFormPDFObject = function() {\n this._objId = undefined;\n this._scope = undefined;\n\n /**\n * @name AcroFormPDFObject#objId\n * @type {any}\n */\n Object.defineProperty(this, \"objId\", {\n get: function() {\n if (typeof this._objId === \"undefined\") {\n if (typeof this.scope === \"undefined\") {\n return undefined;\n }\n this._objId = this.scope.internal.newObjectDeferred();\n }\n return this._objId;\n },\n set: function(value) {\n this._objId = value;\n }\n });\n Object.defineProperty(this, \"scope\", {\n value: this._scope,\n writable: true\n });\n};\n\n/**\n * @function AcroFormPDFObject.toString\n */\nAcroFormPDFObject.prototype.toString = function() {\n return this.objId + \" 0 R\";\n};\n\nAcroFormPDFObject.prototype.putStream = function() {\n var keyValueList = this.getKeyValueListForStream();\n this.scope.internal.putStream({\n data: this.stream,\n additionalKeyValues: keyValueList,\n objectId: this.objId\n });\n this.scope.internal.out(\"endobj\");\n};\n\n/**\n * Returns an key-value-List of all non-configurable Variables from the Object\n *\n * @name getKeyValueListForStream\n * @returns {string}\n */\nAcroFormPDFObject.prototype.getKeyValueListForStream = function() {\n var keyValueList = [];\n var keys = Object.getOwnPropertyNames(this).filter(function(key) {\n return (\n key != \"content\" &&\n key != \"appearanceStreamContent\" &&\n key != \"scope\" &&\n key != \"objId\" &&\n key.substring(0, 1) != \"_\"\n );\n });\n\n for (var i in keys) {\n if (Object.getOwnPropertyDescriptor(this, keys[i]).configurable === false) {\n var key = keys[i];\n var value = this[key];\n\n if (value) {\n if (Array.isArray(value)) {\n keyValueList.push({\n key: key,\n value: arrayToPdfArray(value, this.objId, this.scope)\n });\n } else if (value instanceof AcroFormPDFObject) {\n // In case it is a reference to another PDFObject,\n // take the reference number\n value.scope = this.scope;\n keyValueList.push({ key: key, value: value.objId + \" 0 R\" });\n } else if (typeof value !== \"function\") {\n keyValueList.push({ key: key, value: value });\n }\n }\n }\n }\n return keyValueList;\n};\n\nvar AcroFormXObject = function() {\n AcroFormPDFObject.call(this);\n\n Object.defineProperty(this, \"Type\", {\n value: \"/XObject\",\n configurable: false,\n writable: true\n });\n\n Object.defineProperty(this, \"Subtype\", {\n value: \"/Form\",\n configurable: false,\n writable: true\n });\n\n Object.defineProperty(this, \"FormType\", {\n value: 1,\n configurable: false,\n writable: true\n });\n\n var _BBox = [];\n Object.defineProperty(this, \"BBox\", {\n configurable: false,\n get: function() {\n return _BBox;\n },\n set: function(value) {\n _BBox = value;\n }\n });\n\n Object.defineProperty(this, \"Resources\", {\n value: \"2 0 R\",\n configurable: false,\n writable: true\n });\n\n var _stream;\n Object.defineProperty(this, \"stream\", {\n enumerable: false,\n configurable: true,\n set: function(value) {\n _stream = value.trim();\n },\n get: function() {\n if (_stream) {\n return _stream;\n } else {\n return null;\n }\n }\n });\n};\n\ninherit(AcroFormXObject, AcroFormPDFObject);\n\nvar AcroFormDictionary = function() {\n AcroFormPDFObject.call(this);\n\n var _Kids = [];\n\n Object.defineProperty(this, \"Kids\", {\n enumerable: false,\n configurable: true,\n get: function() {\n if (_Kids.length > 0) {\n return _Kids;\n } else {\n return undefined;\n }\n }\n });\n Object.defineProperty(this, \"Fields\", {\n enumerable: false,\n configurable: false,\n get: function() {\n return _Kids;\n }\n });\n\n // Default Appearance\n var _DA;\n Object.defineProperty(this, \"DA\", {\n enumerable: false,\n configurable: false,\n get: function() {\n if (!_DA) {\n return undefined;\n }\n var encryptor = function(data) {\n return data;\n };\n if (this.scope) encryptor = this.scope.internal.getEncryptor(this.objId);\n return \"(\" + pdfEscape(encryptor(_DA)) + \")\";\n },\n set: function(value) {\n _DA = value;\n }\n });\n};\n\ninherit(AcroFormDictionary, AcroFormPDFObject);\n\n/**\n * The Field Object contains the Variables, that every Field needs\n *\n * @class AcroFormField\n * @classdesc An AcroForm FieldObject\n */\nvar AcroFormField = function() {\n AcroFormPDFObject.call(this);\n\n //Annotation-Flag See Table 165\n var _F = 4;\n Object.defineProperty(this, \"F\", {\n enumerable: false,\n configurable: false,\n get: function() {\n return _F;\n },\n set: function(value) {\n if (!isNaN(value)) {\n _F = value;\n } else {\n throw new Error(\n 'Invalid value \"' + value + '\" for attribute F supplied.'\n );\n }\n }\n });\n\n /**\n * (PDF 1.2) If set, print the annotation when the page is printed. If clear, never print the annotation, regardless of wether is is displayed on the screen.\n * NOTE 2 This can be useful for annotations representing interactive pushbuttons, which would serve no meaningful purpose on the printed page.\n *\n * @name AcroFormField#showWhenPrinted\n * @default true\n * @type {boolean}\n */\n Object.defineProperty(this, \"showWhenPrinted\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return Boolean(getBitForPdf(_F, 3));\n },\n set: function(value) {\n if (Boolean(value) === true) {\n this.F = setBitForPdf(_F, 3);\n } else {\n this.F = clearBitForPdf(_F, 3);\n }\n }\n });\n\n var _Ff = 0;\n Object.defineProperty(this, \"Ff\", {\n enumerable: false,\n configurable: false,\n get: function() {\n return _Ff;\n },\n set: function(value) {\n if (!isNaN(value)) {\n _Ff = value;\n } else {\n throw new Error(\n 'Invalid value \"' + value + '\" for attribute Ff supplied.'\n );\n }\n }\n });\n\n var _Rect = [];\n Object.defineProperty(this, \"Rect\", {\n enumerable: false,\n configurable: false,\n get: function() {\n if (_Rect.length === 0) {\n return undefined;\n }\n return _Rect;\n },\n set: function(value) {\n if (typeof value !== \"undefined\") {\n _Rect = value;\n } else {\n _Rect = [];\n }\n }\n });\n\n /**\n * The x-position of the field.\n *\n * @name AcroFormField#x\n * @default null\n * @type {number}\n */\n Object.defineProperty(this, \"x\", {\n enumerable: true,\n configurable: true,\n get: function() {\n if (!_Rect || isNaN(_Rect[0])) {\n return 0;\n }\n return _Rect[0];\n },\n set: function(value) {\n _Rect[0] = value;\n }\n });\n\n /**\n * The y-position of the field.\n *\n * @name AcroFormField#y\n * @default null\n * @type {number}\n */\n Object.defineProperty(this, \"y\", {\n enumerable: true,\n configurable: true,\n get: function() {\n if (!_Rect || isNaN(_Rect[1])) {\n return 0;\n }\n return _Rect[1];\n },\n set: function(value) {\n _Rect[1] = value;\n }\n });\n\n /**\n * The width of the field.\n *\n * @name AcroFormField#width\n * @default null\n * @type {number}\n */\n Object.defineProperty(this, \"width\", {\n enumerable: true,\n configurable: true,\n get: function() {\n if (!_Rect || isNaN(_Rect[2])) {\n return 0;\n }\n return _Rect[2];\n },\n set: function(value) {\n _Rect[2] = value;\n }\n });\n\n /**\n * The height of the field.\n *\n * @name AcroFormField#height\n * @default null\n * @type {number}\n */\n Object.defineProperty(this, \"height\", {\n enumerable: true,\n configurable: true,\n get: function() {\n if (!_Rect || isNaN(_Rect[3])) {\n return 0;\n }\n return _Rect[3];\n },\n set: function(value) {\n _Rect[3] = value;\n }\n });\n\n var _FT = \"\";\n Object.defineProperty(this, \"FT\", {\n enumerable: true,\n configurable: false,\n get: function() {\n return _FT;\n },\n set: function(value) {\n switch (value) {\n case \"/Btn\":\n case \"/Tx\":\n case \"/Ch\":\n case \"/Sig\":\n _FT = value;\n break;\n default:\n throw new Error(\n 'Invalid value \"' + value + '\" for attribute FT supplied.'\n );\n }\n }\n });\n\n var _T = null;\n\n Object.defineProperty(this, \"T\", {\n enumerable: true,\n configurable: false,\n get: function() {\n if (!_T || _T.length < 1) {\n // In case of a Child from a Radio´Group, you don't need a FieldName\n if (this instanceof AcroFormChildClass) {\n return undefined;\n }\n _T = \"FieldObject\" + AcroFormField.FieldNum++;\n }\n var encryptor = function(data) {\n return data;\n };\n if (this.scope) encryptor = this.scope.internal.getEncryptor(this.objId);\n return \"(\" + pdfEscape(encryptor(_T)) + \")\";\n },\n set: function(value) {\n _T = value.toString();\n }\n });\n\n /**\n * (Optional) The partial field name (see 12.7.3.2, “Field Names”).\n *\n * @name AcroFormField#fieldName\n * @default null\n * @type {string}\n */\n Object.defineProperty(this, \"fieldName\", {\n configurable: true,\n enumerable: true,\n get: function() {\n return _T;\n },\n set: function(value) {\n _T = value;\n }\n });\n\n var _fontName = \"helvetica\";\n /**\n * The fontName of the font to be used.\n *\n * @name AcroFormField#fontName\n * @default 'helvetica'\n * @type {string}\n */\n Object.defineProperty(this, \"fontName\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return _fontName;\n },\n set: function(value) {\n _fontName = value;\n }\n });\n\n var _fontStyle = \"normal\";\n /**\n * The fontStyle of the font to be used.\n *\n * @name AcroFormField#fontStyle\n * @default 'normal'\n * @type {string}\n */\n Object.defineProperty(this, \"fontStyle\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return _fontStyle;\n },\n set: function(value) {\n _fontStyle = value;\n }\n });\n\n var _fontSize = 0;\n /**\n * The fontSize of the font to be used.\n *\n * @name AcroFormField#fontSize\n * @default 0 (for auto)\n * @type {number}\n */\n Object.defineProperty(this, \"fontSize\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return _fontSize;\n },\n set: function(value) {\n _fontSize = value;\n }\n });\n\n var _maxFontSize = undefined;\n /**\n * The maximum fontSize of the font to be used.\n *\n * @name AcroFormField#maxFontSize\n * @default 0 (for auto)\n * @type {number}\n */\n Object.defineProperty(this, \"maxFontSize\", {\n enumerable: true,\n configurable: true,\n get: function() {\n if (_maxFontSize === undefined) {\n // use the old default value here - the value is some kind of random as it depends on the scaleFactor (user unit)\n // (\"50\" is transformed to the \"user space\" but then used in \"pdf space\")\n return 50 / scaleFactor;\n } else {\n return _maxFontSize;\n }\n },\n set: function(value) {\n _maxFontSize = value;\n }\n });\n\n var _color = \"black\";\n /**\n * The color of the text\n *\n * @name AcroFormField#color\n * @default 'black'\n * @type {string|rgba}\n */\n Object.defineProperty(this, \"color\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return _color;\n },\n set: function(value) {\n _color = value;\n }\n });\n\n var _DA = \"/F1 0 Tf 0 g\";\n // Defines the default appearance (Needed for variable Text)\n Object.defineProperty(this, \"DA\", {\n enumerable: true,\n configurable: false,\n get: function() {\n if (\n !_DA ||\n this instanceof AcroFormChildClass ||\n this instanceof AcroFormTextField\n ) {\n return undefined;\n }\n return toPdfString(_DA, this.objId, this.scope);\n },\n set: function(value) {\n value = value.toString();\n _DA = value;\n }\n });\n\n var _DV = null;\n Object.defineProperty(this, \"DV\", {\n enumerable: false,\n configurable: false,\n get: function() {\n if (!_DV) {\n return undefined;\n }\n if (this instanceof AcroFormButton === false) {\n return toPdfString(_DV, this.objId, this.scope);\n }\n return _DV;\n },\n set: function(value) {\n value = value.toString();\n if (this instanceof AcroFormButton === false) {\n if (value.substr(0, 1) === \"(\") {\n _DV = pdfUnescape(value.substr(1, value.length - 2));\n } else {\n _DV = pdfUnescape(value);\n }\n } else {\n _DV = value;\n }\n }\n });\n\n /**\n * (Optional; inheritable) The default value to which the field reverts when a reset-form action is executed (see 12.7.5.3, “Reset-Form Action”). The format of this value is the same as that of value.\n *\n * @name AcroFormField#defaultValue\n * @default null\n * @type {any}\n */\n Object.defineProperty(this, \"defaultValue\", {\n enumerable: true,\n configurable: true,\n get: function() {\n if (this instanceof AcroFormButton === true) {\n return pdfUnescape(_DV.substr(1, _DV.length - 1));\n } else {\n return _DV;\n }\n },\n set: function(value) {\n value = value.toString();\n if (this instanceof AcroFormButton === true) {\n _DV = \"/\" + value;\n } else {\n _DV = value;\n }\n }\n });\n\n var _V = null;\n Object.defineProperty(this, \"_V\", {\n enumerable: false,\n configurable: false,\n get: function() {\n if (!_V) {\n return undefined;\n }\n return _V;\n },\n set: function(value) {\n this.V = value;\n }\n });\n Object.defineProperty(this, \"V\", {\n enumerable: false,\n configurable: false,\n get: function() {\n if (!_V) {\n return undefined;\n }\n if (this instanceof AcroFormButton === false) {\n return toPdfString(_V, this.objId, this.scope);\n }\n return _V;\n },\n set: function(value) {\n value = value.toString();\n if (this instanceof AcroFormButton === false) {\n if (value.substr(0, 1) === \"(\") {\n _V = pdfUnescape(value.substr(1, value.length - 2));\n } else {\n _V = pdfUnescape(value);\n }\n } else {\n _V = value;\n }\n }\n });\n\n /**\n * (Optional; inheritable) The field’s value, whose format varies depending on the field type. See the descriptions of individual field types for further information.\n *\n * @name AcroFormField#value\n * @default null\n * @type {any}\n */\n Object.defineProperty(this, \"value\", {\n enumerable: true,\n configurable: true,\n get: function() {\n if (this instanceof AcroFormButton === true) {\n return pdfUnescape(_V.substr(1, _V.length - 1));\n } else {\n return _V;\n }\n },\n set: function(value) {\n value = value.toString();\n if (this instanceof AcroFormButton === true) {\n _V = \"/\" + value;\n } else {\n _V = value;\n }\n }\n });\n\n /**\n * Check if field has annotations\n *\n * @name AcroFormField#hasAnnotation\n * @readonly\n * @type {boolean}\n */\n Object.defineProperty(this, \"hasAnnotation\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return this.Rect;\n }\n });\n\n Object.defineProperty(this, \"Type\", {\n enumerable: true,\n configurable: false,\n get: function() {\n return this.hasAnnotation ? \"/Annot\" : null;\n }\n });\n\n Object.defineProperty(this, \"Subtype\", {\n enumerable: true,\n configurable: false,\n get: function() {\n return this.hasAnnotation ? \"/Widget\" : null;\n }\n });\n\n var _hasAppearanceStream = false;\n /**\n * true if field has an appearanceStream\n *\n * @name AcroFormField#hasAppearanceStream\n * @readonly\n * @type {boolean}\n */\n Object.defineProperty(this, \"hasAppearanceStream\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return _hasAppearanceStream;\n },\n set: function(value) {\n value = Boolean(value);\n _hasAppearanceStream = value;\n }\n });\n\n /**\n * The page on which the AcroFormField is placed\n *\n * @name AcroFormField#page\n * @type {number}\n */\n var _page;\n Object.defineProperty(this, \"page\", {\n enumerable: true,\n configurable: true,\n get: function() {\n if (!_page) {\n return undefined;\n }\n return _page;\n },\n set: function(value) {\n _page = value;\n }\n });\n\n /**\n * If set, the user may not change the value of the field. Any associated widget annotations will not interact with the user; that is, they will not respond to mouse clicks or change their appearance in response to mouse motions. This flag is useful for fields whose values are computed or imported from a database.\n *\n * @name AcroFormField#readOnly\n * @default false\n * @type {boolean}\n */\n Object.defineProperty(this, \"readOnly\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return Boolean(getBitForPdf(this.Ff, 1));\n },\n set: function(value) {\n if (Boolean(value) === true) {\n this.Ff = setBitForPdf(this.Ff, 1);\n } else {\n this.Ff = clearBitForPdf(this.Ff, 1);\n }\n }\n });\n\n /**\n * If set, the field shall have a value at the time it is exported by a submitform action (see 12.7.5.2, “Submit-Form Action”).\n *\n * @name AcroFormField#required\n * @default false\n * @type {boolean}\n */\n Object.defineProperty(this, \"required\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return Boolean(getBitForPdf(this.Ff, 2));\n },\n set: function(value) {\n if (Boolean(value) === true) {\n this.Ff = setBitForPdf(this.Ff, 2);\n } else {\n this.Ff = clearBitForPdf(this.Ff, 2);\n }\n }\n });\n\n /**\n * If set, the field shall not be exported by a submit-form action (see 12.7.5.2, “Submit-Form Action”)\n *\n * @name AcroFormField#noExport\n * @default false\n * @type {boolean}\n */\n Object.defineProperty(this, \"noExport\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return Boolean(getBitForPdf(this.Ff, 3));\n },\n set: function(value) {\n if (Boolean(value) === true) {\n this.Ff = setBitForPdf(this.Ff, 3);\n } else {\n this.Ff = clearBitForPdf(this.Ff, 3);\n }\n }\n });\n\n var _Q = null;\n Object.defineProperty(this, \"Q\", {\n enumerable: true,\n configurable: false,\n get: function() {\n if (_Q === null) {\n return undefined;\n }\n return _Q;\n },\n set: function(value) {\n if ([0, 1, 2].indexOf(value) !== -1) {\n _Q = value;\n } else {\n throw new Error(\n 'Invalid value \"' + value + '\" for attribute Q supplied.'\n );\n }\n }\n });\n\n /**\n * (Optional; inheritable) A code specifying the form of quadding (justification) that shall be used in displaying the text:\n * 'left', 'center', 'right'\n *\n * @name AcroFormField#textAlign\n * @default 'left'\n * @type {string}\n */\n Object.defineProperty(this, \"textAlign\", {\n get: function() {\n var result;\n switch (_Q) {\n case 0:\n default:\n result = \"left\";\n break;\n case 1:\n result = \"center\";\n break;\n case 2:\n result = \"right\";\n break;\n }\n return result;\n },\n configurable: true,\n enumerable: true,\n set: function(value) {\n switch (value) {\n case \"right\":\n case 2:\n _Q = 2;\n break;\n case \"center\":\n case 1:\n _Q = 1;\n break;\n case \"left\":\n case 0:\n default:\n _Q = 0;\n }\n }\n });\n};\n\ninherit(AcroFormField, AcroFormPDFObject);\n\n/**\n * @class AcroFormChoiceField\n * @extends AcroFormField\n */\nvar AcroFormChoiceField = function() {\n AcroFormField.call(this);\n // Field Type = Choice Field\n this.FT = \"/Ch\";\n // options\n this.V = \"()\";\n\n this.fontName = \"zapfdingbats\";\n // Top Index\n var _TI = 0;\n\n Object.defineProperty(this, \"TI\", {\n enumerable: true,\n configurable: false,\n get: function() {\n return _TI;\n },\n set: function(value) {\n _TI = value;\n }\n });\n\n /**\n * (Optional) For scrollable list boxes, the top index (the index in the Opt array of the first option visible in the list). Default value: 0.\n *\n * @name AcroFormChoiceField#topIndex\n * @default 0\n * @type {number}\n */\n Object.defineProperty(this, \"topIndex\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return _TI;\n },\n set: function(value) {\n _TI = value;\n }\n });\n\n var _Opt = [];\n Object.defineProperty(this, \"Opt\", {\n enumerable: true,\n configurable: false,\n get: function() {\n return arrayToPdfArray(_Opt, this.objId, this.scope);\n },\n set: function(value) {\n _Opt = pdfArrayToStringArray(value);\n }\n });\n\n /**\n * @memberof AcroFormChoiceField\n * @name getOptions\n * @function\n * @instance\n * @returns {array} array of Options\n */\n this.getOptions = function() {\n return _Opt;\n };\n\n /**\n * @memberof AcroFormChoiceField\n * @name setOptions\n * @function\n * @instance\n * @param {array} value\n */\n this.setOptions = function(value) {\n _Opt = value;\n if (this.sort) {\n _Opt.sort();\n }\n };\n\n /**\n * @memberof AcroFormChoiceField\n * @name addOption\n * @function\n * @instance\n * @param {string} value\n */\n this.addOption = function(value) {\n value = value || \"\";\n value = value.toString();\n _Opt.push(value);\n if (this.sort) {\n _Opt.sort();\n }\n };\n\n /**\n * @memberof AcroFormChoiceField\n * @name removeOption\n * @function\n * @instance\n * @param {string} value\n * @param {boolean} allEntries (default: false)\n */\n this.removeOption = function(value, allEntries) {\n allEntries = allEntries || false;\n value = value || \"\";\n value = value.toString();\n\n while (_Opt.indexOf(value) !== -1) {\n _Opt.splice(_Opt.indexOf(value), 1);\n if (allEntries === false) {\n break;\n }\n }\n };\n\n /**\n * If set, the field is a combo box; if clear, the field is a list box.\n *\n * @name AcroFormChoiceField#combo\n * @default false\n * @type {boolean}\n */\n Object.defineProperty(this, \"combo\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return Boolean(getBitForPdf(this.Ff, 18));\n },\n set: function(value) {\n if (Boolean(value) === true) {\n this.Ff = setBitForPdf(this.Ff, 18);\n } else {\n this.Ff = clearBitForPdf(this.Ff, 18);\n }\n }\n });\n\n /**\n * If set, the combo box shall include an editable text box as well as a drop-down list; if clear, it shall include only a drop-down list. This flag shall be used only if the Combo flag is set.\n *\n * @name AcroFormChoiceField#edit\n * @default false\n * @type {boolean}\n */\n Object.defineProperty(this, \"edit\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return Boolean(getBitForPdf(this.Ff, 19));\n },\n set: function(value) {\n //PDF 32000-1:2008, page 444\n if (this.combo === true) {\n if (Boolean(value) === true) {\n this.Ff = setBitForPdf(this.Ff, 19);\n } else {\n this.Ff = clearBitForPdf(this.Ff, 19);\n }\n }\n }\n });\n\n /**\n * If set, the field’s option items shall be sorted alphabetically. This flag is intended for use by writers, not by readers. Conforming readers shall display the options in the order in which they occur in the Opt array (see Table 231).\n *\n * @name AcroFormChoiceField#sort\n * @default false\n * @type {boolean}\n */\n Object.defineProperty(this, \"sort\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return Boolean(getBitForPdf(this.Ff, 20));\n },\n set: function(value) {\n if (Boolean(value) === true) {\n this.Ff = setBitForPdf(this.Ff, 20);\n _Opt.sort();\n } else {\n this.Ff = clearBitForPdf(this.Ff, 20);\n }\n }\n });\n\n /**\n * (PDF 1.4) If set, more than one of the field’s option items may be selected simultaneously; if clear, at most one item shall be selected\n *\n * @name AcroFormChoiceField#multiSelect\n * @default false\n * @type {boolean}\n */\n Object.defineProperty(this, \"multiSelect\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return Boolean(getBitForPdf(this.Ff, 22));\n },\n set: function(value) {\n if (Boolean(value) === true) {\n this.Ff = setBitForPdf(this.Ff, 22);\n } else {\n this.Ff = clearBitForPdf(this.Ff, 22);\n }\n }\n });\n\n /**\n * (PDF 1.4) If set, text entered in the field shall not be spellchecked. This flag shall not be used unless the Combo and Edit flags are both set.\n *\n * @name AcroFormChoiceField#doNotSpellCheck\n * @default false\n * @type {boolean}\n */\n Object.defineProperty(this, \"doNotSpellCheck\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return Boolean(getBitForPdf(this.Ff, 23));\n },\n set: function(value) {\n if (Boolean(value) === true) {\n this.Ff = setBitForPdf(this.Ff, 23);\n } else {\n this.Ff = clearBitForPdf(this.Ff, 23);\n }\n }\n });\n\n /**\n * (PDF 1.5) If set, the new value shall be committed as soon as a selection is made (commonly with the pointing device). In this case, supplying a value for a field involves three actions: selecting the field for fill-in, selecting a choice for the fill-in value, and leaving that field, which finalizes or “commits” the data choice and triggers any actions associated with the entry or changing of this data. If this flag is on, then processing does not wait for leaving the field action to occur, but immediately proceeds to the third step.\n * This option enables applications to perform an action once a selection is made, without requiring the user to exit the field. If clear, the new value is not committed until the user exits the field.\n *\n * @name AcroFormChoiceField#commitOnSelChange\n * @default false\n * @type {boolean}\n */\n Object.defineProperty(this, \"commitOnSelChange\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return Boolean(getBitForPdf(this.Ff, 27));\n },\n set: function(value) {\n if (Boolean(value) === true) {\n this.Ff = setBitForPdf(this.Ff, 27);\n } else {\n this.Ff = clearBitForPdf(this.Ff, 27);\n }\n }\n });\n\n this.hasAppearanceStream = false;\n};\ninherit(AcroFormChoiceField, AcroFormField);\n\n/**\n * @class AcroFormListBox\n * @extends AcroFormChoiceField\n * @extends AcroFormField\n */\nvar AcroFormListBox = function() {\n AcroFormChoiceField.call(this);\n this.fontName = \"helvetica\";\n\n //PDF 32000-1:2008, page 444\n this.combo = false;\n};\ninherit(AcroFormListBox, AcroFormChoiceField);\n\n/**\n * @class AcroFormComboBox\n * @extends AcroFormListBox\n * @extends AcroFormChoiceField\n * @extends AcroFormField\n */\nvar AcroFormComboBox = function() {\n AcroFormListBox.call(this);\n this.combo = true;\n};\ninherit(AcroFormComboBox, AcroFormListBox);\n\n/**\n * @class AcroFormEditBox\n * @extends AcroFormComboBox\n * @extends AcroFormListBox\n * @extends AcroFormChoiceField\n * @extends AcroFormField\n */\nvar AcroFormEditBox = function() {\n AcroFormComboBox.call(this);\n this.edit = true;\n};\ninherit(AcroFormEditBox, AcroFormComboBox);\n\n/**\n * @class AcroFormButton\n * @extends AcroFormField\n */\nvar AcroFormButton = function() {\n AcroFormField.call(this);\n this.FT = \"/Btn\";\n\n /**\n * (Radio buttons only) If set, exactly one radio button shall be selected at all times; selecting the currently selected button has no effect. If clear, clicking the selected button deselects it, leaving no button selected.\n *\n * @name AcroFormButton#noToggleToOff\n * @type {boolean}\n */\n Object.defineProperty(this, \"noToggleToOff\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return Boolean(getBitForPdf(this.Ff, 15));\n },\n set: function(value) {\n if (Boolean(value) === true) {\n this.Ff = setBitForPdf(this.Ff, 15);\n } else {\n this.Ff = clearBitForPdf(this.Ff, 15);\n }\n }\n });\n\n /**\n * If set, the field is a set of radio buttons; if clear, the field is a checkbox. This flag may be set only if the Pushbutton flag is clear.\n *\n * @name AcroFormButton#radio\n * @type {boolean}\n */\n Object.defineProperty(this, \"radio\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return Boolean(getBitForPdf(this.Ff, 16));\n },\n set: function(value) {\n if (Boolean(value) === true) {\n this.Ff = setBitForPdf(this.Ff, 16);\n } else {\n this.Ff = clearBitForPdf(this.Ff, 16);\n }\n }\n });\n\n /**\n * If set, the field is a pushbutton that does not retain a permanent value.\n *\n * @name AcroFormButton#pushButton\n * @type {boolean}\n */\n Object.defineProperty(this, \"pushButton\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return Boolean(getBitForPdf(this.Ff, 17));\n },\n set: function(value) {\n if (Boolean(value) === true) {\n this.Ff = setBitForPdf(this.Ff, 17);\n } else {\n this.Ff = clearBitForPdf(this.Ff, 17);\n }\n }\n });\n\n /**\n * (PDF 1.5) If set, a group of radio buttons within a radio button field that use the same value for the on state will turn on and off in unison; that is if one is checked, they are all checked. If clear, the buttons are mutually exclusive (the same behavior as HTML radio buttons).\n *\n * @name AcroFormButton#radioIsUnison\n * @type {boolean}\n */\n Object.defineProperty(this, \"radioIsUnison\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return Boolean(getBitForPdf(this.Ff, 26));\n },\n set: function(value) {\n if (Boolean(value) === true) {\n this.Ff = setBitForPdf(this.Ff, 26);\n } else {\n this.Ff = clearBitForPdf(this.Ff, 26);\n }\n }\n });\n\n var _MK = {};\n Object.defineProperty(this, \"MK\", {\n enumerable: false,\n configurable: false,\n get: function() {\n var encryptor = function(data) {\n return data;\n };\n if (this.scope) encryptor = this.scope.internal.getEncryptor(this.objId);\n if (Object.keys(_MK).length !== 0) {\n var result = [];\n result.push(\"<<\");\n var key;\n for (key in _MK) {\n result.push(\"/\" + key + \" (\" + pdfEscape(encryptor(_MK[key])) + \")\");\n }\n result.push(\">>\");\n return result.join(\"\\n\");\n }\n return undefined;\n },\n set: function(value) {\n if (typeof value === \"object\") {\n _MK = value;\n }\n }\n });\n\n /**\n * From the PDF reference:\n * (Optional, button fields only) The widget annotation's normal caption which shall be displayed when it is not interacting with the user.\n * Unlike the remaining entries listed in this Table which apply only to widget annotations associated with pushbutton fields (see Pushbuttons in 12.7.4.2, \"Button Fields\"), the CA entry may be used with any type of button field, including check boxes (see Check Boxes in 12.7.4.2, \"Button Fields\") and radio buttons (Radio Buttons in 12.7.4.2, \"Button Fields\").\n *\n * - '8' = Cross,\n * - 'l' = Circle,\n * - '' = nothing\n * @name AcroFormButton#caption\n * @type {string}\n */\n Object.defineProperty(this, \"caption\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return _MK.CA || \"\";\n },\n set: function(value) {\n if (typeof value === \"string\") {\n _MK.CA = value;\n }\n }\n });\n\n var _AS;\n Object.defineProperty(this, \"AS\", {\n enumerable: false,\n configurable: false,\n get: function() {\n return _AS;\n },\n set: function(value) {\n _AS = value;\n }\n });\n\n /**\n * (Required if the appearance dictionary AP contains one or more subdictionaries; PDF 1.2) The annotation's appearance state, which selects the applicable appearance stream from an appearance subdictionary (see Section 12.5.5, \"Appearance Streams\")\n *\n * @name AcroFormButton#appearanceState\n * @type {any}\n */\n Object.defineProperty(this, \"appearanceState\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return _AS.substr(1, _AS.length - 1);\n },\n set: function(value) {\n _AS = \"/\" + value;\n }\n });\n};\ninherit(AcroFormButton, AcroFormField);\n\n/**\n * @class AcroFormPushButton\n * @extends AcroFormButton\n * @extends AcroFormField\n */\nvar AcroFormPushButton = function() {\n AcroFormButton.call(this);\n this.pushButton = true;\n};\ninherit(AcroFormPushButton, AcroFormButton);\n\n/**\n * @class AcroFormRadioButton\n * @extends AcroFormButton\n * @extends AcroFormField\n */\nvar AcroFormRadioButton = function() {\n AcroFormButton.call(this);\n this.radio = true;\n this.pushButton = false;\n\n var _Kids = [];\n Object.defineProperty(this, \"Kids\", {\n enumerable: true,\n configurable: false,\n get: function() {\n return _Kids;\n },\n set: function(value) {\n if (typeof value !== \"undefined\") {\n _Kids = value;\n } else {\n _Kids = [];\n }\n }\n });\n};\ninherit(AcroFormRadioButton, AcroFormButton);\n\n/**\n * The Child class of a RadioButton (the radioGroup) -> The single Buttons\n *\n * @class AcroFormChildClass\n * @extends AcroFormField\n * @ignore\n */\nvar AcroFormChildClass = function() {\n AcroFormField.call(this);\n\n var _parent;\n Object.defineProperty(this, \"Parent\", {\n enumerable: false,\n configurable: false,\n get: function() {\n return _parent;\n },\n set: function(value) {\n _parent = value;\n }\n });\n\n var _optionName;\n Object.defineProperty(this, \"optionName\", {\n enumerable: false,\n configurable: true,\n get: function() {\n return _optionName;\n },\n set: function(value) {\n _optionName = value;\n }\n });\n\n var _MK = {};\n Object.defineProperty(this, \"MK\", {\n enumerable: false,\n configurable: false,\n get: function() {\n var encryptor = function(data) {\n return data;\n };\n if (this.scope) encryptor = this.scope.internal.getEncryptor(this.objId);\n var result = [];\n result.push(\"<<\");\n var key;\n for (key in _MK) {\n result.push(\"/\" + key + \" (\" + pdfEscape(encryptor(_MK[key])) + \")\");\n }\n result.push(\">>\");\n return result.join(\"\\n\");\n },\n set: function(value) {\n if (typeof value === \"object\") {\n _MK = value;\n }\n }\n });\n\n /**\n * From the PDF reference:\n * (Optional, button fields only) The widget annotation's normal caption which shall be displayed when it is not interacting with the user.\n * Unlike the remaining entries listed in this Table which apply only to widget annotations associated with pushbutton fields (see Pushbuttons in 12.7.4.2, \"Button Fields\"), the CA entry may be used with any type of button field, including check boxes (see Check Boxes in 12.7.4.2, \"Button Fields\") and radio buttons (Radio Buttons in 12.7.4.2, \"Button Fields\").\n *\n * - '8' = Cross,\n * - 'l' = Circle,\n * - '' = nothing\n * @name AcroFormButton#caption\n * @type {string}\n */\n Object.defineProperty(this, \"caption\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return _MK.CA || \"\";\n },\n set: function(value) {\n if (typeof value === \"string\") {\n _MK.CA = value;\n }\n }\n });\n\n var _AS;\n Object.defineProperty(this, \"AS\", {\n enumerable: false,\n configurable: false,\n get: function() {\n return _AS;\n },\n set: function(value) {\n _AS = value;\n }\n });\n\n /**\n * (Required if the appearance dictionary AP contains one or more subdictionaries; PDF 1.2) The annotation's appearance state, which selects the applicable appearance stream from an appearance subdictionary (see Section 12.5.5, \"Appearance Streams\")\n *\n * @name AcroFormButton#appearanceState\n * @type {any}\n */\n Object.defineProperty(this, \"appearanceState\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return _AS.substr(1, _AS.length - 1);\n },\n set: function(value) {\n _AS = \"/\" + value;\n }\n });\n this.caption = \"l\";\n this.appearanceState = \"Off\";\n // todo: set AppearanceType as variable that can be set from the\n // outside...\n this._AppearanceType = AcroFormAppearance.RadioButton.Circle;\n // The Default appearanceType is the Circle\n this.appearanceStreamContent = this._AppearanceType.createAppearanceStream(\n this.optionName\n );\n};\ninherit(AcroFormChildClass, AcroFormField);\n\nAcroFormRadioButton.prototype.setAppearance = function(appearance) {\n if (!(\"createAppearanceStream\" in appearance && \"getCA\" in appearance)) {\n throw new Error(\n \"Couldn't assign Appearance to RadioButton. Appearance was Invalid!\"\n );\n }\n for (var objId in this.Kids) {\n if (this.Kids.hasOwnProperty(objId)) {\n var child = this.Kids[objId];\n child.appearanceStreamContent = appearance.createAppearanceStream(\n child.optionName\n );\n child.caption = appearance.getCA();\n }\n }\n};\n\nAcroFormRadioButton.prototype.createOption = function(name) {\n // Create new Child for RadioGroup\n var child = new AcroFormChildClass();\n child.Parent = this;\n child.optionName = name;\n // Add to Parent\n this.Kids.push(child);\n\n addField.call(this.scope, child);\n\n return child;\n};\n\n/**\n * @class AcroFormCheckBox\n * @extends AcroFormButton\n * @extends AcroFormField\n */\nvar AcroFormCheckBox = function() {\n AcroFormButton.call(this);\n\n this.fontName = \"zapfdingbats\";\n this.caption = \"3\";\n this.appearanceState = \"On\";\n this.value = \"On\";\n this.textAlign = \"center\";\n this.appearanceStreamContent = AcroFormAppearance.CheckBox.createAppearanceStream();\n};\ninherit(AcroFormCheckBox, AcroFormButton);\n\n/**\n * @class AcroFormTextField\n * @extends AcroFormField\n */\nvar AcroFormTextField = function() {\n AcroFormField.call(this);\n this.FT = \"/Tx\";\n\n /**\n * If set, the field may contain multiple lines of text; if clear, the field’s text shall be restricted to a single line.\n *\n * @name AcroFormTextField#multiline\n * @type {boolean}\n */\n Object.defineProperty(this, \"multiline\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return Boolean(getBitForPdf(this.Ff, 13));\n },\n set: function(value) {\n if (Boolean(value) === true) {\n this.Ff = setBitForPdf(this.Ff, 13);\n } else {\n this.Ff = clearBitForPdf(this.Ff, 13);\n }\n }\n });\n\n /**\n * (PDF 1.4) If set, the text entered in the field represents the pathname of a file whose contents shall be submitted as the value of the field.\n *\n * @name AcroFormTextField#fileSelect\n * @type {boolean}\n */\n Object.defineProperty(this, \"fileSelect\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return Boolean(getBitForPdf(this.Ff, 21));\n },\n set: function(value) {\n if (Boolean(value) === true) {\n this.Ff = setBitForPdf(this.Ff, 21);\n } else {\n this.Ff = clearBitForPdf(this.Ff, 21);\n }\n }\n });\n\n /**\n * (PDF 1.4) If set, text entered in the field shall not be spell-checked.\n *\n * @name AcroFormTextField#doNotSpellCheck\n * @type {boolean}\n */\n Object.defineProperty(this, \"doNotSpellCheck\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return Boolean(getBitForPdf(this.Ff, 23));\n },\n set: function(value) {\n if (Boolean(value) === true) {\n this.Ff = setBitForPdf(this.Ff, 23);\n } else {\n this.Ff = clearBitForPdf(this.Ff, 23);\n }\n }\n });\n\n /**\n * (PDF 1.4) If set, the field shall not scroll (horizontally for single-line fields, vertically for multiple-line fields) to accommodate more text than fits within its annotation rectangle. Once the field is full, no further text shall be accepted for interactive form filling; for noninteractive form filling, the filler should take care not to add more character than will visibly fit in the defined area.\n *\n * @name AcroFormTextField#doNotScroll\n * @type {boolean}\n */\n Object.defineProperty(this, \"doNotScroll\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return Boolean(getBitForPdf(this.Ff, 24));\n },\n set: function(value) {\n if (Boolean(value) === true) {\n this.Ff = setBitForPdf(this.Ff, 24);\n } else {\n this.Ff = clearBitForPdf(this.Ff, 24);\n }\n }\n });\n\n /**\n * (PDF 1.5) May be set only if the MaxLen entry is present in the text field dictionary (see Table 229) and if the Multiline, Password, and FileSelect flags are clear. If set, the field shall be automatically divided into as many equally spaced positions, or combs, as the value of MaxLen, and the text is laid out into those combs.\n *\n * @name AcroFormTextField#comb\n * @type {boolean}\n */\n Object.defineProperty(this, \"comb\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return Boolean(getBitForPdf(this.Ff, 25));\n },\n set: function(value) {\n if (Boolean(value) === true) {\n this.Ff = setBitForPdf(this.Ff, 25);\n } else {\n this.Ff = clearBitForPdf(this.Ff, 25);\n }\n }\n });\n\n /**\n * (PDF 1.5) If set, the value of this field shall be a rich text string (see 12.7.3.4, “Rich Text Strings”). If the field has a value, the RV entry of the field dictionary (Table 222) shall specify the rich text string.\n *\n * @name AcroFormTextField#richText\n * @type {boolean}\n */\n Object.defineProperty(this, \"richText\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return Boolean(getBitForPdf(this.Ff, 26));\n },\n set: function(value) {\n if (Boolean(value) === true) {\n this.Ff = setBitForPdf(this.Ff, 26);\n } else {\n this.Ff = clearBitForPdf(this.Ff, 26);\n }\n }\n });\n\n var _MaxLen = null;\n Object.defineProperty(this, \"MaxLen\", {\n enumerable: true,\n configurable: false,\n get: function() {\n return _MaxLen;\n },\n set: function(value) {\n _MaxLen = value;\n }\n });\n\n /**\n * (Optional; inheritable) The maximum length of the field’s text, in characters.\n *\n * @name AcroFormTextField#maxLength\n * @type {number}\n */\n Object.defineProperty(this, \"maxLength\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return _MaxLen;\n },\n set: function(value) {\n if (Number.isInteger(value)) {\n _MaxLen = value;\n }\n }\n });\n\n Object.defineProperty(this, \"hasAppearanceStream\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return this.V || this.DV;\n }\n });\n};\ninherit(AcroFormTextField, AcroFormField);\n\n/**\n * @class AcroFormPasswordField\n * @extends AcroFormTextField\n * @extends AcroFormField\n */\nvar AcroFormPasswordField = function() {\n AcroFormTextField.call(this);\n\n /**\n * If set, the field is intended for entering a secure password that should not be echoed visibly to the screen. Characters typed from the keyboard shall instead be echoed in some unreadable form, such as asterisks or bullet characters.\n * NOTE To protect password confidentiality, readers should never store the value of the text field in the PDF file if this flag is set.\n *\n * @name AcroFormTextField#password\n * @type {boolean}\n */\n Object.defineProperty(this, \"password\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return Boolean(getBitForPdf(this.Ff, 14));\n },\n set: function(value) {\n if (Boolean(value) === true) {\n this.Ff = setBitForPdf(this.Ff, 14);\n } else {\n this.Ff = clearBitForPdf(this.Ff, 14);\n }\n }\n });\n this.password = true;\n};\ninherit(AcroFormPasswordField, AcroFormTextField);\n\n// Contains Methods for creating standard appearances\nvar AcroFormAppearance = {\n CheckBox: {\n createAppearanceStream: function() {\n var appearance = {\n N: {\n On: AcroFormAppearance.CheckBox.YesNormal\n },\n D: {\n On: AcroFormAppearance.CheckBox.YesPushDown,\n Off: AcroFormAppearance.CheckBox.OffPushDown\n }\n };\n\n return appearance;\n },\n /**\n * Returns the standard On Appearance for a CheckBox\n *\n * @returns {AcroFormXObject}\n */\n YesPushDown: function(formObject) {\n var xobj = createFormXObject(formObject);\n xobj.scope = formObject.scope;\n var stream = [];\n var fontKey = formObject.scope.internal.getFont(\n formObject.fontName,\n formObject.fontStyle\n ).id;\n var encodedColor = formObject.scope.__private__.encodeColorString(\n formObject.color\n );\n var calcRes = calculateX(formObject, formObject.caption);\n stream.push(\"0.749023 g\");\n stream.push(\n \"0 0 \" +\n f2(AcroFormAppearance.internal.getWidth(formObject)) +\n \" \" +\n f2(AcroFormAppearance.internal.getHeight(formObject)) +\n \" re\"\n );\n stream.push(\"f\");\n stream.push(\"BMC\");\n stream.push(\"q\");\n stream.push(\"0 0 1 rg\");\n stream.push(\n \"/\" + fontKey + \" \" + f2(calcRes.fontSize) + \" Tf \" + encodedColor\n );\n stream.push(\"BT\");\n stream.push(calcRes.text);\n stream.push(\"ET\");\n stream.push(\"Q\");\n stream.push(\"EMC\");\n xobj.stream = stream.join(\"\\n\");\n return xobj;\n },\n\n YesNormal: function(formObject) {\n var xobj = createFormXObject(formObject);\n xobj.scope = formObject.scope;\n var fontKey = formObject.scope.internal.getFont(\n formObject.fontName,\n formObject.fontStyle\n ).id;\n var encodedColor = formObject.scope.__private__.encodeColorString(\n formObject.color\n );\n var stream = [];\n var height = AcroFormAppearance.internal.getHeight(formObject);\n var width = AcroFormAppearance.internal.getWidth(formObject);\n var calcRes = calculateX(formObject, formObject.caption);\n stream.push(\"1 g\");\n stream.push(\"0 0 \" + f2(width) + \" \" + f2(height) + \" re\");\n stream.push(\"f\");\n stream.push(\"q\");\n stream.push(\"0 0 1 rg\");\n stream.push(\"0 0 \" + f2(width - 1) + \" \" + f2(height - 1) + \" re\");\n stream.push(\"W\");\n stream.push(\"n\");\n stream.push(\"0 g\");\n stream.push(\"BT\");\n stream.push(\n \"/\" + fontKey + \" \" + f2(calcRes.fontSize) + \" Tf \" + encodedColor\n );\n stream.push(calcRes.text);\n stream.push(\"ET\");\n stream.push(\"Q\");\n xobj.stream = stream.join(\"\\n\");\n return xobj;\n },\n\n /**\n * Returns the standard Off Appearance for a CheckBox\n *\n * @returns {AcroFormXObject}\n */\n OffPushDown: function(formObject) {\n var xobj = createFormXObject(formObject);\n xobj.scope = formObject.scope;\n var stream = [];\n stream.push(\"0.749023 g\");\n stream.push(\n \"0 0 \" +\n f2(AcroFormAppearance.internal.getWidth(formObject)) +\n \" \" +\n f2(AcroFormAppearance.internal.getHeight(formObject)) +\n \" re\"\n );\n stream.push(\"f\");\n xobj.stream = stream.join(\"\\n\");\n return xobj;\n }\n },\n\n RadioButton: {\n Circle: {\n createAppearanceStream: function(name) {\n var appearanceStreamContent = {\n D: {\n Off: AcroFormAppearance.RadioButton.Circle.OffPushDown\n },\n N: {}\n };\n appearanceStreamContent.N[name] =\n AcroFormAppearance.RadioButton.Circle.YesNormal;\n appearanceStreamContent.D[name] =\n AcroFormAppearance.RadioButton.Circle.YesPushDown;\n return appearanceStreamContent;\n },\n getCA: function() {\n return \"l\";\n },\n\n YesNormal: function(formObject) {\n var xobj = createFormXObject(formObject);\n xobj.scope = formObject.scope;\n var stream = [];\n // Make the Radius of the Circle relative to min(height, width) of formObject\n var DotRadius =\n AcroFormAppearance.internal.getWidth(formObject) <=\n AcroFormAppearance.internal.getHeight(formObject)\n ? AcroFormAppearance.internal.getWidth(formObject) / 4\n : AcroFormAppearance.internal.getHeight(formObject) / 4;\n // The Borderpadding...\n DotRadius = Number((DotRadius * 0.9).toFixed(5));\n var c = AcroFormAppearance.internal.Bezier_C;\n var DotRadiusBezier = Number((DotRadius * c).toFixed(5));\n /*\n * The Following is a Circle created with Bezier-Curves.\n */\n stream.push(\"q\");\n stream.push(\n \"1 0 0 1 \" +\n f5(AcroFormAppearance.internal.getWidth(formObject) / 2) +\n \" \" +\n f5(AcroFormAppearance.internal.getHeight(formObject) / 2) +\n \" cm\"\n );\n stream.push(DotRadius + \" 0 m\");\n stream.push(\n DotRadius +\n \" \" +\n DotRadiusBezier +\n \" \" +\n DotRadiusBezier +\n \" \" +\n DotRadius +\n \" 0 \" +\n DotRadius +\n \" c\"\n );\n stream.push(\n \"-\" +\n DotRadiusBezier +\n \" \" +\n DotRadius +\n \" -\" +\n DotRadius +\n \" \" +\n DotRadiusBezier +\n \" -\" +\n DotRadius +\n \" 0 c\"\n );\n stream.push(\n \"-\" +\n DotRadius +\n \" -\" +\n DotRadiusBezier +\n \" -\" +\n DotRadiusBezier +\n \" -\" +\n DotRadius +\n \" 0 -\" +\n DotRadius +\n \" c\"\n );\n stream.push(\n DotRadiusBezier +\n \" -\" +\n DotRadius +\n \" \" +\n DotRadius +\n \" -\" +\n DotRadiusBezier +\n \" \" +\n DotRadius +\n \" 0 c\"\n );\n stream.push(\"f\");\n stream.push(\"Q\");\n xobj.stream = stream.join(\"\\n\");\n return xobj;\n },\n YesPushDown: function(formObject) {\n var xobj = createFormXObject(formObject);\n xobj.scope = formObject.scope;\n var stream = [];\n var DotRadius =\n AcroFormAppearance.internal.getWidth(formObject) <=\n AcroFormAppearance.internal.getHeight(formObject)\n ? AcroFormAppearance.internal.getWidth(formObject) / 4\n : AcroFormAppearance.internal.getHeight(formObject) / 4;\n // The Borderpadding...\n DotRadius = Number((DotRadius * 0.9).toFixed(5));\n // Save results for later use; no need to waste\n // processor ticks on doing math\n var k = Number((DotRadius * 2).toFixed(5));\n var kc = Number((k * AcroFormAppearance.internal.Bezier_C).toFixed(5));\n var dc = Number(\n (DotRadius * AcroFormAppearance.internal.Bezier_C).toFixed(5)\n );\n\n stream.push(\"0.749023 g\");\n stream.push(\"q\");\n stream.push(\n \"1 0 0 1 \" +\n f5(AcroFormAppearance.internal.getWidth(formObject) / 2) +\n \" \" +\n f5(AcroFormAppearance.internal.getHeight(formObject) / 2) +\n \" cm\"\n );\n stream.push(k + \" 0 m\");\n stream.push(k + \" \" + kc + \" \" + kc + \" \" + k + \" 0 \" + k + \" c\");\n stream.push(\n \"-\" + kc + \" \" + k + \" -\" + k + \" \" + kc + \" -\" + k + \" 0 c\"\n );\n stream.push(\n \"-\" + k + \" -\" + kc + \" -\" + kc + \" -\" + k + \" 0 -\" + k + \" c\"\n );\n stream.push(kc + \" -\" + k + \" \" + k + \" -\" + kc + \" \" + k + \" 0 c\");\n stream.push(\"f\");\n stream.push(\"Q\");\n stream.push(\"0 g\");\n stream.push(\"q\");\n stream.push(\n \"1 0 0 1 \" +\n f5(AcroFormAppearance.internal.getWidth(formObject) / 2) +\n \" \" +\n f5(AcroFormAppearance.internal.getHeight(formObject) / 2) +\n \" cm\"\n );\n stream.push(DotRadius + \" 0 m\");\n stream.push(\n \"\" +\n DotRadius +\n \" \" +\n dc +\n \" \" +\n dc +\n \" \" +\n DotRadius +\n \" 0 \" +\n DotRadius +\n \" c\"\n );\n stream.push(\n \"-\" +\n dc +\n \" \" +\n DotRadius +\n \" -\" +\n DotRadius +\n \" \" +\n dc +\n \" -\" +\n DotRadius +\n \" 0 c\"\n );\n stream.push(\n \"-\" +\n DotRadius +\n \" -\" +\n dc +\n \" -\" +\n dc +\n \" -\" +\n DotRadius +\n \" 0 -\" +\n DotRadius +\n \" c\"\n );\n stream.push(\n dc +\n \" -\" +\n DotRadius +\n \" \" +\n DotRadius +\n \" -\" +\n dc +\n \" \" +\n DotRadius +\n \" 0 c\"\n );\n stream.push(\"f\");\n stream.push(\"Q\");\n xobj.stream = stream.join(\"\\n\");\n return xobj;\n },\n OffPushDown: function(formObject) {\n var xobj = createFormXObject(formObject);\n xobj.scope = formObject.scope;\n var stream = [];\n var DotRadius =\n AcroFormAppearance.internal.getWidth(formObject) <=\n AcroFormAppearance.internal.getHeight(formObject)\n ? AcroFormAppearance.internal.getWidth(formObject) / 4\n : AcroFormAppearance.internal.getHeight(formObject) / 4;\n // The Borderpadding...\n DotRadius = Number((DotRadius * 0.9).toFixed(5));\n // Save results for later use; no need to waste\n // processor ticks on doing math\n var k = Number((DotRadius * 2).toFixed(5));\n var kc = Number((k * AcroFormAppearance.internal.Bezier_C).toFixed(5));\n\n stream.push(\"0.749023 g\");\n stream.push(\"q\");\n stream.push(\n \"1 0 0 1 \" +\n f5(AcroFormAppearance.internal.getWidth(formObject) / 2) +\n \" \" +\n f5(AcroFormAppearance.internal.getHeight(formObject) / 2) +\n \" cm\"\n );\n stream.push(k + \" 0 m\");\n stream.push(k + \" \" + kc + \" \" + kc + \" \" + k + \" 0 \" + k + \" c\");\n stream.push(\n \"-\" + kc + \" \" + k + \" -\" + k + \" \" + kc + \" -\" + k + \" 0 c\"\n );\n stream.push(\n \"-\" + k + \" -\" + kc + \" -\" + kc + \" -\" + k + \" 0 -\" + k + \" c\"\n );\n stream.push(kc + \" -\" + k + \" \" + k + \" -\" + kc + \" \" + k + \" 0 c\");\n stream.push(\"f\");\n stream.push(\"Q\");\n xobj.stream = stream.join(\"\\n\");\n return xobj;\n }\n },\n\n Cross: {\n /**\n * Creates the Actual AppearanceDictionary-References\n *\n * @param {string} name\n * @returns {Object}\n * @ignore\n */\n createAppearanceStream: function(name) {\n var appearanceStreamContent = {\n D: {\n Off: AcroFormAppearance.RadioButton.Cross.OffPushDown\n },\n N: {}\n };\n appearanceStreamContent.N[name] =\n AcroFormAppearance.RadioButton.Cross.YesNormal;\n appearanceStreamContent.D[name] =\n AcroFormAppearance.RadioButton.Cross.YesPushDown;\n return appearanceStreamContent;\n },\n getCA: function() {\n return \"8\";\n },\n\n YesNormal: function(formObject) {\n var xobj = createFormXObject(formObject);\n xobj.scope = formObject.scope;\n var stream = [];\n var cross = AcroFormAppearance.internal.calculateCross(formObject);\n stream.push(\"q\");\n stream.push(\n \"1 1 \" +\n f2(AcroFormAppearance.internal.getWidth(formObject) - 2) +\n \" \" +\n f2(AcroFormAppearance.internal.getHeight(formObject) - 2) +\n \" re\"\n );\n stream.push(\"W\");\n stream.push(\"n\");\n stream.push(f2(cross.x1.x) + \" \" + f2(cross.x1.y) + \" m\");\n stream.push(f2(cross.x2.x) + \" \" + f2(cross.x2.y) + \" l\");\n stream.push(f2(cross.x4.x) + \" \" + f2(cross.x4.y) + \" m\");\n stream.push(f2(cross.x3.x) + \" \" + f2(cross.x3.y) + \" l\");\n stream.push(\"s\");\n stream.push(\"Q\");\n xobj.stream = stream.join(\"\\n\");\n return xobj;\n },\n YesPushDown: function(formObject) {\n var xobj = createFormXObject(formObject);\n xobj.scope = formObject.scope;\n var cross = AcroFormAppearance.internal.calculateCross(formObject);\n var stream = [];\n stream.push(\"0.749023 g\");\n stream.push(\n \"0 0 \" +\n f2(AcroFormAppearance.internal.getWidth(formObject)) +\n \" \" +\n f2(AcroFormAppearance.internal.getHeight(formObject)) +\n \" re\"\n );\n stream.push(\"f\");\n stream.push(\"q\");\n stream.push(\n \"1 1 \" +\n f2(AcroFormAppearance.internal.getWidth(formObject) - 2) +\n \" \" +\n f2(AcroFormAppearance.internal.getHeight(formObject) - 2) +\n \" re\"\n );\n stream.push(\"W\");\n stream.push(\"n\");\n stream.push(f2(cross.x1.x) + \" \" + f2(cross.x1.y) + \" m\");\n stream.push(f2(cross.x2.x) + \" \" + f2(cross.x2.y) + \" l\");\n stream.push(f2(cross.x4.x) + \" \" + f2(cross.x4.y) + \" m\");\n stream.push(f2(cross.x3.x) + \" \" + f2(cross.x3.y) + \" l\");\n stream.push(\"s\");\n stream.push(\"Q\");\n xobj.stream = stream.join(\"\\n\");\n return xobj;\n },\n OffPushDown: function(formObject) {\n var xobj = createFormXObject(formObject);\n xobj.scope = formObject.scope;\n var stream = [];\n stream.push(\"0.749023 g\");\n stream.push(\n \"0 0 \" +\n f2(AcroFormAppearance.internal.getWidth(formObject)) +\n \" \" +\n f2(AcroFormAppearance.internal.getHeight(formObject)) +\n \" re\"\n );\n stream.push(\"f\");\n xobj.stream = stream.join(\"\\n\");\n return xobj;\n }\n }\n },\n\n /**\n * Returns the standard Appearance\n *\n * @returns {AcroFormXObject}\n */\n createDefaultAppearanceStream: function(formObject) {\n // Set Helvetica to Standard Font (size: auto)\n // Color: Black\n var fontKey = formObject.scope.internal.getFont(\n formObject.fontName,\n formObject.fontStyle\n ).id;\n var encodedColor = formObject.scope.__private__.encodeColorString(\n formObject.color\n );\n var fontSize = formObject.fontSize;\n var result = \"/\" + fontKey + \" \" + fontSize + \" Tf \" + encodedColor;\n return result;\n }\n};\n\nAcroFormAppearance.internal = {\n Bezier_C: 0.551915024494,\n\n calculateCross: function(formObject) {\n var width = AcroFormAppearance.internal.getWidth(formObject);\n var height = AcroFormAppearance.internal.getHeight(formObject);\n var a = Math.min(width, height);\n\n var cross = {\n x1: {\n // upperLeft\n x: (width - a) / 2,\n y: (height - a) / 2 + a // height - borderPadding\n },\n x2: {\n // lowerRight\n x: (width - a) / 2 + a,\n y: (height - a) / 2 // borderPadding\n },\n x3: {\n // lowerLeft\n x: (width - a) / 2,\n y: (height - a) / 2 // borderPadding\n },\n x4: {\n // upperRight\n x: (width - a) / 2 + a,\n y: (height - a) / 2 + a // height - borderPadding\n }\n };\n\n return cross;\n }\n};\nAcroFormAppearance.internal.getWidth = function(formObject) {\n var result = 0;\n if (typeof formObject === \"object\") {\n result = scale(formObject.Rect[2]);\n }\n return result;\n};\nAcroFormAppearance.internal.getHeight = function(formObject) {\n var result = 0;\n if (typeof formObject === \"object\") {\n result = scale(formObject.Rect[3]);\n }\n return result;\n};\n\n// Public:\n\n/**\n * Add an AcroForm-Field to the jsPDF-instance\n *\n * @name addField\n * @function\n * @instance\n * @param {Object} fieldObject\n * @returns {jsPDF}\n */\nvar addField = (jsPDFAPI.addField = function(fieldObject) {\n initializeAcroForm(this, fieldObject);\n\n if (fieldObject instanceof AcroFormField) {\n putForm(fieldObject);\n } else {\n throw new Error(\"Invalid argument passed to jsPDF.addField.\");\n }\n fieldObject.page = fieldObject.scope.internal.getCurrentPageInfo().pageNumber;\n return this;\n});\n\njsPDFAPI.AcroFormChoiceField = AcroFormChoiceField;\njsPDFAPI.AcroFormListBox = AcroFormListBox;\njsPDFAPI.AcroFormComboBox = AcroFormComboBox;\njsPDFAPI.AcroFormEditBox = AcroFormEditBox;\njsPDFAPI.AcroFormButton = AcroFormButton;\njsPDFAPI.AcroFormPushButton = AcroFormPushButton;\njsPDFAPI.AcroFormRadioButton = AcroFormRadioButton;\njsPDFAPI.AcroFormCheckBox = AcroFormCheckBox;\njsPDFAPI.AcroFormTextField = AcroFormTextField;\njsPDFAPI.AcroFormPasswordField = AcroFormPasswordField;\njsPDFAPI.AcroFormAppearance = AcroFormAppearance;\n\njsPDFAPI.AcroForm = {\n ChoiceField: AcroFormChoiceField,\n ListBox: AcroFormListBox,\n ComboBox: AcroFormComboBox,\n EditBox: AcroFormEditBox,\n Button: AcroFormButton,\n PushButton: AcroFormPushButton,\n RadioButton: AcroFormRadioButton,\n CheckBox: AcroFormCheckBox,\n TextField: AcroFormTextField,\n PasswordField: AcroFormPasswordField,\n Appearance: AcroFormAppearance\n};\n\njsPDF.AcroForm = {\n ChoiceField: AcroFormChoiceField,\n ListBox: AcroFormListBox,\n ComboBox: AcroFormComboBox,\n EditBox: AcroFormEditBox,\n Button: AcroFormButton,\n PushButton: AcroFormPushButton,\n RadioButton: AcroFormRadioButton,\n CheckBox: AcroFormCheckBox,\n TextField: AcroFormTextField,\n PasswordField: AcroFormPasswordField,\n Appearance: AcroFormAppearance\n};\n\nvar AcroForm = jsPDF.AcroForm;\n\nexport {\n AcroForm,\n AcroFormChoiceField,\n AcroFormListBox,\n AcroFormComboBox,\n AcroFormEditBox,\n AcroFormButton,\n AcroFormPushButton,\n AcroFormRadioButton,\n AcroFormCheckBox,\n AcroFormTextField,\n AcroFormPasswordField,\n AcroFormAppearance\n};\n","function toLookup(arr) {\n return arr.reduce(function(lookup, name, index) {\n lookup[name] = index;\n\n return lookup;\n }, {});\n}\n\nvar fontStyleOrder = {\n italic: [\"italic\", \"oblique\", \"normal\"],\n oblique: [\"oblique\", \"italic\", \"normal\"],\n normal: [\"normal\", \"oblique\", \"italic\"]\n};\n\nvar fontStretchOrder = [\n \"ultra-condensed\",\n \"extra-condensed\",\n \"condensed\",\n \"semi-condensed\",\n \"normal\",\n \"semi-expanded\",\n \"expanded\",\n \"extra-expanded\",\n \"ultra-expanded\"\n];\n\n// For a given font-stretch value, we need to know where to start our search\n// from in the fontStretchOrder list.\nvar fontStretchLookup = toLookup(fontStretchOrder);\n\nvar fontWeights = [100, 200, 300, 400, 500, 600, 700, 800, 900];\nvar fontWeightsLookup = toLookup(fontWeights);\n\nfunction normalizeFontStretch(stretch) {\n stretch = stretch || \"normal\";\n\n return typeof fontStretchLookup[stretch] === \"number\" ? stretch : \"normal\";\n}\n\nfunction normalizeFontStyle(style) {\n style = style || \"normal\";\n\n return fontStyleOrder[style] ? style : \"normal\";\n}\n\nfunction normalizeFontWeight(weight) {\n if (!weight) {\n return 400;\n }\n\n if (typeof weight === \"number\") {\n // Ignore values which aren't valid font-weights.\n return weight >= 100 && weight <= 900 && weight % 100 === 0 ? weight : 400;\n }\n\n if (/^\\d00$/.test(weight)) {\n return parseInt(weight);\n }\n\n switch (weight) {\n case \"bold\":\n return 700;\n\n case \"normal\":\n default:\n return 400;\n }\n}\n\nexport function normalizeFontFace(fontFace) {\n var family = fontFace.family.replace(/\"|'/g, \"\").toLowerCase();\n\n var style = normalizeFontStyle(fontFace.style);\n var weight = normalizeFontWeight(fontFace.weight);\n var stretch = normalizeFontStretch(fontFace.stretch);\n\n return {\n family: family,\n style: style,\n weight: weight,\n stretch: stretch,\n src: fontFace.src || [],\n\n // The ref property maps this font-face to the font\n // added by the .addFont() method.\n ref: fontFace.ref || {\n name: family,\n style: [stretch, style, weight].join(\" \")\n }\n };\n}\n\n/**\n * Turns a list of font-faces into a map, for easier lookup when resolving\n * fonts.\n * @private\n */\nexport function buildFontFaceMap(fontFaces) {\n var map = {};\n\n for (var i = 0; i < fontFaces.length; ++i) {\n var normalized = normalizeFontFace(fontFaces[i]);\n\n var name = normalized.family;\n var stretch = normalized.stretch;\n var style = normalized.style;\n var weight = normalized.weight;\n\n map[name] = map[name] || {};\n\n map[name][stretch] = map[name][stretch] || {};\n map[name][stretch][style] = map[name][stretch][style] || {};\n map[name][stretch][style][weight] = normalized;\n }\n\n return map;\n}\n\n/**\n * Searches a map of stretches, weights, etc. in the given direction and\n * then, if no match has been found, in the opposite directions.\n *\n * @param {Object.} matchingSet A map of the various font variations.\n * @param {any[]} order The order of the different variations\n * @param {number} pivot The starting point of the search in the order list.\n * @param {number} dir The initial direction of the search (desc = -1, asc = 1)\n * @private\n */\n\nfunction searchFromPivot(matchingSet, order, pivot, dir) {\n var i;\n\n for (i = pivot; i >= 0 && i < order.length; i += dir) {\n if (matchingSet[order[i]]) {\n return matchingSet[order[i]];\n }\n }\n\n for (i = pivot; i >= 0 && i < order.length; i -= dir) {\n if (matchingSet[order[i]]) {\n return matchingSet[order[i]];\n }\n }\n}\n\nfunction resolveFontStretch(stretch, matchingSet) {\n if (matchingSet[stretch]) {\n return matchingSet[stretch];\n }\n\n var pivot = fontStretchLookup[stretch];\n\n // If the font-stretch value is normal or more condensed, we want to\n // start with a descending search, otherwise we should do ascending.\n var dir = pivot <= fontStretchLookup[\"normal\"] ? -1 : 1;\n var match = searchFromPivot(matchingSet, fontStretchOrder, pivot, dir);\n\n if (!match) {\n // Since a font-family cannot exist without having at least one stretch value\n // we should never reach this point.\n throw new Error(\n \"Could not find a matching font-stretch value for \" + stretch\n );\n }\n\n return match;\n}\n\nfunction resolveFontStyle(fontStyle, matchingSet) {\n if (matchingSet[fontStyle]) {\n return matchingSet[fontStyle];\n }\n\n var ordering = fontStyleOrder[fontStyle];\n\n for (var i = 0; i < ordering.length; ++i) {\n if (matchingSet[ordering[i]]) {\n return matchingSet[ordering[i]];\n }\n }\n\n // Since a font-family cannot exist without having at least one style value\n // we should never reach this point.\n throw new Error(\"Could not find a matching font-style for \" + fontStyle);\n}\n\nfunction resolveFontWeight(weight, matchingSet) {\n if (matchingSet[weight]) {\n return matchingSet[weight];\n }\n\n if (weight === 400 && matchingSet[500]) {\n return matchingSet[500];\n }\n\n if (weight === 500 && matchingSet[400]) {\n return matchingSet[400];\n }\n\n var pivot = fontWeightsLookup[weight];\n\n // If the font-stretch value is normal or more condensed, we want to\n // start with a descending search, otherwise we should do ascending.\n var dir = weight < 400 ? -1 : 1;\n var match = searchFromPivot(matchingSet, fontWeights, pivot, dir);\n\n if (!match) {\n // Since a font-family cannot exist without having at least one stretch value\n // we should never reach this point.\n throw new Error(\n \"Could not find a matching font-weight for value \" + weight\n );\n }\n\n return match;\n}\n\nvar defaultGenericFontFamilies = {\n \"sans-serif\": \"helvetica\",\n fixed: \"courier\",\n monospace: \"courier\",\n terminal: \"courier\",\n cursive: \"times\",\n fantasy: \"times\",\n serif: \"times\"\n};\n\nvar systemFonts = {\n caption: \"times\",\n icon: \"times\",\n menu: \"times\",\n \"message-box\": \"times\",\n \"small-caption\": \"times\",\n \"status-bar\": \"times\"\n};\n\nfunction ruleToString(rule) {\n return [rule.stretch, rule.style, rule.weight, rule.family].join(\" \");\n}\n\nexport function resolveFontFace(fontFaceMap, rules, opts) {\n opts = opts || {};\n\n var defaultFontFamily = opts.defaultFontFamily || \"times\";\n var genericFontFamilies = Object.assign(\n {},\n defaultGenericFontFamilies,\n opts.genericFontFamilies || {}\n );\n\n var rule = null;\n var matches = null;\n\n for (var i = 0; i < rules.length; ++i) {\n rule = normalizeFontFace(rules[i]);\n\n if (genericFontFamilies[rule.family]) {\n rule.family = genericFontFamilies[rule.family];\n }\n\n if (fontFaceMap.hasOwnProperty(rule.family)) {\n matches = fontFaceMap[rule.family];\n\n break;\n }\n }\n\n // Always fallback to a known font family.\n matches = matches || fontFaceMap[defaultFontFamily];\n\n if (!matches) {\n // At this point we should definitiely have a font family, but if we\n // don't there is something wrong with our configuration\n throw new Error(\n \"Could not find a font-family for the rule '\" +\n ruleToString(rule) +\n \"' and default family '\" +\n defaultFontFamily +\n \"'.\"\n );\n }\n\n matches = resolveFontStretch(rule.stretch, matches);\n matches = resolveFontStyle(rule.style, matches);\n matches = resolveFontWeight(rule.weight, matches);\n\n if (!matches) {\n // We should've fount\n throw new Error(\n \"Failed to resolve a font for the rule '\" + ruleToString(rule) + \"'.\"\n );\n }\n\n return matches;\n}\n\n/**\n * Builds a style id for use with the addFont() method.\n * @param {FontFace} font\n * @private\n */\nexport function toStyleName(font) {\n return [font.weight, font.style, font.stretch].join(\" \");\n}\n\nfunction eatWhiteSpace(input) {\n return input.trimLeft();\n}\n\nfunction parseQuotedFontFamily(input, quote) {\n var index = 0;\n\n while (index < input.length) {\n var current = input.charAt(index);\n\n if (current === quote) {\n return [input.substring(0, index), input.substring(index + 1)];\n }\n\n index += 1;\n }\n\n // Unexpected end of input\n return null;\n}\n\nfunction parseNonQuotedFontFamily(input) {\n // It implements part of the identifier parser here: https://www.w3.org/TR/CSS21/syndata.html#value-def-identifier\n //\n // NOTE: This parser pretty much ignores escaped identifiers and that there is a thing called unicode.\n //\n // Breakdown of regexp:\n // -[a-z_] - when identifier starts with a hyphen, you're not allowed to have another hyphen or a digit\n // [a-z_] - allow a-z and underscore at beginning of input\n // [a-z0-9_-]* - after that, anything goes\n var match = input.match(/^(-[a-z_]|[a-z_])[a-z0-9_-]*/i);\n\n // non quoted value contains illegal characters\n if (match === null) {\n return null;\n }\n\n return [match[0], input.substring(match[0].length)];\n}\n\nvar defaultFont = [\"times\"];\n\nexport function parseFontFamily(input) {\n var result = [];\n var ch, parsed;\n var remaining = input.trim();\n\n if (remaining === \"\") {\n return defaultFont;\n }\n\n if (remaining in systemFonts) {\n return [systemFonts[remaining]];\n }\n\n while (remaining !== \"\") {\n parsed = null;\n remaining = eatWhiteSpace(remaining);\n ch = remaining.charAt(0);\n\n switch (ch) {\n case '\"':\n case \"'\":\n parsed = parseQuotedFontFamily(remaining.substring(1), ch);\n break;\n\n default:\n parsed = parseNonQuotedFontFamily(remaining);\n break;\n }\n\n if (parsed === null) {\n return defaultFont;\n }\n\n result.push(parsed[0]);\n\n remaining = eatWhiteSpace(parsed[1]);\n\n // We expect end of input or a comma separator here\n if (remaining !== \"\" && remaining.charAt(0) !== \",\") {\n return defaultFont;\n }\n\n remaining = remaining.replace(/^,/, \"\");\n }\n\n return result;\n}\n","/** @license\n * jsPDF addImage plugin\n * Copyright (c) 2012 Jason Siefken, https://github.com/siefkenj/\n * 2013 Chris Dowling, https://github.com/gingerchris\n * 2013 Trinh Ho, https://github.com/ineedfat\n * 2013 Edwin Alejandro Perez, https://github.com/eaparango\n * 2013 Norah Smith, https://github.com/burnburnrocket\n * 2014 Diego Casorran, https://github.com/diegocr\n * 2014 James Robb, https://github.com/jamesbrobb\n *\n * Permission is hereby granted, free of charge, to any person obtaining\n * a copy of this software and associated documentation files (the\n * \"Software\"), to deal in the Software without restriction, including\n * without limitation the rights to use, copy, modify, merge, publish,\n * distribute, sublicense, and/or sell copies of the Software, and to\n * permit persons to whom the Software is furnished to do so, subject to\n * the following conditions:\n *\n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\n * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\n * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\n * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\n/**\n * @name addImage\n * @module\n */\n\nimport { jsPDF } from \"../jspdf.js\";\nimport { atob, btoa } from \"../libs/AtobBtoa.js\";\n\n(function(jsPDFAPI) {\n \"use strict\";\n\n var namespace = \"addImage_\";\n jsPDFAPI.__addimage__ = {};\n\n var UNKNOWN = \"UNKNOWN\";\n\n // Heuristic selection of a good batch for large array .apply. Not limiting make the call overflow.\n // With too small batch iteration will be slow as more calls are made,\n // higher values cause larger and slower garbage collection.\n var ARRAY_APPLY_BATCH = 8192;\n\n var imageFileTypeHeaders = {\n PNG: [[0x89, 0x50, 0x4e, 0x47]],\n TIFF: [\n [0x4d, 0x4d, 0x00, 0x2a], //Motorola\n [0x49, 0x49, 0x2a, 0x00] //Intel\n ],\n JPEG: [\n [\n 0xff,\n 0xd8,\n 0xff,\n 0xe0,\n undefined,\n undefined,\n 0x4a,\n 0x46,\n 0x49,\n 0x46,\n 0x00\n ], //JFIF\n [\n 0xff,\n 0xd8,\n 0xff,\n 0xe1,\n undefined,\n undefined,\n 0x45,\n 0x78,\n 0x69,\n 0x66,\n 0x00,\n 0x00\n ], //Exif\n [0xff, 0xd8, 0xff, 0xdb], //JPEG RAW\n [0xff, 0xd8, 0xff, 0xee] //EXIF RAW\n ],\n JPEG2000: [[0x00, 0x00, 0x00, 0x0c, 0x6a, 0x50, 0x20, 0x20]],\n GIF87a: [[0x47, 0x49, 0x46, 0x38, 0x37, 0x61]],\n GIF89a: [[0x47, 0x49, 0x46, 0x38, 0x39, 0x61]],\n WEBP: [\n [\n 0x52,\n 0x49,\n 0x46,\n 0x46,\n undefined,\n undefined,\n undefined,\n undefined,\n 0x57,\n 0x45,\n 0x42,\n 0x50\n ]\n ],\n BMP: [\n [0x42, 0x4d], //BM - Windows 3.1x, 95, NT, ... etc.\n [0x42, 0x41], //BA - OS/2 struct bitmap array\n [0x43, 0x49], //CI - OS/2 struct color icon\n [0x43, 0x50], //CP - OS/2 const color pointer\n [0x49, 0x43], //IC - OS/2 struct icon\n [0x50, 0x54] //PT - OS/2 pointer\n ]\n };\n\n /**\n * Recognize filetype of Image by magic-bytes\n *\n * https://en.wikipedia.org/wiki/List_of_file_signatures\n *\n * @name getImageFileTypeByImageData\n * @public\n * @function\n * @param {string|arraybuffer} imageData imageData as binary String or arraybuffer\n * @param {string} format format of file if filetype-recognition fails, e.g. 'JPEG'\n *\n * @returns {string} filetype of Image\n */\n var getImageFileTypeByImageData = (jsPDFAPI.__addimage__.getImageFileTypeByImageData = function(\n imageData,\n fallbackFormat\n ) {\n fallbackFormat = fallbackFormat || UNKNOWN;\n var i;\n var j;\n var result = UNKNOWN;\n var headerSchemata;\n var compareResult;\n var fileType;\n\n if (\n fallbackFormat === \"RGBA\" ||\n (imageData.data !== undefined &&\n imageData.data instanceof Uint8ClampedArray &&\n \"height\" in imageData &&\n \"width\" in imageData)\n ) {\n return \"RGBA\";\n }\n\n if (isArrayBufferView(imageData)) {\n for (fileType in imageFileTypeHeaders) {\n headerSchemata = imageFileTypeHeaders[fileType];\n for (i = 0; i < headerSchemata.length; i += 1) {\n compareResult = true;\n for (j = 0; j < headerSchemata[i].length; j += 1) {\n if (headerSchemata[i][j] === undefined) {\n continue;\n }\n if (headerSchemata[i][j] !== imageData[j]) {\n compareResult = false;\n break;\n }\n }\n if (compareResult === true) {\n result = fileType;\n break;\n }\n }\n }\n } else {\n for (fileType in imageFileTypeHeaders) {\n headerSchemata = imageFileTypeHeaders[fileType];\n for (i = 0; i < headerSchemata.length; i += 1) {\n compareResult = true;\n for (j = 0; j < headerSchemata[i].length; j += 1) {\n if (headerSchemata[i][j] === undefined) {\n continue;\n }\n if (headerSchemata[i][j] !== imageData.charCodeAt(j)) {\n compareResult = false;\n break;\n }\n }\n if (compareResult === true) {\n result = fileType;\n break;\n }\n }\n }\n }\n\n if (result === UNKNOWN && fallbackFormat !== UNKNOWN) {\n result = fallbackFormat;\n }\n return result;\n });\n\n // Image functionality ported from pdf.js\n var putImage = function(image) {\n var out = this.internal.write;\n var putStream = this.internal.putStream;\n var getFilters = this.internal.getFilters;\n\n var filter = getFilters();\n while (filter.indexOf(\"FlateEncode\") !== -1) {\n filter.splice(filter.indexOf(\"FlateEncode\"), 1);\n }\n\n image.objectId = this.internal.newObject();\n\n var additionalKeyValues = [];\n additionalKeyValues.push({ key: \"Type\", value: \"/XObject\" });\n additionalKeyValues.push({ key: \"Subtype\", value: \"/Image\" });\n additionalKeyValues.push({ key: \"Width\", value: image.width });\n additionalKeyValues.push({ key: \"Height\", value: image.height });\n\n if (image.colorSpace === color_spaces.INDEXED) {\n additionalKeyValues.push({\n key: \"ColorSpace\",\n value:\n \"[/Indexed /DeviceRGB \" +\n // if an indexed png defines more than one colour with transparency, we've created a sMask\n (image.palette.length / 3 - 1) +\n \" \" +\n (\"sMask\" in image && typeof image.sMask !== \"undefined\"\n ? image.objectId + 2\n : image.objectId + 1) +\n \" 0 R]\"\n });\n } else {\n additionalKeyValues.push({\n key: \"ColorSpace\",\n value: \"/\" + image.colorSpace\n });\n if (image.colorSpace === color_spaces.DEVICE_CMYK) {\n additionalKeyValues.push({ key: \"Decode\", value: \"[1 0 1 0 1 0 1 0]\" });\n }\n }\n additionalKeyValues.push({\n key: \"BitsPerComponent\",\n value: image.bitsPerComponent\n });\n if (\n \"decodeParameters\" in image &&\n typeof image.decodeParameters !== \"undefined\"\n ) {\n additionalKeyValues.push({\n key: \"DecodeParms\",\n value: \"<<\" + image.decodeParameters + \">>\"\n });\n }\n if (\"transparency\" in image && Array.isArray(image.transparency)) {\n var transparency = \"\",\n i = 0,\n len = image.transparency.length;\n for (; i < len; i++)\n transparency +=\n image.transparency[i] + \" \" + image.transparency[i] + \" \";\n\n additionalKeyValues.push({\n key: \"Mask\",\n value: \"[\" + transparency + \"]\"\n });\n }\n if (typeof image.sMask !== \"undefined\") {\n additionalKeyValues.push({\n key: \"SMask\",\n value: image.objectId + 1 + \" 0 R\"\n });\n }\n\n var alreadyAppliedFilters =\n typeof image.filter !== \"undefined\" ? [\"/\" + image.filter] : undefined;\n\n putStream({\n data: image.data,\n additionalKeyValues: additionalKeyValues,\n alreadyAppliedFilters: alreadyAppliedFilters,\n objectId: image.objectId\n });\n\n out(\"endobj\");\n\n // Soft mask\n if (\"sMask\" in image && typeof image.sMask !== \"undefined\") {\n var decodeParameters =\n \"/Predictor \" +\n image.predictor +\n \" /Colors 1 /BitsPerComponent \" +\n image.bitsPerComponent +\n \" /Columns \" +\n image.width;\n var sMask = {\n width: image.width,\n height: image.height,\n colorSpace: \"DeviceGray\",\n bitsPerComponent: image.bitsPerComponent,\n decodeParameters: decodeParameters,\n data: image.sMask\n };\n if (\"filter\" in image) {\n sMask.filter = image.filter;\n }\n putImage.call(this, sMask);\n }\n\n //Palette\n if (image.colorSpace === color_spaces.INDEXED) {\n var objId = this.internal.newObject();\n //out('<< /Filter / ' + img['f'] +' /Length ' + img['pal'].length + '>>');\n //putStream(zlib.compress(img['pal']));\n putStream({\n data: arrayBufferToBinaryString(new Uint8Array(image.palette)),\n objectId: objId\n });\n out(\"endobj\");\n }\n };\n var putResourcesCallback = function() {\n var images = this.internal.collections[namespace + \"images\"];\n for (var i in images) {\n putImage.call(this, images[i]);\n }\n };\n var putXObjectsDictCallback = function() {\n var images = this.internal.collections[namespace + \"images\"],\n out = this.internal.write,\n image;\n for (var i in images) {\n image = images[i];\n out(\"/I\" + image.index, image.objectId, \"0\", \"R\");\n }\n };\n\n var checkCompressValue = function(value) {\n if (value && typeof value === \"string\") value = value.toUpperCase();\n return value in jsPDFAPI.image_compression ? value : image_compression.NONE;\n };\n\n var initialize = function() {\n if (!this.internal.collections[namespace + \"images\"]) {\n this.internal.collections[namespace + \"images\"] = {};\n this.internal.events.subscribe(\"putResources\", putResourcesCallback);\n this.internal.events.subscribe(\"putXobjectDict\", putXObjectsDictCallback);\n }\n };\n\n var getImages = function() {\n var images = this.internal.collections[namespace + \"images\"];\n initialize.call(this);\n return images;\n };\n var getImageIndex = function() {\n return Object.keys(this.internal.collections[namespace + \"images\"]).length;\n };\n var notDefined = function(value) {\n return typeof value === \"undefined\" || value === null || value.length === 0;\n };\n var generateAliasFromImageData = function(imageData) {\n if (typeof imageData === \"string\" || isArrayBufferView(imageData)) {\n return sHashCode(imageData);\n } else if (isArrayBufferView(imageData.data)) {\n return sHashCode(imageData.data);\n }\n\n return null;\n };\n\n var isImageTypeSupported = function(type) {\n return typeof jsPDFAPI[\"process\" + type.toUpperCase()] === \"function\";\n };\n\n var isDOMElement = function(object) {\n return typeof object === \"object\" && object.nodeType === 1;\n };\n\n var getImageDataFromElement = function(element, format) {\n //if element is an image which uses data url definition, just return the dataurl\n if (element.nodeName === \"IMG\" && element.hasAttribute(\"src\")) {\n var src = \"\" + element.getAttribute(\"src\");\n\n //is base64 encoded dataUrl, directly process it\n if (src.indexOf(\"data:image/\") === 0) {\n return atob(\n unescape(src)\n .split(\"base64,\")\n .pop()\n );\n }\n\n //it is probably an url, try to load it\n var tmpImageData = jsPDFAPI.loadFile(src, true);\n if (tmpImageData !== undefined) {\n return tmpImageData;\n }\n }\n\n if (element.nodeName === \"CANVAS\") {\n if (element.width === 0 || element.height === 0) {\n throw new Error(\n \"Given canvas must have data. Canvas width: \" +\n element.width +\n \", height: \" +\n element.height\n );\n }\n var mimeType;\n switch (format) {\n case \"PNG\":\n mimeType = \"image/png\";\n break;\n case \"WEBP\":\n mimeType = \"image/webp\";\n break;\n case \"JPEG\":\n case \"JPG\":\n default:\n mimeType = \"image/jpeg\";\n break;\n }\n return atob(\n element\n .toDataURL(mimeType, 1.0)\n .split(\"base64,\")\n .pop()\n );\n }\n };\n\n var checkImagesForAlias = function(alias) {\n var images = this.internal.collections[namespace + \"images\"];\n if (images) {\n for (var e in images) {\n if (alias === images[e].alias) {\n return images[e];\n }\n }\n }\n };\n\n var determineWidthAndHeight = function(width, height, image) {\n if (!width && !height) {\n width = -96;\n height = -96;\n }\n if (width < 0) {\n width = (-1 * image.width * 72) / width / this.internal.scaleFactor;\n }\n if (height < 0) {\n height = (-1 * image.height * 72) / height / this.internal.scaleFactor;\n }\n if (width === 0) {\n width = (height * image.width) / image.height;\n }\n if (height === 0) {\n height = (width * image.height) / image.width;\n }\n\n return [width, height];\n };\n\n var writeImageToPDF = function(x, y, width, height, image, rotation) {\n var dims = determineWidthAndHeight.call(this, width, height, image),\n coord = this.internal.getCoordinateString,\n vcoord = this.internal.getVerticalCoordinateString;\n\n var images = getImages.call(this);\n\n width = dims[0];\n height = dims[1];\n images[image.index] = image;\n\n if (rotation) {\n rotation *= Math.PI / 180;\n var c = Math.cos(rotation);\n var s = Math.sin(rotation);\n //like in pdf Reference do it 4 digits instead of 2\n var f4 = function(number) {\n return number.toFixed(4);\n };\n var rotationTransformationMatrix = [\n f4(c),\n f4(s),\n f4(s * -1),\n f4(c),\n 0,\n 0,\n \"cm\"\n ];\n }\n this.internal.write(\"q\"); //Save graphics state\n if (rotation) {\n this.internal.write(\n [1, \"0\", \"0\", 1, coord(x), vcoord(y + height), \"cm\"].join(\" \")\n ); //Translate\n this.internal.write(rotationTransformationMatrix.join(\" \")); //Rotate\n this.internal.write(\n [coord(width), \"0\", \"0\", coord(height), \"0\", \"0\", \"cm\"].join(\" \")\n ); //Scale\n } else {\n this.internal.write(\n [\n coord(width),\n \"0\",\n \"0\",\n coord(height),\n coord(x),\n vcoord(y + height),\n \"cm\"\n ].join(\" \")\n ); //Translate and Scale\n }\n\n if (this.isAdvancedAPI()) {\n // draw image bottom up when in \"advanced\" API mode\n this.internal.write([1, 0, 0, -1, 0, 0, \"cm\"].join(\" \"));\n }\n\n this.internal.write(\"/I\" + image.index + \" Do\"); //Paint Image\n this.internal.write(\"Q\"); //Restore graphics state\n };\n\n /**\n * COLOR SPACES\n */\n var color_spaces = (jsPDFAPI.color_spaces = {\n DEVICE_RGB: \"DeviceRGB\",\n DEVICE_GRAY: \"DeviceGray\",\n DEVICE_CMYK: \"DeviceCMYK\",\n CAL_GREY: \"CalGray\",\n CAL_RGB: \"CalRGB\",\n LAB: \"Lab\",\n ICC_BASED: \"ICCBased\",\n INDEXED: \"Indexed\",\n PATTERN: \"Pattern\",\n SEPARATION: \"Separation\",\n DEVICE_N: \"DeviceN\"\n });\n\n /**\n * DECODE METHODS\n */\n jsPDFAPI.decode = {\n DCT_DECODE: \"DCTDecode\",\n FLATE_DECODE: \"FlateDecode\",\n LZW_DECODE: \"LZWDecode\",\n JPX_DECODE: \"JPXDecode\",\n JBIG2_DECODE: \"JBIG2Decode\",\n ASCII85_DECODE: \"ASCII85Decode\",\n ASCII_HEX_DECODE: \"ASCIIHexDecode\",\n RUN_LENGTH_DECODE: \"RunLengthDecode\",\n CCITT_FAX_DECODE: \"CCITTFaxDecode\"\n };\n\n /**\n * IMAGE COMPRESSION TYPES\n */\n var image_compression = (jsPDFAPI.image_compression = {\n NONE: \"NONE\",\n FAST: \"FAST\",\n MEDIUM: \"MEDIUM\",\n SLOW: \"SLOW\"\n });\n\n /**\n * @name sHashCode\n * @function\n * @param {string} data\n * @returns {string}\n */\n var sHashCode = (jsPDFAPI.__addimage__.sHashCode = function(data) {\n var hash = 0,\n i,\n len;\n\n if (typeof data === \"string\") {\n len = data.length;\n for (i = 0; i < len; i++) {\n hash = (hash << 5) - hash + data.charCodeAt(i);\n hash |= 0; // Convert to 32bit integer\n }\n } else if (isArrayBufferView(data)) {\n len = data.byteLength / 2;\n for (i = 0; i < len; i++) {\n hash = (hash << 5) - hash + data[i];\n hash |= 0; // Convert to 32bit integer\n }\n }\n return hash;\n });\n\n /**\n * Validates if given String is a valid Base64-String\n *\n * @name validateStringAsBase64\n * @public\n * @function\n * @param {String} possible Base64-String\n *\n * @returns {boolean}\n */\n var validateStringAsBase64 = (jsPDFAPI.__addimage__.validateStringAsBase64 = function(\n possibleBase64String\n ) {\n possibleBase64String = possibleBase64String || \"\";\n possibleBase64String.toString().trim();\n\n var result = true;\n\n if (possibleBase64String.length === 0) {\n result = false;\n }\n\n if (possibleBase64String.length % 4 !== 0) {\n result = false;\n }\n\n if (\n /^[A-Za-z0-9+/]+$/.test(\n possibleBase64String.substr(0, possibleBase64String.length - 2)\n ) === false\n ) {\n result = false;\n }\n\n if (\n /^[A-Za-z0-9/][A-Za-z0-9+/]|[A-Za-z0-9+/]=|==$/.test(\n possibleBase64String.substr(-2)\n ) === false\n ) {\n result = false;\n }\n return result;\n });\n\n /**\n * Strips out and returns info from a valid base64 data URI\n *\n * @name extractImageFromDataUrl\n * @function\n * @param {string} dataUrl a valid data URI of format 'data:[][;base64],'\n * @returns {Array}an Array containing the following\n * [0] the complete data URI\n * [1] \n * [2] format - the second part of the mime-type i.e 'png' in 'image/png'\n * [4] \n */\n var extractImageFromDataUrl = (jsPDFAPI.__addimage__.extractImageFromDataUrl = function(\n dataUrl\n ) {\n dataUrl = dataUrl || \"\";\n var dataUrlParts = dataUrl.split(\"base64,\");\n var result = null;\n\n if (dataUrlParts.length === 2) {\n var extractedInfo = /^data:(\\w*\\/\\w*);*(charset=(?!charset=)[\\w=-]*)*;*$/.exec(\n dataUrlParts[0]\n );\n if (Array.isArray(extractedInfo)) {\n result = {\n mimeType: extractedInfo[1],\n charset: extractedInfo[2],\n data: dataUrlParts[1]\n };\n }\n }\n return result;\n });\n\n /**\n * Check to see if ArrayBuffer is supported\n *\n * @name supportsArrayBuffer\n * @function\n * @returns {boolean}\n */\n var supportsArrayBuffer = (jsPDFAPI.__addimage__.supportsArrayBuffer = function() {\n return (\n typeof ArrayBuffer !== \"undefined\" && typeof Uint8Array !== \"undefined\"\n );\n });\n\n /**\n * Tests supplied object to determine if ArrayBuffer\n *\n * @name isArrayBuffer\n * @function\n * @param {Object} object an Object\n *\n * @returns {boolean}\n */\n jsPDFAPI.__addimage__.isArrayBuffer = function(object) {\n return supportsArrayBuffer() && object instanceof ArrayBuffer;\n };\n\n /**\n * Tests supplied object to determine if it implements the ArrayBufferView (TypedArray) interface\n *\n * @name isArrayBufferView\n * @function\n * @param {Object} object an Object\n * @returns {boolean}\n */\n var isArrayBufferView = (jsPDFAPI.__addimage__.isArrayBufferView = function(\n object\n ) {\n return (\n supportsArrayBuffer() &&\n typeof Uint32Array !== \"undefined\" &&\n (object instanceof Int8Array ||\n object instanceof Uint8Array ||\n (typeof Uint8ClampedArray !== \"undefined\" &&\n object instanceof Uint8ClampedArray) ||\n object instanceof Int16Array ||\n object instanceof Uint16Array ||\n object instanceof Int32Array ||\n object instanceof Uint32Array ||\n object instanceof Float32Array ||\n object instanceof Float64Array)\n );\n });\n\n /**\n * Convert Binary String to ArrayBuffer\n *\n * @name binaryStringToUint8Array\n * @public\n * @function\n * @param {string} BinaryString with ImageData\n * @returns {Uint8Array}\n */\n var binaryStringToUint8Array = (jsPDFAPI.__addimage__.binaryStringToUint8Array = function(\n binary_string\n ) {\n var len = binary_string.length;\n var bytes = new Uint8Array(len);\n for (var i = 0; i < len; i++) {\n bytes[i] = binary_string.charCodeAt(i);\n }\n return bytes;\n });\n\n /**\n * Convert the Buffer to a Binary String\n *\n * @name arrayBufferToBinaryString\n * @public\n * @function\n * @param {ArrayBuffer|ArrayBufferView} ArrayBuffer buffer or bufferView with ImageData\n *\n * @returns {String}\n */\n var arrayBufferToBinaryString = (jsPDFAPI.__addimage__.arrayBufferToBinaryString = function(\n buffer\n ) {\n var out = \"\";\n // There are calls with both ArrayBuffer and already converted Uint8Array or other BufferView.\n // Do not copy the array if input is already an array.\n var buf = isArrayBufferView(buffer) ? buffer : new Uint8Array(buffer);\n for (var i = 0; i < buf.length; i += ARRAY_APPLY_BATCH) {\n // Limit the amount of characters being parsed to prevent overflow.\n // Note that while TextDecoder would be faster, it does not have the same\n // functionality as fromCharCode with any provided encodings as of 3/2021.\n out += String.fromCharCode.apply(\n null,\n buf.subarray(i, i + ARRAY_APPLY_BATCH)\n );\n }\n return out;\n });\n\n /**\n * Possible parameter for addImage, an RGBA buffer with size.\n *\n * @typedef {Object} RGBAData\n * @property {Uint8ClampedArray} data - Single dimensional array of RGBA values. For example from canvas getImageData.\n * @property {number} width - Image width as the data does not carry this information in itself.\n * @property {number} height - Image height as the data does not carry this information in itself.\n */\n\n /**\n * Adds an Image to the PDF.\n *\n * @name addImage\n * @public\n * @function\n * @param {string|HTMLImageElement|HTMLCanvasElement|Uint8Array|RGBAData} imageData imageData as base64 encoded DataUrl or Image-HTMLElement or Canvas-HTMLElement or object containing RGBA array (like output from canvas.getImageData).\n * @param {string} format format of file if filetype-recognition fails or in case of a Canvas-Element needs to be specified (default for Canvas is JPEG), e.g. 'JPEG', 'PNG', 'WEBP'\n * @param {number} x x Coordinate (in units declared at inception of PDF document) against left edge of the page\n * @param {number} y y Coordinate (in units declared at inception of PDF document) against upper edge of the page\n * @param {number} width width of the image (in units declared at inception of PDF document)\n * @param {number} height height of the Image (in units declared at inception of PDF document)\n * @param {string} alias alias of the image (if used multiple times)\n * @param {string} compression compression of the generated JPEG, can have the values 'NONE', 'FAST', 'MEDIUM' and 'SLOW'\n * @param {number} rotation rotation of the image in degrees (0-359)\n *\n * @returns jsPDF\n */\n jsPDFAPI.addImage = function() {\n var imageData, format, x, y, w, h, alias, compression, rotation;\n\n imageData = arguments[0];\n if (typeof arguments[1] === \"number\") {\n format = UNKNOWN;\n x = arguments[1];\n y = arguments[2];\n w = arguments[3];\n h = arguments[4];\n alias = arguments[5];\n compression = arguments[6];\n rotation = arguments[7];\n } else {\n format = arguments[1];\n x = arguments[2];\n y = arguments[3];\n w = arguments[4];\n h = arguments[5];\n alias = arguments[6];\n compression = arguments[7];\n rotation = arguments[8];\n }\n\n if (\n typeof imageData === \"object\" &&\n !isDOMElement(imageData) &&\n \"imageData\" in imageData\n ) {\n var options = imageData;\n\n imageData = options.imageData;\n format = options.format || format || UNKNOWN;\n x = options.x || x || 0;\n y = options.y || y || 0;\n w = options.w || options.width || w;\n h = options.h || options.height || h;\n alias = options.alias || alias;\n compression = options.compression || compression;\n rotation = options.rotation || options.angle || rotation;\n }\n\n //If compression is not explicitly set, determine if we should use compression\n var filter = this.internal.getFilters();\n if (compression === undefined && filter.indexOf(\"FlateEncode\") !== -1) {\n compression = \"SLOW\";\n }\n\n if (isNaN(x) || isNaN(y)) {\n throw new Error(\"Invalid coordinates passed to jsPDF.addImage\");\n }\n\n initialize.call(this);\n\n var image = processImageData.call(\n this,\n imageData,\n format,\n alias,\n compression\n );\n\n writeImageToPDF.call(this, x, y, w, h, image, rotation);\n\n return this;\n };\n\n var processImageData = function(imageData, format, alias, compression) {\n var result, dataAsBinaryString;\n\n if (\n typeof imageData === \"string\" &&\n getImageFileTypeByImageData(imageData) === UNKNOWN\n ) {\n imageData = unescape(imageData);\n var tmpImageData = convertBase64ToBinaryString(imageData, false);\n\n if (tmpImageData !== \"\") {\n imageData = tmpImageData;\n } else {\n tmpImageData = jsPDFAPI.loadFile(imageData, true);\n if (tmpImageData !== undefined) {\n imageData = tmpImageData;\n }\n }\n }\n\n if (isDOMElement(imageData)) {\n imageData = getImageDataFromElement(imageData, format);\n }\n\n format = getImageFileTypeByImageData(imageData, format);\n if (!isImageTypeSupported(format)) {\n throw new Error(\n \"addImage does not support files of type '\" +\n format +\n \"', please ensure that a plugin for '\" +\n format +\n \"' support is added.\"\n );\n }\n\n // now do the heavy lifting\n\n if (notDefined(alias)) {\n alias = generateAliasFromImageData(imageData);\n }\n result = checkImagesForAlias.call(this, alias);\n\n if (!result) {\n if (supportsArrayBuffer()) {\n // no need to convert if imageData is already uint8array\n if (!(imageData instanceof Uint8Array) && format !== \"RGBA\") {\n dataAsBinaryString = imageData;\n imageData = binaryStringToUint8Array(imageData);\n }\n }\n\n result = this[\"process\" + format.toUpperCase()](\n imageData,\n getImageIndex.call(this),\n alias,\n checkCompressValue(compression),\n dataAsBinaryString\n );\n }\n\n if (!result) {\n throw new Error(\"An unknown error occurred whilst processing the image.\");\n }\n return result;\n };\n\n /**\n * @name convertBase64ToBinaryString\n * @function\n * @param {string} stringData\n * @returns {string} binary string\n */\n var convertBase64ToBinaryString = (jsPDFAPI.__addimage__.convertBase64ToBinaryString = function(\n stringData,\n throwError\n ) {\n throwError = typeof throwError === \"boolean\" ? throwError : true;\n var base64Info;\n var imageData = \"\";\n var rawData;\n\n if (typeof stringData === \"string\") {\n base64Info = extractImageFromDataUrl(stringData);\n rawData = base64Info !== null ? base64Info.data : stringData;\n\n try {\n imageData = atob(rawData);\n } catch (e) {\n if (throwError) {\n if (!validateStringAsBase64(rawData)) {\n throw new Error(\n \"Supplied Data is not a valid base64-String jsPDF.convertBase64ToBinaryString \"\n );\n } else {\n throw new Error(\n \"atob-Error in jsPDF.convertBase64ToBinaryString \" + e.message\n );\n }\n }\n }\n }\n return imageData;\n });\n\n /**\n * @name getImageProperties\n * @function\n * @param {Object} imageData\n * @returns {Object}\n */\n jsPDFAPI.getImageProperties = function(imageData) {\n var image;\n var tmpImageData = \"\";\n var format;\n\n if (isDOMElement(imageData)) {\n imageData = getImageDataFromElement(imageData);\n }\n\n if (\n typeof imageData === \"string\" &&\n getImageFileTypeByImageData(imageData) === UNKNOWN\n ) {\n tmpImageData = convertBase64ToBinaryString(imageData, false);\n\n if (tmpImageData === \"\") {\n tmpImageData = jsPDFAPI.loadFile(imageData) || \"\";\n }\n imageData = tmpImageData;\n }\n\n format = getImageFileTypeByImageData(imageData);\n if (!isImageTypeSupported(format)) {\n throw new Error(\n \"addImage does not support files of type '\" +\n format +\n \"', please ensure that a plugin for '\" +\n format +\n \"' support is added.\"\n );\n }\n\n if (supportsArrayBuffer() && !(imageData instanceof Uint8Array)) {\n imageData = binaryStringToUint8Array(imageData);\n }\n\n image = this[\"process\" + format.toUpperCase()](imageData);\n\n if (!image) {\n throw new Error(\"An unknown error occurred whilst processing the image\");\n }\n\n image.fileType = format;\n\n return image;\n };\n})(jsPDF.API);\n","/**\n * @license\n * Copyright (c) 2014 Steven Spungin (TwelveTone LLC) steven@twelvetone.tv\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\n\n/**\n * jsPDF Annotations PlugIn\n *\n * There are many types of annotations in a PDF document. Annotations are placed\n * on a page at a particular location. They are not 'attached' to an object.\n *
\n * This plugin current supports
\n *
  • Goto Page (set pageNumber and top in options)\n *
  • Goto Name (set name and top in options)\n *
  • Goto URL (set url in options)\n *

    \n * \tThe destination magnification factor can also be specified when goto is a page number or a named destination. (see documentation below)\n * (set magFactor in options). XYZ is the default.\n *

    \n *

    \n * Links, Text, Popup, and FreeText are supported.\n *

    \n *

    \n * Options In PDF spec Not Implemented Yet\n *

  • link border\n *
  • named target\n *
  • page coordinates\n *
  • destination page scaling and layout\n *
  • actions other than URL and GotoPage\n *
  • background / hover actions\n *

    \n * @name annotations\n * @module\n */\n\n/*\n Destination Magnification Factors\n See PDF 1.3 Page 386 for meanings and options\n\n [supported]\n\tXYZ (options; left top zoom)\n\tFit (no options)\n\tFitH (options: top)\n\tFitV (options: left)\n\n\t[not supported]\n\tFitR\n\tFitB\n\tFitBH\n\tFitBV\n */\n\nimport { jsPDF } from \"../jspdf.js\";\n\n(function(jsPDFAPI) {\n \"use strict\";\n\n var notEmpty = function(obj) {\n if (typeof obj != \"undefined\") {\n if (obj != \"\") {\n return true;\n }\n }\n };\n\n jsPDF.API.events.push([\n \"addPage\",\n function(addPageData) {\n var pageInfo = this.internal.getPageInfo(addPageData.pageNumber);\n pageInfo.pageContext.annotations = [];\n }\n ]);\n\n jsPDFAPI.events.push([\n \"putPage\",\n function(putPageData) {\n var getHorizontalCoordinateString = this.internal.getCoordinateString;\n var getVerticalCoordinateString = this.internal\n .getVerticalCoordinateString;\n var pageInfo = this.internal.getPageInfoByObjId(putPageData.objId);\n var pageAnnos = putPageData.pageContext.annotations;\n\n var anno, rect, line;\n var found = false;\n for (var a = 0; a < pageAnnos.length && !found; a++) {\n anno = pageAnnos[a];\n switch (anno.type) {\n case \"link\":\n if (\n notEmpty(anno.options.url) ||\n notEmpty(anno.options.pageNumber)\n ) {\n found = true;\n }\n break;\n case \"reference\":\n case \"text\":\n case \"freetext\":\n found = true;\n break;\n }\n }\n if (found == false) {\n return;\n }\n\n this.internal.write(\"/Annots [\");\n for (var i = 0; i < pageAnnos.length; i++) {\n anno = pageAnnos[i];\n var escape = this.internal.pdfEscape;\n var encryptor = this.internal.getEncryptor(putPageData.objId);\n\n switch (anno.type) {\n case \"reference\":\n // References to Widget Annotations (for AcroForm Fields)\n this.internal.write(\" \" + anno.object.objId + \" 0 R \");\n break;\n case \"text\":\n // Create a an object for both the text and the popup\n var objText = this.internal.newAdditionalObject();\n var objPopup = this.internal.newAdditionalObject();\n var encryptorText = this.internal.getEncryptor(objText.objId);\n\n var title = anno.title || \"Note\";\n rect =\n \"/Rect [\" +\n getHorizontalCoordinateString(anno.bounds.x) +\n \" \" +\n getVerticalCoordinateString(anno.bounds.y + anno.bounds.h) +\n \" \" +\n getHorizontalCoordinateString(anno.bounds.x + anno.bounds.w) +\n \" \" +\n getVerticalCoordinateString(anno.bounds.y) +\n \"] \";\n\n line =\n \"<>\";\n objText.content = line;\n\n var parent = objText.objId + \" 0 R\";\n var popoff = 30;\n rect =\n \"/Rect [\" +\n getHorizontalCoordinateString(anno.bounds.x + popoff) +\n \" \" +\n getVerticalCoordinateString(anno.bounds.y + anno.bounds.h) +\n \" \" +\n getHorizontalCoordinateString(\n anno.bounds.x + anno.bounds.w + popoff\n ) +\n \" \" +\n getVerticalCoordinateString(anno.bounds.y) +\n \"] \";\n line =\n \"<>\";\n objPopup.content = line;\n\n this.internal.write(objText.objId, \"0 R\", objPopup.objId, \"0 R\");\n\n break;\n case \"freetext\":\n rect =\n \"/Rect [\" +\n getHorizontalCoordinateString(anno.bounds.x) +\n \" \" +\n getVerticalCoordinateString(anno.bounds.y) +\n \" \" +\n getHorizontalCoordinateString(anno.bounds.x + anno.bounds.w) +\n \" \" +\n getVerticalCoordinateString(anno.bounds.y + anno.bounds.h) +\n \"] \";\n var color = anno.color || \"#000000\";\n line =\n \"<>\";\n this.internal.write(line);\n break;\n case \"link\":\n if (anno.options.name) {\n var loc = this.annotations._nameMap[anno.options.name];\n anno.options.pageNumber = loc.page;\n anno.options.top = loc.y;\n } else {\n if (!anno.options.top) {\n anno.options.top = 0;\n }\n }\n\n rect =\n \"/Rect [\" +\n anno.finalBounds.x +\n \" \" +\n anno.finalBounds.y +\n \" \" +\n anno.finalBounds.w +\n \" \" +\n anno.finalBounds.h +\n \"] \";\n\n line = \"\";\n if (anno.options.url) {\n line =\n \"<>\";\n } else if (anno.options.pageNumber) {\n // first page is 0\n var info = this.internal.getPageInfo(anno.options.pageNumber);\n line =\n \"<>\";\n this.internal.write(line);\n }\n break;\n }\n }\n this.internal.write(\"]\");\n }\n ]);\n\n /**\n * @name createAnnotation\n * @function\n * @param {Object} options\n */\n jsPDFAPI.createAnnotation = function(options) {\n var pageInfo = this.internal.getCurrentPageInfo();\n switch (options.type) {\n case \"link\":\n this.link(\n options.bounds.x,\n options.bounds.y,\n options.bounds.w,\n options.bounds.h,\n options\n );\n break;\n case \"text\":\n case \"freetext\":\n pageInfo.pageContext.annotations.push(options);\n break;\n }\n };\n\n /**\n * Create a link\n *\n * valid options\n *
  • pageNumber or url [required]\n *

    If pageNumber is specified, top and zoom may also be specified

    \n * @name link\n * @function\n * @param {number} x\n * @param {number} y\n * @param {number} w\n * @param {number} h\n * @param {Object} options\n */\n jsPDFAPI.link = function(x, y, w, h, options) {\n var pageInfo = this.internal.getCurrentPageInfo();\n var getHorizontalCoordinateString = this.internal.getCoordinateString;\n var getVerticalCoordinateString = this.internal.getVerticalCoordinateString;\n\n pageInfo.pageContext.annotations.push({\n finalBounds: {\n x: getHorizontalCoordinateString(x),\n y: getVerticalCoordinateString(y),\n w: getHorizontalCoordinateString(x + w),\n h: getVerticalCoordinateString(y + h)\n },\n options: options,\n type: \"link\"\n });\n };\n\n /**\n * Currently only supports single line text.\n * Returns the width of the text/link\n *\n * @name textWithLink\n * @function\n * @param {string} text\n * @param {number} x\n * @param {number} y\n * @param {Object} options\n * @returns {number} width the width of the text/link\n */\n jsPDFAPI.textWithLink = function(text, x, y, options) {\n var totalLineWidth = this.getTextWidth(text);\n var lineHeight = this.internal.getLineHeight() / this.internal.scaleFactor;\n var linkHeight, linkWidth;\n\n // Checking if maxWidth option is passed to determine lineWidth and number of lines for each line\n if (options.maxWidth !== undefined) {\n var { maxWidth } = options;\n linkWidth = maxWidth;\n var numOfLines = this.splitTextToSize(text, linkWidth).length;\n linkHeight = Math.ceil(lineHeight * numOfLines);\n } else {\n linkWidth = totalLineWidth;\n linkHeight = lineHeight;\n }\n\n this.text(text, x, y, options);\n\n //TODO We really need the text baseline height to do this correctly.\n // Or ability to draw text on top, bottom, center, or baseline.\n y += lineHeight * 0.2;\n //handle x position based on the align option\n if (options.align === \"center\") {\n x = x - totalLineWidth / 2; //since starting from center move the x position by half of text width\n }\n if (options.align === \"right\") {\n x = x - totalLineWidth;\n }\n this.link(x, y - lineHeight, linkWidth, linkHeight, options);\n return totalLineWidth;\n };\n\n //TODO move into external library\n /**\n * @name getTextWidth\n * @function\n * @param {string} text\n * @returns {number} txtWidth\n */\n jsPDFAPI.getTextWidth = function(text) {\n var fontSize = this.internal.getFontSize();\n var txtWidth =\n (this.getStringUnitWidth(text) * fontSize) / this.internal.scaleFactor;\n return txtWidth;\n };\n\n return this;\n})(jsPDF.API);\n","/**\n * @license\n * Copyright (c) 2017 Aras Abbasi\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\n\nimport { jsPDF } from \"../jspdf.js\";\n\n/**\n * jsPDF arabic parser PlugIn\n *\n * @name arabic\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n\n /**\n * Arabic shape substitutions: char code => (isolated, final, initial, medial).\n * Arabic Substition A\n */\n var arabicSubstitionA = {\n 0x0621: [0xfe80], // ARABIC LETTER HAMZA\n 0x0622: [0xfe81, 0xfe82], // ARABIC LETTER ALEF WITH MADDA ABOVE\n 0x0623: [0xfe83, 0xfe84], // ARABIC LETTER ALEF WITH HAMZA ABOVE\n 0x0624: [0xfe85, 0xfe86], // ARABIC LETTER WAW WITH HAMZA ABOVE\n 0x0625: [0xfe87, 0xfe88], // ARABIC LETTER ALEF WITH HAMZA BELOW\n 0x0626: [0xfe89, 0xfe8a, 0xfe8b, 0xfe8c], // ARABIC LETTER YEH WITH HAMZA ABOVE\n 0x0627: [0xfe8d, 0xfe8e], // ARABIC LETTER ALEF\n 0x0628: [0xfe8f, 0xfe90, 0xfe91, 0xfe92], // ARABIC LETTER BEH\n 0x0629: [0xfe93, 0xfe94], // ARABIC LETTER TEH MARBUTA\n 0x062a: [0xfe95, 0xfe96, 0xfe97, 0xfe98], // ARABIC LETTER TEH\n 0x062b: [0xfe99, 0xfe9a, 0xfe9b, 0xfe9c], // ARABIC LETTER THEH\n 0x062c: [0xfe9d, 0xfe9e, 0xfe9f, 0xfea0], // ARABIC LETTER JEEM\n 0x062d: [0xfea1, 0xfea2, 0xfea3, 0xfea4], // ARABIC LETTER HAH\n 0x062e: [0xfea5, 0xfea6, 0xfea7, 0xfea8], // ARABIC LETTER KHAH\n 0x062f: [0xfea9, 0xfeaa], // ARABIC LETTER DAL\n 0x0630: [0xfeab, 0xfeac], // ARABIC LETTER THAL\n 0x0631: [0xfead, 0xfeae], // ARABIC LETTER REH\n 0x0632: [0xfeaf, 0xfeb0], // ARABIC LETTER ZAIN\n 0x0633: [0xfeb1, 0xfeb2, 0xfeb3, 0xfeb4], // ARABIC LETTER SEEN\n 0x0634: [0xfeb5, 0xfeb6, 0xfeb7, 0xfeb8], // ARABIC LETTER SHEEN\n 0x0635: [0xfeb9, 0xfeba, 0xfebb, 0xfebc], // ARABIC LETTER SAD\n 0x0636: [0xfebd, 0xfebe, 0xfebf, 0xfec0], // ARABIC LETTER DAD\n 0x0637: [0xfec1, 0xfec2, 0xfec3, 0xfec4], // ARABIC LETTER TAH\n 0x0638: [0xfec5, 0xfec6, 0xfec7, 0xfec8], // ARABIC LETTER ZAH\n 0x0639: [0xfec9, 0xfeca, 0xfecb, 0xfecc], // ARABIC LETTER AIN\n 0x063a: [0xfecd, 0xfece, 0xfecf, 0xfed0], // ARABIC LETTER GHAIN\n 0x0641: [0xfed1, 0xfed2, 0xfed3, 0xfed4], // ARABIC LETTER FEH\n 0x0642: [0xfed5, 0xfed6, 0xfed7, 0xfed8], // ARABIC LETTER QAF\n 0x0643: [0xfed9, 0xfeda, 0xfedb, 0xfedc], // ARABIC LETTER KAF\n 0x0644: [0xfedd, 0xfede, 0xfedf, 0xfee0], // ARABIC LETTER LAM\n 0x0645: [0xfee1, 0xfee2, 0xfee3, 0xfee4], // ARABIC LETTER MEEM\n 0x0646: [0xfee5, 0xfee6, 0xfee7, 0xfee8], // ARABIC LETTER NOON\n 0x0647: [0xfee9, 0xfeea, 0xfeeb, 0xfeec], // ARABIC LETTER HEH\n 0x0648: [0xfeed, 0xfeee], // ARABIC LETTER WAW\n 0x0649: [0xfeef, 0xfef0, 64488, 64489], // ARABIC LETTER ALEF MAKSURA\n 0x064a: [0xfef1, 0xfef2, 0xfef3, 0xfef4], // ARABIC LETTER YEH\n 0x0671: [0xfb50, 0xfb51], // ARABIC LETTER ALEF WASLA\n 0x0677: [0xfbdd], // ARABIC LETTER U WITH HAMZA ABOVE\n 0x0679: [0xfb66, 0xfb67, 0xfb68, 0xfb69], // ARABIC LETTER TTEH\n 0x067a: [0xfb5e, 0xfb5f, 0xfb60, 0xfb61], // ARABIC LETTER TTEHEH\n 0x067b: [0xfb52, 0xfb53, 0xfb54, 0xfb55], // ARABIC LETTER BEEH\n 0x067e: [0xfb56, 0xfb57, 0xfb58, 0xfb59], // ARABIC LETTER PEH\n 0x067f: [0xfb62, 0xfb63, 0xfb64, 0xfb65], // ARABIC LETTER TEHEH\n 0x0680: [0xfb5a, 0xfb5b, 0xfb5c, 0xfb5d], // ARABIC LETTER BEHEH\n 0x0683: [0xfb76, 0xfb77, 0xfb78, 0xfb79], // ARABIC LETTER NYEH\n 0x0684: [0xfb72, 0xfb73, 0xfb74, 0xfb75], // ARABIC LETTER DYEH\n 0x0686: [0xfb7a, 0xfb7b, 0xfb7c, 0xfb7d], // ARABIC LETTER TCHEH\n 0x0687: [0xfb7e, 0xfb7f, 0xfb80, 0xfb81], // ARABIC LETTER TCHEHEH\n 0x0688: [0xfb88, 0xfb89], // ARABIC LETTER DDAL\n 0x068c: [0xfb84, 0xfb85], // ARABIC LETTER DAHAL\n 0x068d: [0xfb82, 0xfb83], // ARABIC LETTER DDAHAL\n 0x068e: [0xfb86, 0xfb87], // ARABIC LETTER DUL\n 0x0691: [0xfb8c, 0xfb8d], // ARABIC LETTER RREH\n 0x0698: [0xfb8a, 0xfb8b], // ARABIC LETTER JEH\n 0x06a4: [0xfb6a, 0xfb6b, 0xfb6c, 0xfb6d], // ARABIC LETTER VEH\n 0x06a6: [0xfb6e, 0xfb6f, 0xfb70, 0xfb71], // ARABIC LETTER PEHEH\n 0x06a9: [0xfb8e, 0xfb8f, 0xfb90, 0xfb91], // ARABIC LETTER KEHEH\n 0x06ad: [0xfbd3, 0xfbd4, 0xfbd5, 0xfbd6], // ARABIC LETTER NG\n 0x06af: [0xfb92, 0xfb93, 0xfb94, 0xfb95], // ARABIC LETTER GAF\n 0x06b1: [0xfb9a, 0xfb9b, 0xfb9c, 0xfb9d], // ARABIC LETTER NGOEH\n 0x06b3: [0xfb96, 0xfb97, 0xfb98, 0xfb99], // ARABIC LETTER GUEH\n 0x06ba: [0xfb9e, 0xfb9f], // ARABIC LETTER NOON GHUNNA\n 0x06bb: [0xfba0, 0xfba1, 0xfba2, 0xfba3], // ARABIC LETTER RNOON\n 0x06be: [0xfbaa, 0xfbab, 0xfbac, 0xfbad], // ARABIC LETTER HEH DOACHASHMEE\n 0x06c0: [0xfba4, 0xfba5], // ARABIC LETTER HEH WITH YEH ABOVE\n 0x06c1: [0xfba6, 0xfba7, 0xfba8, 0xfba9], // ARABIC LETTER HEH GOAL\n 0x06c5: [0xfbe0, 0xfbe1], // ARABIC LETTER KIRGHIZ OE\n 0x06c6: [0xfbd9, 0xfbda], // ARABIC LETTER OE\n 0x06c7: [0xfbd7, 0xfbd8], // ARABIC LETTER U\n 0x06c8: [0xfbdb, 0xfbdc], // ARABIC LETTER YU\n 0x06c9: [0xfbe2, 0xfbe3], // ARABIC LETTER KIRGHIZ YU\n 0x06cb: [0xfbde, 0xfbdf], // ARABIC LETTER VE\n 0x06cc: [0xfbfc, 0xfbfd, 0xfbfe, 0xfbff], // ARABIC LETTER FARSI YEH\n 0x06d0: [0xfbe4, 0xfbe5, 0xfbe6, 0xfbe7], //ARABIC LETTER E\n 0x06d2: [0xfbae, 0xfbaf], // ARABIC LETTER YEH BARREE\n 0x06d3: [0xfbb0, 0xfbb1] // ARABIC LETTER YEH BARREE WITH HAMZA ABOVE\n };\n\n /*\n var ligaturesSubstitutionA = {\n 0xFBEA: []// ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH ALEF ISOLATED FORM\n };\n */\n\n var ligatures = {\n 0xfedf: {\n 0xfe82: 0xfef5, // ARABIC LIGATURE LAM WITH ALEF WITH MADDA ABOVE ISOLATED FORM\n 0xfe84: 0xfef7, // ARABIC LIGATURE LAM WITH ALEF WITH HAMZA ABOVE ISOLATED FORM\n 0xfe88: 0xfef9, // ARABIC LIGATURE LAM WITH ALEF WITH HAMZA BELOW ISOLATED FORM\n 0xfe8e: 0xfefb // ARABIC LIGATURE LAM WITH ALEF ISOLATED FORM\n },\n 0xfee0: {\n 0xfe82: 0xfef6, // ARABIC LIGATURE LAM WITH ALEF WITH MADDA ABOVE FINAL FORM\n 0xfe84: 0xfef8, // ARABIC LIGATURE LAM WITH ALEF WITH HAMZA ABOVE FINAL FORM\n 0xfe88: 0xfefa, // ARABIC LIGATURE LAM WITH ALEF WITH HAMZA BELOW FINAL FORM\n 0xfe8e: 0xfefc // ARABIC LIGATURE LAM WITH ALEF FINAL FORM\n },\n 0xfe8d: { 0xfedf: { 0xfee0: { 0xfeea: 0xfdf2 } } }, // ALLAH\n 0x0651: {\n 0x064c: 0xfc5e, // Shadda + Dammatan\n 0x064d: 0xfc5f, // Shadda + Kasratan\n 0x064e: 0xfc60, // Shadda + Fatha\n 0x064f: 0xfc61, // Shadda + Damma\n 0x0650: 0xfc62 // Shadda + Kasra\n }\n };\n\n var arabic_diacritics = {\n 1612: 64606, // Shadda + Dammatan\n 1613: 64607, // Shadda + Kasratan\n 1614: 64608, // Shadda + Fatha\n 1615: 64609, // Shadda + Damma\n 1616: 64610 // Shadda + Kasra\n };\n\n var alfletter = [1570, 1571, 1573, 1575];\n\n var noChangeInForm = -1;\n var isolatedForm = 0;\n var finalForm = 1;\n var initialForm = 2;\n var medialForm = 3;\n\n jsPDFAPI.__arabicParser__ = {};\n\n //private\n var isInArabicSubstitutionA = (jsPDFAPI.__arabicParser__.isInArabicSubstitutionA = function(\n letter\n ) {\n return typeof arabicSubstitionA[letter.charCodeAt(0)] !== \"undefined\";\n });\n\n var isArabicLetter = (jsPDFAPI.__arabicParser__.isArabicLetter = function(\n letter\n ) {\n return (\n typeof letter === \"string\" &&\n /^[\\u0600-\\u06FF\\u0750-\\u077F\\u08A0-\\u08FF\\uFB50-\\uFDFF\\uFE70-\\uFEFF]+$/.test(\n letter\n )\n );\n });\n\n var isArabicEndLetter = (jsPDFAPI.__arabicParser__.isArabicEndLetter = function(\n letter\n ) {\n return (\n isArabicLetter(letter) &&\n isInArabicSubstitutionA(letter) &&\n arabicSubstitionA[letter.charCodeAt(0)].length <= 2\n );\n });\n\n var isArabicAlfLetter = (jsPDFAPI.__arabicParser__.isArabicAlfLetter = function(\n letter\n ) {\n return (\n isArabicLetter(letter) && alfletter.indexOf(letter.charCodeAt(0)) >= 0\n );\n });\n\n jsPDFAPI.__arabicParser__.arabicLetterHasIsolatedForm = function(letter) {\n return (\n isArabicLetter(letter) &&\n isInArabicSubstitutionA(letter) &&\n arabicSubstitionA[letter.charCodeAt(0)].length >= 1\n );\n };\n\n var arabicLetterHasFinalForm = (jsPDFAPI.__arabicParser__.arabicLetterHasFinalForm = function(\n letter\n ) {\n return (\n isArabicLetter(letter) &&\n isInArabicSubstitutionA(letter) &&\n arabicSubstitionA[letter.charCodeAt(0)].length >= 2\n );\n });\n\n jsPDFAPI.__arabicParser__.arabicLetterHasInitialForm = function(letter) {\n return (\n isArabicLetter(letter) &&\n isInArabicSubstitutionA(letter) &&\n arabicSubstitionA[letter.charCodeAt(0)].length >= 3\n );\n };\n\n var arabicLetterHasMedialForm = (jsPDFAPI.__arabicParser__.arabicLetterHasMedialForm = function(\n letter\n ) {\n return (\n isArabicLetter(letter) &&\n isInArabicSubstitutionA(letter) &&\n arabicSubstitionA[letter.charCodeAt(0)].length == 4\n );\n });\n\n var resolveLigatures = (jsPDFAPI.__arabicParser__.resolveLigatures = function(\n letters\n ) {\n var i = 0;\n var tmpLigatures = ligatures;\n var result = \"\";\n var effectedLetters = 0;\n\n for (i = 0; i < letters.length; i += 1) {\n if (typeof tmpLigatures[letters.charCodeAt(i)] !== \"undefined\") {\n effectedLetters++;\n tmpLigatures = tmpLigatures[letters.charCodeAt(i)];\n\n if (typeof tmpLigatures === \"number\") {\n result += String.fromCharCode(tmpLigatures);\n tmpLigatures = ligatures;\n effectedLetters = 0;\n }\n if (i === letters.length - 1) {\n tmpLigatures = ligatures;\n result += letters.charAt(i - (effectedLetters - 1));\n i = i - (effectedLetters - 1);\n effectedLetters = 0;\n }\n } else {\n tmpLigatures = ligatures;\n result += letters.charAt(i - effectedLetters);\n i = i - effectedLetters;\n effectedLetters = 0;\n }\n }\n\n return result;\n });\n\n jsPDFAPI.__arabicParser__.isArabicDiacritic = function(letter) {\n return (\n letter !== undefined &&\n arabic_diacritics[letter.charCodeAt(0)] !== undefined\n );\n };\n\n var getCorrectForm = (jsPDFAPI.__arabicParser__.getCorrectForm = function(\n currentChar,\n beforeChar,\n nextChar\n ) {\n if (!isArabicLetter(currentChar)) {\n return -1;\n }\n\n if (isInArabicSubstitutionA(currentChar) === false) {\n return noChangeInForm;\n }\n if (\n !arabicLetterHasFinalForm(currentChar) ||\n (!isArabicLetter(beforeChar) && !isArabicLetter(nextChar)) ||\n (!isArabicLetter(nextChar) && isArabicEndLetter(beforeChar)) ||\n (isArabicEndLetter(currentChar) && !isArabicLetter(beforeChar)) ||\n (isArabicEndLetter(currentChar) && isArabicAlfLetter(beforeChar)) ||\n (isArabicEndLetter(currentChar) && isArabicEndLetter(beforeChar))\n ) {\n return isolatedForm;\n }\n\n if (\n arabicLetterHasMedialForm(currentChar) &&\n isArabicLetter(beforeChar) &&\n !isArabicEndLetter(beforeChar) &&\n isArabicLetter(nextChar) &&\n arabicLetterHasFinalForm(nextChar)\n ) {\n return medialForm;\n }\n\n if (isArabicEndLetter(currentChar) || !isArabicLetter(nextChar)) {\n return finalForm;\n }\n return initialForm;\n });\n\n /**\n * @name processArabic\n * @function\n * @param {string} text\n * @returns {string}\n */\n var parseArabic = function(text) {\n text = text || \"\";\n\n var result = \"\";\n var i = 0;\n var j = 0;\n var position = 0;\n var currentLetter = \"\";\n var prevLetter = \"\";\n var nextLetter = \"\";\n\n var words = text.split(\"\\\\s+\");\n var newWords = [];\n for (i = 0; i < words.length; i += 1) {\n newWords.push(\"\");\n for (j = 0; j < words[i].length; j += 1) {\n currentLetter = words[i][j];\n prevLetter = words[i][j - 1];\n nextLetter = words[i][j + 1];\n if (isArabicLetter(currentLetter)) {\n position = getCorrectForm(currentLetter, prevLetter, nextLetter);\n if (position !== -1) {\n newWords[i] += String.fromCharCode(\n arabicSubstitionA[currentLetter.charCodeAt(0)][position]\n );\n } else {\n newWords[i] += currentLetter;\n }\n } else {\n newWords[i] += currentLetter;\n }\n }\n\n newWords[i] = resolveLigatures(newWords[i]);\n }\n result = newWords.join(\" \");\n\n return result;\n };\n\n var processArabic = (jsPDFAPI.__arabicParser__.processArabic = jsPDFAPI.processArabic = function() {\n var text =\n typeof arguments[0] === \"string\" ? arguments[0] : arguments[0].text;\n var tmpText = [];\n var result;\n\n if (Array.isArray(text)) {\n var i = 0;\n tmpText = [];\n for (i = 0; i < text.length; i += 1) {\n if (Array.isArray(text[i])) {\n tmpText.push([parseArabic(text[i][0]), text[i][1], text[i][2]]);\n } else {\n tmpText.push([parseArabic(text[i])]);\n }\n }\n result = tmpText;\n } else {\n result = parseArabic(text);\n }\n if (typeof arguments[0] === \"string\") {\n return result;\n } else {\n arguments[0].text = result;\n return arguments[0];\n }\n });\n\n jsPDFAPI.events.push([\"preProcessText\", processArabic]);\n})(jsPDF.API);\n","/** @license\n * jsPDF Autoprint Plugin\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\n\nimport { jsPDF } from \"../jspdf.js\";\n\n/**\n * @name autoprint\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n\n /**\n * Makes the PDF automatically open the print-Dialog when opened in a PDF-viewer.\n *\n * @name autoPrint\n * @function\n * @param {Object} options (optional) Set the attribute variant to 'non-conform' (default) or 'javascript' to activate different methods of automatic printing when opening in a PDF-viewer .\n * @returns {jsPDF}\n * @example\n * var doc = new jsPDF();\n * doc.text(10, 10, 'This is a test');\n * doc.autoPrint({variant: 'non-conform'});\n * doc.save('autoprint.pdf');\n */\n jsPDFAPI.autoPrint = function(options) {\n \"use strict\";\n var refAutoPrintTag;\n options = options || {};\n options.variant = options.variant || \"non-conform\";\n\n switch (options.variant) {\n case \"javascript\":\n //https://github.com/Rob--W/pdf.js/commit/c676ecb5a0f54677b9f3340c3ef2cf42225453bb\n this.addJS(\"print({});\");\n break;\n case \"non-conform\":\n default:\n this.internal.events.subscribe(\"postPutResources\", function() {\n refAutoPrintTag = this.internal.newObject();\n this.internal.out(\"<<\");\n this.internal.out(\"/S /Named\");\n this.internal.out(\"/Type /Action\");\n this.internal.out(\"/N /Print\");\n this.internal.out(\">>\");\n this.internal.out(\"endobj\");\n });\n\n this.internal.events.subscribe(\"putCatalog\", function() {\n this.internal.out(\"/OpenAction \" + refAutoPrintTag + \" 0 R\");\n });\n break;\n }\n return this;\n };\n})(jsPDF.API);\n","/**\n * @license\n * Copyright (c) 2014 Steven Spungin (TwelveTone LLC) steven@twelvetone.tv\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\n\nimport { jsPDF } from \"../jspdf.js\";\n\n/**\n * jsPDF Canvas PlugIn\n * This plugin mimics the HTML5 Canvas\n *\n * The goal is to provide a way for current canvas users to print directly to a PDF.\n * @name canvas\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n\n /**\n * @class Canvas\n * @classdesc A Canvas Wrapper for jsPDF\n */\n var Canvas = function() {\n var jsPdfInstance = undefined;\n Object.defineProperty(this, \"pdf\", {\n get: function() {\n return jsPdfInstance;\n },\n set: function(value) {\n jsPdfInstance = value;\n }\n });\n\n var _width = 150;\n /**\n * The height property is a positive integer reflecting the height HTML attribute of the element interpreted in CSS pixels. When the attribute is not specified, or if it is set to an invalid value, like a negative, the default value of 150 is used.\n * This is one of the two properties, the other being width, that controls the size of the canvas.\n *\n * @name width\n */\n Object.defineProperty(this, \"width\", {\n get: function() {\n return _width;\n },\n set: function(value) {\n if (isNaN(value) || Number.isInteger(value) === false || value < 0) {\n _width = 150;\n } else {\n _width = value;\n }\n if (this.getContext(\"2d\").pageWrapXEnabled) {\n this.getContext(\"2d\").pageWrapX = _width + 1;\n }\n }\n });\n\n var _height = 300;\n /**\n * The width property is a positive integer reflecting the width HTML attribute of the element interpreted in CSS pixels. When the attribute is not specified, or if it is set to an invalid value, like a negative, the default value of 300 is used.\n * This is one of the two properties, the other being height, that controls the size of the canvas.\n *\n * @name height\n */\n Object.defineProperty(this, \"height\", {\n get: function() {\n return _height;\n },\n set: function(value) {\n if (isNaN(value) || Number.isInteger(value) === false || value < 0) {\n _height = 300;\n } else {\n _height = value;\n }\n if (this.getContext(\"2d\").pageWrapYEnabled) {\n this.getContext(\"2d\").pageWrapY = _height + 1;\n }\n }\n });\n\n var _childNodes = [];\n Object.defineProperty(this, \"childNodes\", {\n get: function() {\n return _childNodes;\n },\n set: function(value) {\n _childNodes = value;\n }\n });\n\n var _style = {};\n Object.defineProperty(this, \"style\", {\n get: function() {\n return _style;\n },\n set: function(value) {\n _style = value;\n }\n });\n\n Object.defineProperty(this, \"parentNode\", {});\n };\n\n /**\n * The getContext() method returns a drawing context on the canvas, or null if the context identifier is not supported.\n *\n * @name getContext\n * @function\n * @param {string} contextType Is a String containing the context identifier defining the drawing context associated to the canvas. Possible value is \"2d\", leading to the creation of a Context2D object representing a two-dimensional rendering context.\n * @param {object} contextAttributes\n */\n Canvas.prototype.getContext = function(contextType, contextAttributes) {\n contextType = contextType || \"2d\";\n var key;\n\n if (contextType !== \"2d\") {\n return null;\n }\n for (key in contextAttributes) {\n if (this.pdf.context2d.hasOwnProperty(key)) {\n this.pdf.context2d[key] = contextAttributes[key];\n }\n }\n this.pdf.context2d._canvas = this;\n return this.pdf.context2d;\n };\n\n /**\n * The toDataURL() method is just a stub to throw an error if accidently called.\n *\n * @name toDataURL\n * @function\n */\n Canvas.prototype.toDataURL = function() {\n throw new Error(\"toDataURL is not implemented.\");\n };\n\n jsPDFAPI.events.push([\n \"initialized\",\n function() {\n this.canvas = new Canvas();\n this.canvas.pdf = this;\n }\n ]);\n\n return this;\n})(jsPDF.API);\n","/**\n * @license\n * ====================================================================\n * Copyright (c) 2013 Youssef Beddad, youssef.beddad@gmail.com\n * 2013 Eduardo Menezes de Morais, eduardo.morais@usp.br\n * 2013 Lee Driscoll, https://github.com/lsdriscoll\n * 2014 Juan Pablo Gaviria, https://github.com/juanpgaviria\n * 2014 James Hall, james@parall.ax\n * 2014 Diego Casorran, https://github.com/diegocr\n *\n * Permission is hereby granted, free of charge, to any person obtaining\n * a copy of this software and associated documentation files (the\n * \"Software\"), to deal in the Software without restriction, including\n * without limitation the rights to use, copy, modify, merge, publish,\n * distribute, sublicense, and/or sell copies of the Software, and to\n * permit persons to whom the Software is furnished to do so, subject to\n * the following conditions:\n *\n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\n * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\n * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\n * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n * ====================================================================\n */\n\nimport { jsPDF } from \"../jspdf.js\";\n\n/**\n * @name cell\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n\n var NO_MARGINS = { left: 0, top: 0, bottom: 0, right: 0 };\n\n var px2pt = (0.264583 * 72) / 25.4;\n var printingHeaderRow = false;\n\n var _initialize = function() {\n if (typeof this.internal.__cell__ === \"undefined\") {\n this.internal.__cell__ = {};\n this.internal.__cell__.padding = 3;\n this.internal.__cell__.headerFunction = undefined;\n this.internal.__cell__.margins = Object.assign({}, NO_MARGINS);\n this.internal.__cell__.margins.width = this.getPageWidth();\n _reset.call(this);\n }\n };\n\n var _reset = function() {\n this.internal.__cell__.lastCell = new Cell();\n this.internal.__cell__.pages = 1;\n };\n\n var Cell = function() {\n var _x = arguments[0];\n Object.defineProperty(this, \"x\", {\n enumerable: true,\n get: function() {\n return _x;\n },\n set: function(value) {\n _x = value;\n }\n });\n var _y = arguments[1];\n Object.defineProperty(this, \"y\", {\n enumerable: true,\n get: function() {\n return _y;\n },\n set: function(value) {\n _y = value;\n }\n });\n var _width = arguments[2];\n Object.defineProperty(this, \"width\", {\n enumerable: true,\n get: function() {\n return _width;\n },\n set: function(value) {\n _width = value;\n }\n });\n var _height = arguments[3];\n Object.defineProperty(this, \"height\", {\n enumerable: true,\n get: function() {\n return _height;\n },\n set: function(value) {\n _height = value;\n }\n });\n var _text = arguments[4];\n Object.defineProperty(this, \"text\", {\n enumerable: true,\n get: function() {\n return _text;\n },\n set: function(value) {\n _text = value;\n }\n });\n var _lineNumber = arguments[5];\n Object.defineProperty(this, \"lineNumber\", {\n enumerable: true,\n get: function() {\n return _lineNumber;\n },\n set: function(value) {\n _lineNumber = value;\n }\n });\n var _align = arguments[6];\n Object.defineProperty(this, \"align\", {\n enumerable: true,\n get: function() {\n return _align;\n },\n set: function(value) {\n _align = value;\n }\n });\n\n return this;\n };\n\n Cell.prototype.clone = function() {\n return new Cell(\n this.x,\n this.y,\n this.width,\n this.height,\n this.text,\n this.lineNumber,\n this.align\n );\n };\n\n Cell.prototype.toArray = function() {\n return [\n this.x,\n this.y,\n this.width,\n this.height,\n this.text,\n this.lineNumber,\n this.align\n ];\n };\n\n /**\n * @name setHeaderFunction\n * @function\n * @param {function} func\n */\n jsPDFAPI.setHeaderFunction = function(func) {\n _initialize.call(this);\n this.internal.__cell__.headerFunction =\n typeof func === \"function\" ? func : undefined;\n return this;\n };\n\n /**\n * @name getTextDimensions\n * @function\n * @param {string} txt\n * @returns {Object} dimensions\n */\n jsPDFAPI.getTextDimensions = function(text, options) {\n _initialize.call(this);\n options = options || {};\n var fontSize = options.fontSize || this.getFontSize();\n var font = options.font || this.getFont();\n var scaleFactor = options.scaleFactor || this.internal.scaleFactor;\n var width = 0;\n var amountOfLines = 0;\n var height = 0;\n var tempWidth = 0;\n var scope = this;\n\n if (!Array.isArray(text) && typeof text !== \"string\") {\n if (typeof text === \"number\") {\n text = String(text);\n } else {\n throw new Error(\n \"getTextDimensions expects text-parameter to be of type String or type Number or an Array of Strings.\"\n );\n }\n }\n\n const maxWidth = options.maxWidth;\n if (maxWidth > 0) {\n if (typeof text === \"string\") {\n text = this.splitTextToSize(text, maxWidth);\n } else if (Object.prototype.toString.call(text) === \"[object Array]\") {\n text = text.reduce(function(acc, textLine) {\n return acc.concat(scope.splitTextToSize(textLine, maxWidth));\n }, []);\n }\n } else {\n // Without the else clause, it will not work if you do not pass along maxWidth\n text = Array.isArray(text) ? text : [text];\n }\n\n for (var i = 0; i < text.length; i++) {\n tempWidth = this.getStringUnitWidth(text[i], { font: font }) * fontSize;\n if (width < tempWidth) {\n width = tempWidth;\n }\n }\n\n if (width !== 0) {\n amountOfLines = text.length;\n }\n\n width = width / scaleFactor;\n height = Math.max(\n (amountOfLines * fontSize * this.getLineHeightFactor() -\n fontSize * (this.getLineHeightFactor() - 1)) /\n scaleFactor,\n 0\n );\n return { w: width, h: height };\n };\n\n /**\n * @name cellAddPage\n * @function\n */\n jsPDFAPI.cellAddPage = function() {\n _initialize.call(this);\n\n this.addPage();\n\n var margins = this.internal.__cell__.margins || NO_MARGINS;\n this.internal.__cell__.lastCell = new Cell(\n margins.left,\n margins.top,\n undefined,\n undefined\n );\n this.internal.__cell__.pages += 1;\n\n return this;\n };\n\n /**\n * @name cell\n * @function\n * @param {number} x\n * @param {number} y\n * @param {number} width\n * @param {number} height\n * @param {string} text\n * @param {number} lineNumber lineNumber\n * @param {string} align\n * @return {jsPDF} jsPDF-instance\n */\n var cell = (jsPDFAPI.cell = function() {\n var currentCell;\n\n if (arguments[0] instanceof Cell) {\n currentCell = arguments[0];\n } else {\n currentCell = new Cell(\n arguments[0],\n arguments[1],\n arguments[2],\n arguments[3],\n arguments[4],\n arguments[5]\n );\n }\n _initialize.call(this);\n var lastCell = this.internal.__cell__.lastCell;\n var padding = this.internal.__cell__.padding;\n var margins = this.internal.__cell__.margins || NO_MARGINS;\n var tableHeaderRow = this.internal.__cell__.tableHeaderRow;\n var printHeaders = this.internal.__cell__.printHeaders;\n // If this is not the first cell, we must change its position\n if (typeof lastCell.lineNumber !== \"undefined\") {\n if (lastCell.lineNumber === currentCell.lineNumber) {\n //Same line\n currentCell.x = (lastCell.x || 0) + (lastCell.width || 0);\n currentCell.y = lastCell.y || 0;\n } else {\n //New line\n if (\n lastCell.y + lastCell.height + currentCell.height + margins.bottom >\n this.getPageHeight()\n ) {\n this.cellAddPage();\n currentCell.y = margins.top;\n if (printHeaders && tableHeaderRow) {\n this.printHeaderRow(currentCell.lineNumber, true);\n currentCell.y += tableHeaderRow[0].height;\n }\n } else {\n currentCell.y = lastCell.y + lastCell.height || currentCell.y;\n }\n }\n }\n\n if (typeof currentCell.text[0] !== \"undefined\") {\n this.rect(\n currentCell.x,\n currentCell.y,\n currentCell.width,\n currentCell.height,\n printingHeaderRow === true ? \"FD\" : undefined\n );\n if (currentCell.align === \"right\") {\n this.text(\n currentCell.text,\n currentCell.x + currentCell.width - padding,\n currentCell.y + padding,\n { align: \"right\", baseline: \"top\" }\n );\n } else if (currentCell.align === \"center\") {\n this.text(\n currentCell.text,\n currentCell.x + currentCell.width / 2,\n currentCell.y + padding,\n {\n align: \"center\",\n baseline: \"top\",\n maxWidth: currentCell.width - padding - padding\n }\n );\n } else {\n this.text(\n currentCell.text,\n currentCell.x + padding,\n currentCell.y + padding,\n {\n align: \"left\",\n baseline: \"top\",\n maxWidth: currentCell.width - padding - padding\n }\n );\n }\n }\n this.internal.__cell__.lastCell = currentCell;\n return this;\n });\n\n /**\n * Create a table from a set of data.\n * @name table\n * @function\n * @param {Integer} [x] : left-position for top-left corner of table\n * @param {Integer} [y] top-position for top-left corner of table\n * @param {Object[]} [data] An array of objects containing key-value pairs corresponding to a row of data.\n * @param {String[]} [headers] Omit or null to auto-generate headers at a performance cost\n\n * @param {Object} [config.printHeaders] True to print column headers at the top of every page\n * @param {Object} [config.autoSize] True to dynamically set the column widths to match the widest cell value\n * @param {Object} [config.margins] margin values for left, top, bottom, and width\n * @param {Object} [config.fontSize] Integer fontSize to use (optional)\n * @param {Object} [config.padding] cell-padding in pt to use (optional)\n * @param {Object} [config.headerBackgroundColor] default is #c8c8c8 (optional)\n * @param {Object} [config.headerTextColor] default is #000 (optional)\n * @param {Object} [config.rowStart] callback to handle before print each row (optional)\n * @param {Object} [config.cellStart] callback to handle before print each cell (optional)\n * @returns {jsPDF} jsPDF-instance\n */\n\n jsPDFAPI.table = function(x, y, data, headers, config) {\n _initialize.call(this);\n if (!data) {\n throw new Error(\"No data for PDF table.\");\n }\n\n config = config || {};\n\n var headerNames = [],\n headerLabels = [],\n headerAligns = [],\n i,\n columnMatrix = {},\n columnWidths = {},\n column,\n columnMinWidths = [],\n j,\n tableHeaderConfigs = [],\n //set up defaults. If a value is provided in config, defaults will be overwritten:\n autoSize = config.autoSize || false,\n printHeaders = config.printHeaders === false ? false : true,\n fontSize =\n config.css && typeof config.css[\"font-size\"] !== \"undefined\"\n ? config.css[\"font-size\"] * 16\n : config.fontSize || 12,\n margins =\n config.margins ||\n Object.assign({ width: this.getPageWidth() }, NO_MARGINS),\n padding = typeof config.padding === \"number\" ? config.padding : 3,\n headerBackgroundColor = config.headerBackgroundColor || \"#c8c8c8\",\n headerTextColor = config.headerTextColor || \"#000\";\n\n _reset.call(this);\n\n this.internal.__cell__.printHeaders = printHeaders;\n this.internal.__cell__.margins = margins;\n this.internal.__cell__.table_font_size = fontSize;\n this.internal.__cell__.padding = padding;\n this.internal.__cell__.headerBackgroundColor = headerBackgroundColor;\n this.internal.__cell__.headerTextColor = headerTextColor;\n this.setFontSize(fontSize);\n\n // Set header values\n if (headers === undefined || headers === null) {\n // No headers defined so we derive from data\n headerNames = Object.keys(data[0]);\n headerLabels = headerNames;\n headerAligns = headerNames.map(function() {\n return \"left\";\n });\n } else if (Array.isArray(headers) && typeof headers[0] === \"object\") {\n headerNames = headers.map(function(header) {\n return header.name;\n });\n headerLabels = headers.map(function(header) {\n return header.prompt || header.name || \"\";\n });\n headerAligns = headers.map(function(header) {\n return header.align || \"left\";\n });\n // Split header configs into names and prompts\n for (i = 0; i < headers.length; i += 1) {\n columnWidths[headers[i].name] = headers[i].width * px2pt;\n }\n } else if (Array.isArray(headers) && typeof headers[0] === \"string\") {\n headerNames = headers;\n headerLabels = headerNames;\n headerAligns = headerNames.map(function() {\n return \"left\";\n });\n }\n\n if (\n autoSize ||\n (Array.isArray(headers) && typeof headers[0] === \"string\")\n ) {\n var headerName;\n for (i = 0; i < headerNames.length; i += 1) {\n headerName = headerNames[i];\n\n // Create a matrix of columns e.g., {column_title: [row1_Record, row2_Record]}\n\n columnMatrix[headerName] = data.map(function(rec) {\n return rec[headerName];\n });\n\n // get header width\n this.setFont(undefined, \"bold\");\n columnMinWidths.push(\n this.getTextDimensions(headerLabels[i], {\n fontSize: this.internal.__cell__.table_font_size,\n scaleFactor: this.internal.scaleFactor\n }).w\n );\n column = columnMatrix[headerName];\n\n // get cell widths\n this.setFont(undefined, \"normal\");\n for (j = 0; j < column.length; j += 1) {\n columnMinWidths.push(\n this.getTextDimensions(column[j], {\n fontSize: this.internal.__cell__.table_font_size,\n scaleFactor: this.internal.scaleFactor\n }).w\n );\n }\n\n // get final column width\n columnWidths[headerName] =\n Math.max.apply(null, columnMinWidths) + padding + padding;\n\n //have to reset\n columnMinWidths = [];\n }\n }\n\n // -- Construct the table\n\n if (printHeaders) {\n var row = {};\n for (i = 0; i < headerNames.length; i += 1) {\n row[headerNames[i]] = {};\n row[headerNames[i]].text = headerLabels[i];\n row[headerNames[i]].align = headerAligns[i];\n }\n\n var rowHeight = calculateLineHeight.call(this, row, columnWidths);\n\n // Construct the header row\n tableHeaderConfigs = headerNames.map(function(value) {\n return new Cell(\n x,\n y,\n columnWidths[value],\n rowHeight,\n row[value].text,\n undefined,\n row[value].align\n );\n });\n\n // Store the table header config\n this.setTableHeaderRow(tableHeaderConfigs);\n\n // Print the header for the start of the table\n this.printHeaderRow(1, false);\n }\n\n // Construct the data rows\n\n var align = headers.reduce(function(pv, cv) {\n pv[cv.name] = cv.align;\n return pv;\n }, {});\n for (i = 0; i < data.length; i += 1) {\n if (\"rowStart\" in config && config.rowStart instanceof Function) {\n config.rowStart(\n {\n row: i,\n data: data[i]\n },\n this\n );\n }\n var lineHeight = calculateLineHeight.call(this, data[i], columnWidths);\n\n for (j = 0; j < headerNames.length; j += 1) {\n var cellData = data[i][headerNames[j]];\n if (\"cellStart\" in config && config.cellStart instanceof Function) {\n config.cellStart(\n {\n row: i,\n col: j,\n data: cellData\n },\n this\n );\n }\n cell.call(\n this,\n new Cell(\n x,\n y,\n columnWidths[headerNames[j]],\n lineHeight,\n cellData,\n i + 2,\n align[headerNames[j]]\n )\n );\n }\n }\n this.internal.__cell__.table_x = x;\n this.internal.__cell__.table_y = y;\n return this;\n };\n\n /**\n * Calculate the height for containing the highest column\n *\n * @name calculateLineHeight\n * @function\n * @param {Object[]} model is the line of data we want to calculate the height of\n * @param {Integer[]} columnWidths is size of each column\n * @returns {number} lineHeight\n * @private\n */\n var calculateLineHeight = function calculateLineHeight(model, columnWidths) {\n var padding = this.internal.__cell__.padding;\n var fontSize = this.internal.__cell__.table_font_size;\n var scaleFactor = this.internal.scaleFactor;\n\n return Object.keys(model)\n .map(function(key) {\n var value = model[key];\n return this.splitTextToSize(\n value.hasOwnProperty(\"text\") ? value.text : value,\n columnWidths[key] - padding - padding\n );\n }, this)\n .map(function(value) {\n return (\n (this.getLineHeightFactor() * value.length * fontSize) / scaleFactor +\n padding +\n padding\n );\n }, this)\n .reduce(function(pv, cv) {\n return Math.max(pv, cv);\n }, 0);\n };\n\n /**\n * Store the config for outputting a table header\n *\n * @name setTableHeaderRow\n * @function\n * @param {Object[]} config\n * An array of cell configs that would define a header row: Each config matches the config used by jsPDFAPI.cell\n * except the lineNumber parameter is excluded\n */\n jsPDFAPI.setTableHeaderRow = function(config) {\n _initialize.call(this);\n this.internal.__cell__.tableHeaderRow = config;\n };\n\n /**\n * Output the store header row\n *\n * @name printHeaderRow\n * @function\n * @param {number} lineNumber The line number to output the header at\n * @param {boolean} new_page\n */\n jsPDFAPI.printHeaderRow = function(lineNumber, new_page) {\n _initialize.call(this);\n if (!this.internal.__cell__.tableHeaderRow) {\n throw new Error(\"Property tableHeaderRow does not exist.\");\n }\n\n var tableHeaderCell;\n\n printingHeaderRow = true;\n if (typeof this.internal.__cell__.headerFunction === \"function\") {\n var position = this.internal.__cell__.headerFunction(\n this,\n this.internal.__cell__.pages\n );\n this.internal.__cell__.lastCell = new Cell(\n position[0],\n position[1],\n position[2],\n position[3],\n undefined,\n -1\n );\n }\n this.setFont(undefined, \"bold\");\n\n var tempHeaderConf = [];\n for (var i = 0; i < this.internal.__cell__.tableHeaderRow.length; i += 1) {\n tableHeaderCell = this.internal.__cell__.tableHeaderRow[i].clone();\n if (new_page) {\n tableHeaderCell.y = this.internal.__cell__.margins.top || 0;\n tempHeaderConf.push(tableHeaderCell);\n }\n tableHeaderCell.lineNumber = lineNumber;\n var currentTextColor = this.getTextColor();\n this.setTextColor(this.internal.__cell__.headerTextColor);\n this.setFillColor(this.internal.__cell__.headerBackgroundColor);\n cell.call(this, tableHeaderCell);\n this.setTextColor(currentTextColor);\n }\n if (tempHeaderConf.length > 0) {\n this.setTableHeaderRow(tempHeaderConf);\n }\n this.setFont(undefined, \"normal\");\n printingHeaderRow = false;\n };\n})(jsPDF.API);\n","/**\n * @license\n * ====================================================================\n * Copyright (c) 2013 Youssef Beddad, youssef.beddad@gmail.com\n *\n * Permission is hereby granted, free of charge, to any person obtaining\n * a copy of this software and associated documentation files (the\n * \"Software\"), to deal in the Software without restriction, including\n * without limitation the rights to use, copy, modify, merge, publish,\n * distribute, sublicense, and/or sell copies of the Software, and to\n * permit persons to whom the Software is furnished to do so, subject to\n * the following conditions:\n *\n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\n * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\n * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\n * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n * ====================================================================\n */\n\nimport { jsPDF } from \"../jspdf.js\";\n\n/**\n * jsPDF JavaScript plugin\n *\n * @name javascript\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n var jsNamesObj, jsJsObj, text;\n /**\n * @name addJS\n * @function\n * @param {string} javascript The javascript to be embedded into the PDF-file.\n * @returns {jsPDF}\n */\n jsPDFAPI.addJS = function(javascript) {\n text = javascript;\n this.internal.events.subscribe(\"postPutResources\", function() {\n jsNamesObj = this.internal.newObject();\n this.internal.out(\"<<\");\n this.internal.out(\"/Names [(EmbeddedJS) \" + (jsNamesObj + 1) + \" 0 R]\");\n this.internal.out(\">>\");\n this.internal.out(\"endobj\");\n\n jsJsObj = this.internal.newObject();\n this.internal.out(\"<<\");\n this.internal.out(\"/S /JavaScript\");\n this.internal.out(\"/JS (\" + text + \")\");\n this.internal.out(\">>\");\n this.internal.out(\"endobj\");\n });\n this.internal.events.subscribe(\"putCatalog\", function() {\n if (jsNamesObj !== undefined && jsJsObj !== undefined) {\n this.internal.out(\"/Names <>\");\n }\n });\n return this;\n };\n})(jsPDF.API);\n","/* eslint-disable no-fallthrough */\r\n/* eslint-disable no-console */\r\n/**\r\n * @license\r\n * jsPDF Context2D PlugIn Copyright (c) 2014 Steven Spungin (TwelveTone LLC) steven@twelvetone.tv\r\n *\r\n * Licensed under the MIT License. http://opensource.org/licenses/mit-license\r\n */\r\n\r\nimport { jsPDF } from \"../jspdf.js\";\r\nimport { RGBColor } from \"../libs/rgbcolor.js\";\r\nimport { console } from \"../libs/console.js\";\r\nimport {\r\n buildFontFaceMap,\r\n parseFontFamily,\r\n resolveFontFace\r\n} from \"../libs/fontFace.js\";\r\n\r\n/**\r\n * This plugin mimics the HTML5 CanvasRenderingContext2D.\r\n *\r\n * The goal is to provide a way for current canvas implementations to print directly to a PDF.\r\n *\r\n * @name context2d\r\n * @module\r\n */\r\n(function(jsPDFAPI) {\r\n \"use strict\";\r\n var ContextLayer = function(ctx) {\r\n ctx = ctx || {};\r\n this.isStrokeTransparent = ctx.isStrokeTransparent || false;\r\n this.strokeOpacity = ctx.strokeOpacity || 1;\r\n this.strokeStyle = ctx.strokeStyle || \"#000000\";\r\n this.fillStyle = ctx.fillStyle || \"#000000\";\r\n this.isFillTransparent = ctx.isFillTransparent || false;\r\n this.fillOpacity = ctx.fillOpacity || 1;\r\n this.font = ctx.font || \"10px sans-serif\";\r\n this.textBaseline = ctx.textBaseline || \"alphabetic\";\r\n this.textAlign = ctx.textAlign || \"left\";\r\n this.lineWidth = ctx.lineWidth || 1;\r\n this.lineJoin = ctx.lineJoin || \"miter\";\r\n this.lineCap = ctx.lineCap || \"butt\";\r\n this.path = ctx.path || [];\r\n this.transform =\r\n typeof ctx.transform !== \"undefined\"\r\n ? ctx.transform.clone()\r\n : new Matrix();\r\n this.globalCompositeOperation = ctx.globalCompositeOperation || \"normal\";\r\n this.globalAlpha = ctx.globalAlpha || 1.0;\r\n this.clip_path = ctx.clip_path || [];\r\n this.currentPoint = ctx.currentPoint || new Point();\r\n this.miterLimit = ctx.miterLimit || 10.0;\r\n this.lastPoint = ctx.lastPoint || new Point();\r\n this.lineDashOffset = ctx.lineDashOffset || 0.0;\r\n this.lineDash = ctx.lineDash || [];\r\n this.margin = ctx.margin || [0, 0, 0, 0];\r\n this.prevPageLastElemOffset = ctx.prevPageLastElemOffset || 0;\r\n\r\n this.ignoreClearRect =\r\n typeof ctx.ignoreClearRect === \"boolean\" ? ctx.ignoreClearRect : true;\r\n return this;\r\n };\r\n\r\n //stub\r\n var f2,\r\n getHorizontalCoordinateString,\r\n getVerticalCoordinateString,\r\n getHorizontalCoordinate,\r\n getVerticalCoordinate,\r\n Point,\r\n Rectangle,\r\n Matrix,\r\n _ctx;\r\n jsPDFAPI.events.push([\r\n \"initialized\",\r\n function() {\r\n this.context2d = new Context2D(this);\r\n\r\n f2 = this.internal.f2;\r\n getHorizontalCoordinateString = this.internal.getCoordinateString;\r\n getVerticalCoordinateString = this.internal.getVerticalCoordinateString;\r\n getHorizontalCoordinate = this.internal.getHorizontalCoordinate;\r\n getVerticalCoordinate = this.internal.getVerticalCoordinate;\r\n Point = this.internal.Point;\r\n Rectangle = this.internal.Rectangle;\r\n Matrix = this.internal.Matrix;\r\n _ctx = new ContextLayer();\r\n }\r\n ]);\r\n\r\n var Context2D = function(pdf) {\r\n Object.defineProperty(this, \"canvas\", {\r\n get: function() {\r\n return { parentNode: false, style: false };\r\n }\r\n });\r\n\r\n var _pdf = pdf;\r\n Object.defineProperty(this, \"pdf\", {\r\n get: function() {\r\n return _pdf;\r\n }\r\n });\r\n\r\n var _pageWrapXEnabled = false;\r\n /**\r\n * @name pageWrapXEnabled\r\n * @type {boolean}\r\n * @default false\r\n */\r\n Object.defineProperty(this, \"pageWrapXEnabled\", {\r\n get: function() {\r\n return _pageWrapXEnabled;\r\n },\r\n set: function(value) {\r\n _pageWrapXEnabled = Boolean(value);\r\n }\r\n });\r\n\r\n var _pageWrapYEnabled = false;\r\n /**\r\n * @name pageWrapYEnabled\r\n * @type {boolean}\r\n * @default true\r\n */\r\n Object.defineProperty(this, \"pageWrapYEnabled\", {\r\n get: function() {\r\n return _pageWrapYEnabled;\r\n },\r\n set: function(value) {\r\n _pageWrapYEnabled = Boolean(value);\r\n }\r\n });\r\n\r\n var _posX = 0;\r\n /**\r\n * @name posX\r\n * @type {number}\r\n * @default 0\r\n */\r\n Object.defineProperty(this, \"posX\", {\r\n get: function() {\r\n return _posX;\r\n },\r\n set: function(value) {\r\n if (!isNaN(value)) {\r\n _posX = value;\r\n }\r\n }\r\n });\r\n\r\n var _posY = 0;\r\n /**\r\n * @name posY\r\n * @type {number}\r\n * @default 0\r\n */\r\n Object.defineProperty(this, \"posY\", {\r\n get: function() {\r\n return _posY;\r\n },\r\n set: function(value) {\r\n if (!isNaN(value)) {\r\n _posY = value;\r\n }\r\n }\r\n });\r\n\r\n /**\r\n * Gets or sets the page margin when using auto paging. Has no effect when {@link autoPaging} is off.\r\n * @name margin\r\n * @type {number|number[]}\r\n * @default [0, 0, 0, 0]\r\n */\r\n Object.defineProperty(this, \"margin\", {\r\n get: function() {\r\n return _ctx.margin;\r\n },\r\n set: function(value) {\r\n var margin;\r\n if (typeof value === \"number\") {\r\n margin = [value, value, value, value];\r\n } else {\r\n margin = new Array(4);\r\n margin[0] = value[0];\r\n margin[1] = value.length >= 2 ? value[1] : margin[0];\r\n margin[2] = value.length >= 3 ? value[2] : margin[0];\r\n margin[3] = value.length >= 4 ? value[3] : margin[1];\r\n }\r\n _ctx.margin = margin;\r\n }\r\n });\r\n\r\n var _autoPaging = false;\r\n /**\r\n * Gets or sets the auto paging mode. When auto paging is enabled, the context2d will automatically draw on the\r\n * next page if a shape or text chunk doesn't fit entirely on the current page. The context2d will create new\r\n * pages if required.\r\n *\r\n * Context2d supports different modes:\r\n *
      \r\n *
    • \r\n * false: Auto paging is disabled.\r\n *
    • \r\n *
    • \r\n * true or 'slice': Will cut shapes or text chunks across page breaks. Will possibly\r\n * slice text in half, making it difficult to read.\r\n *
    • \r\n *
    • \r\n * 'text': Trys not to cut text in half across page breaks. Works best for documents consisting\r\n * mostly of a single column of text.\r\n *
    • \r\n *
    \r\n * @name Context2D#autoPaging\r\n * @type {boolean|\"slice\"|\"text\"}\r\n * @default false\r\n */\r\n Object.defineProperty(this, \"autoPaging\", {\r\n get: function() {\r\n return _autoPaging;\r\n },\r\n set: function(value) {\r\n _autoPaging = value;\r\n }\r\n });\r\n\r\n var lastBreak = 0;\r\n /**\r\n * @name lastBreak\r\n * @type {number}\r\n * @default 0\r\n */\r\n Object.defineProperty(this, \"lastBreak\", {\r\n get: function() {\r\n return lastBreak;\r\n },\r\n set: function(value) {\r\n lastBreak = value;\r\n }\r\n });\r\n\r\n var pageBreaks = [];\r\n /**\r\n * Y Position of page breaks.\r\n * @name pageBreaks\r\n * @type {number}\r\n * @default 0\r\n */\r\n Object.defineProperty(this, \"pageBreaks\", {\r\n get: function() {\r\n return pageBreaks;\r\n },\r\n set: function(value) {\r\n pageBreaks = value;\r\n }\r\n });\r\n\r\n /**\r\n * @name ctx\r\n * @type {object}\r\n * @default {}\r\n */\r\n Object.defineProperty(this, \"ctx\", {\r\n get: function() {\r\n return _ctx;\r\n },\r\n set: function(value) {\r\n if (value instanceof ContextLayer) {\r\n _ctx = value;\r\n }\r\n }\r\n });\r\n\r\n /**\r\n * @name path\r\n * @type {array}\r\n * @default []\r\n */\r\n Object.defineProperty(this, \"path\", {\r\n get: function() {\r\n return _ctx.path;\r\n },\r\n set: function(value) {\r\n _ctx.path = value;\r\n }\r\n });\r\n\r\n /**\r\n * @name ctxStack\r\n * @type {array}\r\n * @default []\r\n */\r\n var _ctxStack = [];\r\n Object.defineProperty(this, \"ctxStack\", {\r\n get: function() {\r\n return _ctxStack;\r\n },\r\n set: function(value) {\r\n _ctxStack = value;\r\n }\r\n });\r\n\r\n /**\r\n * Sets or returns the color, gradient, or pattern used to fill the drawing\r\n *\r\n * @name fillStyle\r\n * @default #000000\r\n * @property {(color|gradient|pattern)} value The color of the drawing. Default value is #000000
    \r\n * A gradient object (linear or radial) used to fill the drawing (not supported by context2d)
    \r\n * A pattern object to use to fill the drawing (not supported by context2d)\r\n */\r\n Object.defineProperty(this, \"fillStyle\", {\r\n get: function() {\r\n return this.ctx.fillStyle;\r\n },\r\n set: function(value) {\r\n var rgba;\r\n rgba = getRGBA(value);\r\n\r\n this.ctx.fillStyle = rgba.style;\r\n this.ctx.isFillTransparent = rgba.a === 0;\r\n this.ctx.fillOpacity = rgba.a;\r\n\r\n this.pdf.setFillColor(rgba.r, rgba.g, rgba.b, { a: rgba.a });\r\n this.pdf.setTextColor(rgba.r, rgba.g, rgba.b, { a: rgba.a });\r\n }\r\n });\r\n\r\n /**\r\n * Sets or returns the color, gradient, or pattern used for strokes\r\n *\r\n * @name strokeStyle\r\n * @default #000000\r\n * @property {color} color A CSS color value that indicates the stroke color of the drawing. Default value is #000000 (not supported by context2d)\r\n * @property {gradient} gradient A gradient object (linear or radial) used to create a gradient stroke (not supported by context2d)\r\n * @property {pattern} pattern A pattern object used to create a pattern stroke (not supported by context2d)\r\n */\r\n Object.defineProperty(this, \"strokeStyle\", {\r\n get: function() {\r\n return this.ctx.strokeStyle;\r\n },\r\n set: function(value) {\r\n var rgba = getRGBA(value);\r\n\r\n this.ctx.strokeStyle = rgba.style;\r\n this.ctx.isStrokeTransparent = rgba.a === 0;\r\n this.ctx.strokeOpacity = rgba.a;\r\n\r\n if (rgba.a === 0) {\r\n this.pdf.setDrawColor(255, 255, 255);\r\n } else if (rgba.a === 1) {\r\n this.pdf.setDrawColor(rgba.r, rgba.g, rgba.b);\r\n } else {\r\n this.pdf.setDrawColor(rgba.r, rgba.g, rgba.b);\r\n }\r\n }\r\n });\r\n\r\n /**\r\n * Sets or returns the style of the end caps for a line\r\n *\r\n * @name lineCap\r\n * @default butt\r\n * @property {(butt|round|square)} lineCap butt A flat edge is added to each end of the line
    \r\n * round A rounded end cap is added to each end of the line
    \r\n * square A square end cap is added to each end of the line
    \r\n */\r\n Object.defineProperty(this, \"lineCap\", {\r\n get: function() {\r\n return this.ctx.lineCap;\r\n },\r\n set: function(value) {\r\n if ([\"butt\", \"round\", \"square\"].indexOf(value) !== -1) {\r\n this.ctx.lineCap = value;\r\n this.pdf.setLineCap(value);\r\n }\r\n }\r\n });\r\n\r\n /**\r\n * Sets or returns the current line width\r\n *\r\n * @name lineWidth\r\n * @default 1\r\n * @property {number} lineWidth The current line width, in pixels\r\n */\r\n Object.defineProperty(this, \"lineWidth\", {\r\n get: function() {\r\n return this.ctx.lineWidth;\r\n },\r\n set: function(value) {\r\n if (!isNaN(value)) {\r\n this.ctx.lineWidth = value;\r\n this.pdf.setLineWidth(value);\r\n }\r\n }\r\n });\r\n\r\n /**\r\n * Sets or returns the type of corner created, when two lines meet\r\n */\r\n Object.defineProperty(this, \"lineJoin\", {\r\n get: function() {\r\n return this.ctx.lineJoin;\r\n },\r\n set: function(value) {\r\n if ([\"bevel\", \"round\", \"miter\"].indexOf(value) !== -1) {\r\n this.ctx.lineJoin = value;\r\n this.pdf.setLineJoin(value);\r\n }\r\n }\r\n });\r\n\r\n /**\r\n * A number specifying the miter limit ratio in coordinate space units. Zero, negative, Infinity, and NaN values are ignored. The default value is 10.0.\r\n *\r\n * @name miterLimit\r\n * @default 10\r\n */\r\n Object.defineProperty(this, \"miterLimit\", {\r\n get: function() {\r\n return this.ctx.miterLimit;\r\n },\r\n set: function(value) {\r\n if (!isNaN(value)) {\r\n this.ctx.miterLimit = value;\r\n this.pdf.setMiterLimit(value);\r\n }\r\n }\r\n });\r\n\r\n Object.defineProperty(this, \"textBaseline\", {\r\n get: function() {\r\n return this.ctx.textBaseline;\r\n },\r\n set: function(value) {\r\n this.ctx.textBaseline = value;\r\n }\r\n });\r\n\r\n Object.defineProperty(this, \"textAlign\", {\r\n get: function() {\r\n return this.ctx.textAlign;\r\n },\r\n set: function(value) {\r\n if ([\"right\", \"end\", \"center\", \"left\", \"start\"].indexOf(value) !== -1) {\r\n this.ctx.textAlign = value;\r\n }\r\n }\r\n });\r\n\r\n var _fontFaceMap = null;\r\n\r\n function getFontFaceMap(pdf, fontFaces) {\r\n if (_fontFaceMap === null) {\r\n var fontMap = pdf.getFontList();\r\n\r\n var convertedFontFaces = convertToFontFaces(fontMap);\r\n\r\n _fontFaceMap = buildFontFaceMap(convertedFontFaces.concat(fontFaces));\r\n }\r\n\r\n return _fontFaceMap;\r\n }\r\n\r\n function convertToFontFaces(fontMap) {\r\n var fontFaces = [];\r\n\r\n Object.keys(fontMap).forEach(function(family) {\r\n var styles = fontMap[family];\r\n\r\n styles.forEach(function(style) {\r\n var fontFace = null;\r\n\r\n switch (style) {\r\n case \"bold\":\r\n fontFace = {\r\n family: family,\r\n weight: \"bold\"\r\n };\r\n break;\r\n\r\n case \"italic\":\r\n fontFace = {\r\n family: family,\r\n style: \"italic\"\r\n };\r\n break;\r\n\r\n case \"bolditalic\":\r\n fontFace = {\r\n family: family,\r\n weight: \"bold\",\r\n style: \"italic\"\r\n };\r\n break;\r\n\r\n case \"\":\r\n case \"normal\":\r\n fontFace = {\r\n family: family\r\n };\r\n break;\r\n }\r\n\r\n // If font-face is still null here, it is a font with some styling we don't recognize and\r\n // cannot map or it is a font added via the fontFaces option of .html().\r\n if (fontFace !== null) {\r\n fontFace.ref = {\r\n name: family,\r\n style: style\r\n };\r\n\r\n fontFaces.push(fontFace);\r\n }\r\n });\r\n });\r\n\r\n return fontFaces;\r\n }\r\n\r\n var _fontFaces = null;\r\n /**\r\n * A map of available font-faces, as passed in the options of\r\n * .html(). If set a limited implementation of the font style matching\r\n * algorithm defined by https://www.w3.org/TR/css-fonts-3/#font-matching-algorithm\r\n * will be used. If not set it will fallback to previous behavior.\r\n */\r\n\r\n Object.defineProperty(this, \"fontFaces\", {\r\n get: function() {\r\n return _fontFaces;\r\n },\r\n set: function(value) {\r\n _fontFaceMap = null;\r\n _fontFaces = value;\r\n }\r\n });\r\n\r\n Object.defineProperty(this, \"font\", {\r\n get: function() {\r\n return this.ctx.font;\r\n },\r\n set: function(value) {\r\n this.ctx.font = value;\r\n var rx, matches;\r\n\r\n //source: https://stackoverflow.com/a/10136041\r\n // eslint-disable-next-line no-useless-escape\r\n rx = /^\\s*(?=(?:(?:[-a-z]+\\s*){0,2}(italic|oblique))?)(?=(?:(?:[-a-z]+\\s*){0,2}(small-caps))?)(?=(?:(?:[-a-z]+\\s*){0,2}(bold(?:er)?|lighter|[1-9]00))?)(?:(?:normal|\\1|\\2|\\3)\\s*){0,3}((?:xx?-)?(?:small|large)|medium|smaller|larger|[.\\d]+(?:\\%|in|[cem]m|ex|p[ctx]))(?:\\s*\\/\\s*(normal|[.\\d]+(?:\\%|in|[cem]m|ex|p[ctx])))?\\s*([-_,\\\"\\'\\sa-z]+?)\\s*$/i;\r\n matches = rx.exec(value);\r\n if (matches !== null) {\r\n var fontStyle = matches[1];\r\n var fontVariant = matches[2];\r\n var fontWeight = matches[3];\r\n var fontSize = matches[4];\r\n var lineHeight = matches[5];\r\n var fontFamily = matches[6];\r\n } else {\r\n return;\r\n }\r\n var rxFontSize = /^([.\\d]+)((?:%|in|[cem]m|ex|p[ctx]))$/i;\r\n var fontSizeUnit = rxFontSize.exec(fontSize)[2];\r\n\r\n if (\"px\" === fontSizeUnit) {\r\n fontSize = Math.floor(\r\n parseFloat(fontSize) * this.pdf.internal.scaleFactor\r\n );\r\n } else if (\"em\" === fontSizeUnit) {\r\n fontSize = Math.floor(parseFloat(fontSize) * this.pdf.getFontSize());\r\n } else {\r\n fontSize = Math.floor(\r\n parseFloat(fontSize) * this.pdf.internal.scaleFactor\r\n );\r\n }\r\n\r\n this.pdf.setFontSize(fontSize);\r\n var parts = parseFontFamily(fontFamily);\r\n\r\n if (this.fontFaces) {\r\n var fontFaceMap = getFontFaceMap(this.pdf, this.fontFaces);\r\n\r\n var rules = parts.map(function(ff) {\r\n return {\r\n family: ff,\r\n stretch: \"normal\", // TODO: Extract font-stretch from font rule (perhaps write proper parser for it?)\r\n weight: fontWeight,\r\n style: fontStyle\r\n };\r\n });\r\n\r\n var font = resolveFontFace(fontFaceMap, rules);\r\n this.pdf.setFont(font.ref.name, font.ref.style);\r\n return;\r\n }\r\n\r\n var style = \"\";\r\n if (\r\n fontWeight === \"bold\" ||\r\n parseInt(fontWeight, 10) >= 700 ||\r\n fontStyle === \"bold\"\r\n ) {\r\n style = \"bold\";\r\n }\r\n\r\n if (fontStyle === \"italic\") {\r\n style += \"italic\";\r\n }\r\n\r\n if (style.length === 0) {\r\n style = \"normal\";\r\n }\r\n var jsPdfFontName = \"\";\r\n\r\n var fallbackFonts = {\r\n arial: \"Helvetica\",\r\n Arial: \"Helvetica\",\r\n verdana: \"Helvetica\",\r\n Verdana: \"Helvetica\",\r\n helvetica: \"Helvetica\",\r\n Helvetica: \"Helvetica\",\r\n \"sans-serif\": \"Helvetica\",\r\n fixed: \"Courier\",\r\n monospace: \"Courier\",\r\n terminal: \"Courier\",\r\n cursive: \"Times\",\r\n fantasy: \"Times\",\r\n serif: \"Times\"\r\n };\r\n\r\n for (var i = 0; i < parts.length; i++) {\r\n if (\r\n this.pdf.internal.getFont(parts[i], style, {\r\n noFallback: true,\r\n disableWarning: true\r\n }) !== undefined\r\n ) {\r\n jsPdfFontName = parts[i];\r\n break;\r\n } else if (\r\n style === \"bolditalic\" &&\r\n this.pdf.internal.getFont(parts[i], \"bold\", {\r\n noFallback: true,\r\n disableWarning: true\r\n }) !== undefined\r\n ) {\r\n jsPdfFontName = parts[i];\r\n style = \"bold\";\r\n } else if (\r\n this.pdf.internal.getFont(parts[i], \"normal\", {\r\n noFallback: true,\r\n disableWarning: true\r\n }) !== undefined\r\n ) {\r\n jsPdfFontName = parts[i];\r\n style = \"normal\";\r\n break;\r\n }\r\n }\r\n if (jsPdfFontName === \"\") {\r\n for (var j = 0; j < parts.length; j++) {\r\n if (fallbackFonts[parts[j]]) {\r\n jsPdfFontName = fallbackFonts[parts[j]];\r\n break;\r\n }\r\n }\r\n }\r\n jsPdfFontName = jsPdfFontName === \"\" ? \"Times\" : jsPdfFontName;\r\n this.pdf.setFont(jsPdfFontName, style);\r\n }\r\n });\r\n\r\n Object.defineProperty(this, \"globalCompositeOperation\", {\r\n get: function() {\r\n return this.ctx.globalCompositeOperation;\r\n },\r\n set: function(value) {\r\n this.ctx.globalCompositeOperation = value;\r\n }\r\n });\r\n\r\n Object.defineProperty(this, \"globalAlpha\", {\r\n get: function() {\r\n return this.ctx.globalAlpha;\r\n },\r\n set: function(value) {\r\n this.ctx.globalAlpha = value;\r\n }\r\n });\r\n\r\n /**\r\n * A float specifying the amount of the line dash offset. The default value is 0.0.\r\n *\r\n * @name lineDashOffset\r\n * @default 0.0\r\n */\r\n Object.defineProperty(this, \"lineDashOffset\", {\r\n get: function() {\r\n return this.ctx.lineDashOffset;\r\n },\r\n set: function(value) {\r\n this.ctx.lineDashOffset = value;\r\n setLineDash.call(this);\r\n }\r\n });\r\n\r\n // Not HTML API\r\n Object.defineProperty(this, \"lineDash\", {\r\n get: function() {\r\n return this.ctx.lineDash;\r\n },\r\n set: function(value) {\r\n this.ctx.lineDash = value;\r\n setLineDash.call(this);\r\n }\r\n });\r\n\r\n // Not HTML API\r\n Object.defineProperty(this, \"ignoreClearRect\", {\r\n get: function() {\r\n return this.ctx.ignoreClearRect;\r\n },\r\n set: function(value) {\r\n this.ctx.ignoreClearRect = Boolean(value);\r\n }\r\n });\r\n };\r\n\r\n /**\r\n * Sets the line dash pattern used when stroking lines.\r\n * @name setLineDash\r\n * @function\r\n * @description It uses an array of values that specify alternating lengths of lines and gaps which describe the pattern.\r\n */\r\n Context2D.prototype.setLineDash = function(dashArray) {\r\n this.lineDash = dashArray;\r\n };\r\n\r\n /**\r\n * gets the current line dash pattern.\r\n * @name getLineDash\r\n * @function\r\n * @returns {Array} An Array of numbers that specify distances to alternately draw a line and a gap (in coordinate space units). If the number, when setting the elements, is odd, the elements of the array get copied and concatenated. For example, setting the line dash to [5, 15, 25] will result in getting back [5, 15, 25, 5, 15, 25].\r\n */\r\n Context2D.prototype.getLineDash = function() {\r\n if (this.lineDash.length % 2) {\r\n // https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/getLineDash#return_value\r\n return this.lineDash.concat(this.lineDash);\r\n } else {\r\n // The copied value is returned to prevent contamination from outside.\r\n return this.lineDash.slice();\r\n }\r\n };\r\n\r\n Context2D.prototype.fill = function() {\r\n pathPreProcess.call(this, \"fill\", false);\r\n };\r\n\r\n /**\r\n * Actually draws the path you have defined\r\n *\r\n * @name stroke\r\n * @function\r\n * @description The stroke() method actually draws the path you have defined with all those moveTo() and lineTo() methods. The default color is black.\r\n */\r\n Context2D.prototype.stroke = function() {\r\n pathPreProcess.call(this, \"stroke\", false);\r\n };\r\n\r\n /**\r\n * Begins a path, or resets the current\r\n *\r\n * @name beginPath\r\n * @function\r\n * @description The beginPath() method begins a path, or resets the current path.\r\n */\r\n Context2D.prototype.beginPath = function() {\r\n this.path = [\r\n {\r\n type: \"begin\"\r\n }\r\n ];\r\n };\r\n\r\n /**\r\n * Moves the path to the specified point in the canvas, without creating a line\r\n *\r\n * @name moveTo\r\n * @function\r\n * @param x {Number} The x-coordinate of where to move the path to\r\n * @param y {Number} The y-coordinate of where to move the path to\r\n */\r\n Context2D.prototype.moveTo = function(x, y) {\r\n if (isNaN(x) || isNaN(y)) {\r\n console.error(\"jsPDF.context2d.moveTo: Invalid arguments\", arguments);\r\n throw new Error(\"Invalid arguments passed to jsPDF.context2d.moveTo\");\r\n }\r\n\r\n var pt = this.ctx.transform.applyToPoint(new Point(x, y));\r\n\r\n this.path.push({\r\n type: \"mt\",\r\n x: pt.x,\r\n y: pt.y\r\n });\r\n this.ctx.lastPoint = new Point(x, y);\r\n };\r\n\r\n /**\r\n * Creates a path from the current point back to the starting point\r\n *\r\n * @name closePath\r\n * @function\r\n * @description The closePath() method creates a path from the current point back to the starting point.\r\n */\r\n Context2D.prototype.closePath = function() {\r\n var pathBegin = new Point(0, 0);\r\n var i = 0;\r\n for (i = this.path.length - 1; i !== -1; i--) {\r\n if (this.path[i].type === \"begin\") {\r\n if (\r\n typeof this.path[i + 1] === \"object\" &&\r\n typeof this.path[i + 1].x === \"number\"\r\n ) {\r\n pathBegin = new Point(this.path[i + 1].x, this.path[i + 1].y);\r\n break;\r\n }\r\n }\r\n }\r\n this.path.push({\r\n type: \"close\"\r\n });\r\n this.ctx.lastPoint = new Point(pathBegin.x, pathBegin.y);\r\n };\r\n\r\n /**\r\n * Adds a new point and creates a line to that point from the last specified point in the canvas\r\n *\r\n * @name lineTo\r\n * @function\r\n * @param x The x-coordinate of where to create the line to\r\n * @param y The y-coordinate of where to create the line to\r\n * @description The lineTo() method adds a new point and creates a line TO that point FROM the last specified point in the canvas (this method does not draw the line).\r\n */\r\n Context2D.prototype.lineTo = function(x, y) {\r\n if (isNaN(x) || isNaN(y)) {\r\n console.error(\"jsPDF.context2d.lineTo: Invalid arguments\", arguments);\r\n throw new Error(\"Invalid arguments passed to jsPDF.context2d.lineTo\");\r\n }\r\n\r\n var pt = this.ctx.transform.applyToPoint(new Point(x, y));\r\n\r\n this.path.push({\r\n type: \"lt\",\r\n x: pt.x,\r\n y: pt.y\r\n });\r\n this.ctx.lastPoint = new Point(pt.x, pt.y);\r\n };\r\n\r\n /**\r\n * Clips a region of any shape and size from the original canvas\r\n *\r\n * @name clip\r\n * @function\r\n * @description The clip() method clips a region of any shape and size from the original canvas.\r\n */\r\n Context2D.prototype.clip = function() {\r\n this.ctx.clip_path = JSON.parse(JSON.stringify(this.path));\r\n pathPreProcess.call(this, null, true);\r\n };\r\n\r\n /**\r\n * Creates a cubic Bézier curve\r\n *\r\n * @name quadraticCurveTo\r\n * @function\r\n * @param cpx {Number} The x-coordinate of the Bézier control point\r\n * @param cpy {Number} The y-coordinate of the Bézier control point\r\n * @param x {Number} The x-coordinate of the ending point\r\n * @param y {Number} The y-coordinate of the ending point\r\n * @description The quadraticCurveTo() method adds a point to the current path by using the specified control points that represent a quadratic Bézier curve.

    A quadratic Bézier curve requires two points. The first point is a control point that is used in the quadratic Bézier calculation and the second point is the ending point for the curve. The starting point for the curve is the last point in the current path. If a path does not exist, use the beginPath() and moveTo() methods to define a starting point.\r\n */\r\n Context2D.prototype.quadraticCurveTo = function(cpx, cpy, x, y) {\r\n if (isNaN(x) || isNaN(y) || isNaN(cpx) || isNaN(cpy)) {\r\n console.error(\r\n \"jsPDF.context2d.quadraticCurveTo: Invalid arguments\",\r\n arguments\r\n );\r\n throw new Error(\r\n \"Invalid arguments passed to jsPDF.context2d.quadraticCurveTo\"\r\n );\r\n }\r\n\r\n var pt0 = this.ctx.transform.applyToPoint(new Point(x, y));\r\n var pt1 = this.ctx.transform.applyToPoint(new Point(cpx, cpy));\r\n\r\n this.path.push({\r\n type: \"qct\",\r\n x1: pt1.x,\r\n y1: pt1.y,\r\n x: pt0.x,\r\n y: pt0.y\r\n });\r\n this.ctx.lastPoint = new Point(pt0.x, pt0.y);\r\n };\r\n\r\n /**\r\n * Creates a cubic Bézier curve\r\n *\r\n * @name bezierCurveTo\r\n * @function\r\n * @param cp1x {Number} The x-coordinate of the first Bézier control point\r\n * @param cp1y {Number} The y-coordinate of the first Bézier control point\r\n * @param cp2x {Number} The x-coordinate of the second Bézier control point\r\n * @param cp2y {Number} The y-coordinate of the second Bézier control point\r\n * @param x {Number} The x-coordinate of the ending point\r\n * @param y {Number} The y-coordinate of the ending point\r\n * @description The bezierCurveTo() method adds a point to the current path by using the specified control points that represent a cubic Bézier curve.

    A cubic bezier curve requires three points. The first two points are control points that are used in the cubic Bézier calculation and the last point is the ending point for the curve. The starting point for the curve is the last point in the current path. If a path does not exist, use the beginPath() and moveTo() methods to define a starting point.\r\n */\r\n Context2D.prototype.bezierCurveTo = function(cp1x, cp1y, cp2x, cp2y, x, y) {\r\n if (\r\n isNaN(x) ||\r\n isNaN(y) ||\r\n isNaN(cp1x) ||\r\n isNaN(cp1y) ||\r\n isNaN(cp2x) ||\r\n isNaN(cp2y)\r\n ) {\r\n console.error(\r\n \"jsPDF.context2d.bezierCurveTo: Invalid arguments\",\r\n arguments\r\n );\r\n throw new Error(\r\n \"Invalid arguments passed to jsPDF.context2d.bezierCurveTo\"\r\n );\r\n }\r\n var pt0 = this.ctx.transform.applyToPoint(new Point(x, y));\r\n var pt1 = this.ctx.transform.applyToPoint(new Point(cp1x, cp1y));\r\n var pt2 = this.ctx.transform.applyToPoint(new Point(cp2x, cp2y));\r\n\r\n this.path.push({\r\n type: \"bct\",\r\n x1: pt1.x,\r\n y1: pt1.y,\r\n x2: pt2.x,\r\n y2: pt2.y,\r\n x: pt0.x,\r\n y: pt0.y\r\n });\r\n this.ctx.lastPoint = new Point(pt0.x, pt0.y);\r\n };\r\n\r\n /**\r\n * Creates an arc/curve (used to create circles, or parts of circles)\r\n *\r\n * @name arc\r\n * @function\r\n * @param x {Number} The x-coordinate of the center of the circle\r\n * @param y {Number} The y-coordinate of the center of the circle\r\n * @param radius {Number} The radius of the circle\r\n * @param startAngle {Number} The starting angle, in radians (0 is at the 3 o'clock position of the arc's circle)\r\n * @param endAngle {Number} The ending angle, in radians\r\n * @param counterclockwise {Boolean} Optional. Specifies whether the drawing should be counterclockwise or clockwise. False is default, and indicates clockwise, while true indicates counter-clockwise.\r\n * @description The arc() method creates an arc/curve (used to create circles, or parts of circles).\r\n */\r\n Context2D.prototype.arc = function(\r\n x,\r\n y,\r\n radius,\r\n startAngle,\r\n endAngle,\r\n counterclockwise\r\n ) {\r\n if (\r\n isNaN(x) ||\r\n isNaN(y) ||\r\n isNaN(radius) ||\r\n isNaN(startAngle) ||\r\n isNaN(endAngle)\r\n ) {\r\n console.error(\"jsPDF.context2d.arc: Invalid arguments\", arguments);\r\n throw new Error(\"Invalid arguments passed to jsPDF.context2d.arc\");\r\n }\r\n counterclockwise = Boolean(counterclockwise);\r\n\r\n if (!this.ctx.transform.isIdentity) {\r\n var xpt = this.ctx.transform.applyToPoint(new Point(x, y));\r\n x = xpt.x;\r\n y = xpt.y;\r\n\r\n var x_radPt = this.ctx.transform.applyToPoint(new Point(0, radius));\r\n var x_radPt0 = this.ctx.transform.applyToPoint(new Point(0, 0));\r\n radius = Math.sqrt(\r\n Math.pow(x_radPt.x - x_radPt0.x, 2) +\r\n Math.pow(x_radPt.y - x_radPt0.y, 2)\r\n );\r\n }\r\n if (Math.abs(endAngle - startAngle) >= 2 * Math.PI) {\r\n startAngle = 0;\r\n endAngle = 2 * Math.PI;\r\n }\r\n\r\n this.path.push({\r\n type: \"arc\",\r\n x: x,\r\n y: y,\r\n radius: radius,\r\n startAngle: startAngle,\r\n endAngle: endAngle,\r\n counterclockwise: counterclockwise\r\n });\r\n // this.ctx.lastPoint(new Point(pt.x,pt.y));\r\n };\r\n\r\n /**\r\n * Creates an arc/curve between two tangents\r\n *\r\n * @name arcTo\r\n * @function\r\n * @param x1 {Number} The x-coordinate of the first tangent\r\n * @param y1 {Number} The y-coordinate of the first tangent\r\n * @param x2 {Number} The x-coordinate of the second tangent\r\n * @param y2 {Number} The y-coordinate of the second tangent\r\n * @param radius The radius of the arc\r\n * @description The arcTo() method creates an arc/curve between two tangents on the canvas.\r\n */\r\n // eslint-disable-next-line no-unused-vars\r\n Context2D.prototype.arcTo = function(x1, y1, x2, y2, radius) {\r\n throw new Error(\"arcTo not implemented.\");\r\n };\r\n\r\n /**\r\n * Creates a rectangle\r\n *\r\n * @name rect\r\n * @function\r\n * @param x {Number} The x-coordinate of the upper-left corner of the rectangle\r\n * @param y {Number} The y-coordinate of the upper-left corner of the rectangle\r\n * @param w {Number} The width of the rectangle, in pixels\r\n * @param h {Number} The height of the rectangle, in pixels\r\n * @description The rect() method creates a rectangle.\r\n */\r\n Context2D.prototype.rect = function(x, y, w, h) {\r\n if (isNaN(x) || isNaN(y) || isNaN(w) || isNaN(h)) {\r\n console.error(\"jsPDF.context2d.rect: Invalid arguments\", arguments);\r\n throw new Error(\"Invalid arguments passed to jsPDF.context2d.rect\");\r\n }\r\n this.moveTo(x, y);\r\n this.lineTo(x + w, y);\r\n this.lineTo(x + w, y + h);\r\n this.lineTo(x, y + h);\r\n this.lineTo(x, y);\r\n this.lineTo(x + w, y);\r\n this.lineTo(x, y);\r\n };\r\n\r\n /**\r\n * Draws a \"filled\" rectangle\r\n *\r\n * @name fillRect\r\n * @function\r\n * @param x {Number} The x-coordinate of the upper-left corner of the rectangle\r\n * @param y {Number} The y-coordinate of the upper-left corner of the rectangle\r\n * @param w {Number} The width of the rectangle, in pixels\r\n * @param h {Number} The height of the rectangle, in pixels\r\n * @description The fillRect() method draws a \"filled\" rectangle. The default color of the fill is black.\r\n */\r\n Context2D.prototype.fillRect = function(x, y, w, h) {\r\n if (isNaN(x) || isNaN(y) || isNaN(w) || isNaN(h)) {\r\n console.error(\"jsPDF.context2d.fillRect: Invalid arguments\", arguments);\r\n throw new Error(\"Invalid arguments passed to jsPDF.context2d.fillRect\");\r\n }\r\n if (isFillTransparent.call(this)) {\r\n return;\r\n }\r\n var tmp = {};\r\n if (this.lineCap !== \"butt\") {\r\n tmp.lineCap = this.lineCap;\r\n this.lineCap = \"butt\";\r\n }\r\n if (this.lineJoin !== \"miter\") {\r\n tmp.lineJoin = this.lineJoin;\r\n this.lineJoin = \"miter\";\r\n }\r\n\r\n this.beginPath();\r\n this.rect(x, y, w, h);\r\n this.fill();\r\n\r\n if (tmp.hasOwnProperty(\"lineCap\")) {\r\n this.lineCap = tmp.lineCap;\r\n }\r\n if (tmp.hasOwnProperty(\"lineJoin\")) {\r\n this.lineJoin = tmp.lineJoin;\r\n }\r\n };\r\n\r\n /**\r\n * Draws a rectangle (no fill)\r\n *\r\n * @name strokeRect\r\n * @function\r\n * @param x {Number} The x-coordinate of the upper-left corner of the rectangle\r\n * @param y {Number} The y-coordinate of the upper-left corner of the rectangle\r\n * @param w {Number} The width of the rectangle, in pixels\r\n * @param h {Number} The height of the rectangle, in pixels\r\n * @description The strokeRect() method draws a rectangle (no fill). The default color of the stroke is black.\r\n */\r\n Context2D.prototype.strokeRect = function strokeRect(x, y, w, h) {\r\n if (isNaN(x) || isNaN(y) || isNaN(w) || isNaN(h)) {\r\n console.error(\"jsPDF.context2d.strokeRect: Invalid arguments\", arguments);\r\n throw new Error(\"Invalid arguments passed to jsPDF.context2d.strokeRect\");\r\n }\r\n if (isStrokeTransparent.call(this)) {\r\n return;\r\n }\r\n this.beginPath();\r\n this.rect(x, y, w, h);\r\n this.stroke();\r\n };\r\n\r\n /**\r\n * Clears the specified pixels within a given rectangle\r\n *\r\n * @name clearRect\r\n * @function\r\n * @param x {Number} The x-coordinate of the upper-left corner of the rectangle\r\n * @param y {Number} The y-coordinate of the upper-left corner of the rectangle\r\n * @param w {Number} The width of the rectangle to clear, in pixels\r\n * @param h {Number} The height of the rectangle to clear, in pixels\r\n * @description We cannot clear PDF commands that were already written to PDF, so we use white instead.
    \r\n * As a special case, read a special flag (ignoreClearRect) and do nothing if it is set.\r\n * This results in all calls to clearRect() to do nothing, and keep the canvas transparent.\r\n * This flag is stored in the save/restore context and is managed the same way as other drawing states.\r\n *\r\n */\r\n Context2D.prototype.clearRect = function(x, y, w, h) {\r\n if (isNaN(x) || isNaN(y) || isNaN(w) || isNaN(h)) {\r\n console.error(\"jsPDF.context2d.clearRect: Invalid arguments\", arguments);\r\n throw new Error(\"Invalid arguments passed to jsPDF.context2d.clearRect\");\r\n }\r\n if (this.ignoreClearRect) {\r\n return;\r\n }\r\n\r\n this.fillStyle = \"#ffffff\";\r\n this.fillRect(x, y, w, h);\r\n };\r\n\r\n /**\r\n * Saves the state of the current context\r\n *\r\n * @name save\r\n * @function\r\n */\r\n Context2D.prototype.save = function(doStackPush) {\r\n doStackPush = typeof doStackPush === \"boolean\" ? doStackPush : true;\r\n var tmpPageNumber = this.pdf.internal.getCurrentPageInfo().pageNumber;\r\n for (var i = 0; i < this.pdf.internal.getNumberOfPages(); i++) {\r\n this.pdf.setPage(i + 1);\r\n this.pdf.internal.out(\"q\");\r\n }\r\n this.pdf.setPage(tmpPageNumber);\r\n\r\n if (doStackPush) {\r\n this.ctx.fontSize = this.pdf.internal.getFontSize();\r\n var ctx = new ContextLayer(this.ctx);\r\n this.ctxStack.push(this.ctx);\r\n this.ctx = ctx;\r\n }\r\n };\r\n\r\n /**\r\n * Returns previously saved path state and attributes\r\n *\r\n * @name restore\r\n * @function\r\n */\r\n Context2D.prototype.restore = function(doStackPop) {\r\n doStackPop = typeof doStackPop === \"boolean\" ? doStackPop : true;\r\n var tmpPageNumber = this.pdf.internal.getCurrentPageInfo().pageNumber;\r\n for (var i = 0; i < this.pdf.internal.getNumberOfPages(); i++) {\r\n this.pdf.setPage(i + 1);\r\n this.pdf.internal.out(\"Q\");\r\n }\r\n this.pdf.setPage(tmpPageNumber);\r\n\r\n if (doStackPop && this.ctxStack.length !== 0) {\r\n this.ctx = this.ctxStack.pop();\r\n this.fillStyle = this.ctx.fillStyle;\r\n this.strokeStyle = this.ctx.strokeStyle;\r\n this.font = this.ctx.font;\r\n this.lineCap = this.ctx.lineCap;\r\n this.lineWidth = this.ctx.lineWidth;\r\n this.lineJoin = this.ctx.lineJoin;\r\n this.lineDash = this.ctx.lineDash;\r\n this.lineDashOffset = this.ctx.lineDashOffset;\r\n }\r\n };\r\n\r\n /**\r\n * @name toDataURL\r\n * @function\r\n */\r\n Context2D.prototype.toDataURL = function() {\r\n throw new Error(\"toDataUrl not implemented.\");\r\n };\r\n\r\n //helper functions\r\n\r\n /**\r\n * Get the decimal values of r, g, b and a\r\n *\r\n * @name getRGBA\r\n * @function\r\n * @private\r\n * @ignore\r\n */\r\n var getRGBA = function(style) {\r\n var rxRgb = /rgb\\s*\\(\\s*(\\d+)\\s*,\\s*(\\d+)\\s*,\\s*(\\d+)\\s*\\)/;\r\n var rxRgba = /rgba\\s*\\(\\s*(\\d+)\\s*,\\s*(\\d+)\\s*,\\s*(\\d+)\\s*,\\s*([\\d.]+)\\s*\\)/;\r\n var rxTransparent = /transparent|rgba\\s*\\(\\s*(\\d+)\\s*,\\s*(\\d+)\\s*,\\s*(\\d+)\\s*,\\s*0+\\s*\\)/;\r\n\r\n var r, g, b, a;\r\n\r\n if (style.isCanvasGradient === true) {\r\n style = style.getColor();\r\n }\r\n\r\n if (!style) {\r\n return { r: 0, g: 0, b: 0, a: 0, style: style };\r\n }\r\n\r\n if (rxTransparent.test(style)) {\r\n r = 0;\r\n g = 0;\r\n b = 0;\r\n a = 0;\r\n } else {\r\n var matches = rxRgb.exec(style);\r\n if (matches !== null) {\r\n r = parseInt(matches[1]);\r\n g = parseInt(matches[2]);\r\n b = parseInt(matches[3]);\r\n a = 1;\r\n } else {\r\n matches = rxRgba.exec(style);\r\n if (matches !== null) {\r\n r = parseInt(matches[1]);\r\n g = parseInt(matches[2]);\r\n b = parseInt(matches[3]);\r\n a = parseFloat(matches[4]);\r\n } else {\r\n a = 1;\r\n\r\n if (typeof style === \"string\" && style.charAt(0) !== \"#\") {\r\n var rgbColor = new RGBColor(style);\r\n if (rgbColor.ok) {\r\n style = rgbColor.toHex();\r\n } else {\r\n style = \"#000000\";\r\n }\r\n }\r\n\r\n if (style.length === 4) {\r\n r = style.substring(1, 2);\r\n r += r;\r\n g = style.substring(2, 3);\r\n g += g;\r\n b = style.substring(3, 4);\r\n b += b;\r\n } else {\r\n r = style.substring(1, 3);\r\n g = style.substring(3, 5);\r\n b = style.substring(5, 7);\r\n }\r\n r = parseInt(r, 16);\r\n g = parseInt(g, 16);\r\n b = parseInt(b, 16);\r\n }\r\n }\r\n }\r\n return { r: r, g: g, b: b, a: a, style: style };\r\n };\r\n\r\n /**\r\n * @name isFillTransparent\r\n * @function\r\n * @private\r\n * @ignore\r\n * @returns {Boolean}\r\n */\r\n var isFillTransparent = function() {\r\n return this.ctx.isFillTransparent || this.globalAlpha == 0;\r\n };\r\n\r\n /**\r\n * @name isStrokeTransparent\r\n * @function\r\n * @private\r\n * @ignore\r\n * @returns {Boolean}\r\n */\r\n var isStrokeTransparent = function() {\r\n return Boolean(this.ctx.isStrokeTransparent || this.globalAlpha == 0);\r\n };\r\n\r\n /**\r\n * Draws \"filled\" text on the canvas\r\n *\r\n * @name fillText\r\n * @function\r\n * @param text {String} Specifies the text that will be written on the canvas\r\n * @param x {Number} The x coordinate where to start painting the text (relative to the canvas)\r\n * @param y {Number} The y coordinate where to start painting the text (relative to the canvas)\r\n * @param maxWidth {Number} Optional. The maximum allowed width of the text, in pixels\r\n * @description The fillText() method draws filled text on the canvas. The default color of the text is black.\r\n */\r\n Context2D.prototype.fillText = function(text, x, y, maxWidth) {\r\n if (isNaN(x) || isNaN(y) || typeof text !== \"string\") {\r\n console.error(\"jsPDF.context2d.fillText: Invalid arguments\", arguments);\r\n throw new Error(\"Invalid arguments passed to jsPDF.context2d.fillText\");\r\n }\r\n maxWidth = isNaN(maxWidth) ? undefined : maxWidth;\r\n if (isFillTransparent.call(this)) {\r\n return;\r\n }\r\n\r\n var degs = rad2deg(this.ctx.transform.rotation);\r\n\r\n // We only use X axis as scale hint\r\n var scale = this.ctx.transform.scaleX;\r\n\r\n putText.call(this, {\r\n text: text,\r\n x: x,\r\n y: y,\r\n scale: scale,\r\n angle: degs,\r\n align: this.textAlign,\r\n maxWidth: maxWidth\r\n });\r\n };\r\n\r\n /**\r\n * Draws text on the canvas (no fill)\r\n *\r\n * @name strokeText\r\n * @function\r\n * @param text {String} Specifies the text that will be written on the canvas\r\n * @param x {Number} The x coordinate where to start painting the text (relative to the canvas)\r\n * @param y {Number} The y coordinate where to start painting the text (relative to the canvas)\r\n * @param maxWidth {Number} Optional. The maximum allowed width of the text, in pixels\r\n * @description The strokeText() method draws text (with no fill) on the canvas. The default color of the text is black.\r\n */\r\n Context2D.prototype.strokeText = function(text, x, y, maxWidth) {\r\n if (isNaN(x) || isNaN(y) || typeof text !== \"string\") {\r\n console.error(\"jsPDF.context2d.strokeText: Invalid arguments\", arguments);\r\n throw new Error(\"Invalid arguments passed to jsPDF.context2d.strokeText\");\r\n }\r\n if (isStrokeTransparent.call(this)) {\r\n return;\r\n }\r\n\r\n maxWidth = isNaN(maxWidth) ? undefined : maxWidth;\r\n\r\n var degs = rad2deg(this.ctx.transform.rotation);\r\n var scale = this.ctx.transform.scaleX;\r\n\r\n putText.call(this, {\r\n text: text,\r\n x: x,\r\n y: y,\r\n scale: scale,\r\n renderingMode: \"stroke\",\r\n angle: degs,\r\n align: this.textAlign,\r\n maxWidth: maxWidth\r\n });\r\n };\r\n\r\n /**\r\n * Returns an object that contains the width of the specified text\r\n *\r\n * @name measureText\r\n * @function\r\n * @param text {String} The text to be measured\r\n * @description The measureText() method returns an object that contains the width of the specified text, in pixels.\r\n * @returns {Number}\r\n */\r\n Context2D.prototype.measureText = function(text) {\r\n if (typeof text !== \"string\") {\r\n console.error(\r\n \"jsPDF.context2d.measureText: Invalid arguments\",\r\n arguments\r\n );\r\n throw new Error(\r\n \"Invalid arguments passed to jsPDF.context2d.measureText\"\r\n );\r\n }\r\n var pdf = this.pdf;\r\n var k = this.pdf.internal.scaleFactor;\r\n\r\n var fontSize = pdf.internal.getFontSize();\r\n var txtWidth =\r\n (pdf.getStringUnitWidth(text) * fontSize) / pdf.internal.scaleFactor;\r\n txtWidth *= Math.round(((k * 96) / 72) * 10000) / 10000;\r\n\r\n var TextMetrics = function(options) {\r\n options = options || {};\r\n var _width = options.width || 0;\r\n Object.defineProperty(this, \"width\", {\r\n get: function() {\r\n return _width;\r\n }\r\n });\r\n return this;\r\n };\r\n return new TextMetrics({ width: txtWidth });\r\n };\r\n\r\n //Transformations\r\n\r\n /**\r\n * Scales the current drawing bigger or smaller\r\n *\r\n * @name scale\r\n * @function\r\n * @param scalewidth {Number} Scales the width of the current drawing (1=100%, 0.5=50%, 2=200%, etc.)\r\n * @param scaleheight {Number} Scales the height of the current drawing (1=100%, 0.5=50%, 2=200%, etc.)\r\n * @description The scale() method scales the current drawing, bigger or smaller.\r\n */\r\n Context2D.prototype.scale = function(scalewidth, scaleheight) {\r\n if (isNaN(scalewidth) || isNaN(scaleheight)) {\r\n console.error(\"jsPDF.context2d.scale: Invalid arguments\", arguments);\r\n throw new Error(\"Invalid arguments passed to jsPDF.context2d.scale\");\r\n }\r\n var matrix = new Matrix(scalewidth, 0.0, 0.0, scaleheight, 0.0, 0.0);\r\n this.ctx.transform = this.ctx.transform.multiply(matrix);\r\n };\r\n\r\n /**\r\n * Rotates the current drawing\r\n *\r\n * @name rotate\r\n * @function\r\n * @param angle {Number} The rotation angle, in radians.\r\n * @description To calculate from degrees to radians: degrees*Math.PI/180.
    \r\n * Example: to rotate 5 degrees, specify the following: 5*Math.PI/180\r\n */\r\n Context2D.prototype.rotate = function(angle) {\r\n if (isNaN(angle)) {\r\n console.error(\"jsPDF.context2d.rotate: Invalid arguments\", arguments);\r\n throw new Error(\"Invalid arguments passed to jsPDF.context2d.rotate\");\r\n }\r\n var matrix = new Matrix(\r\n Math.cos(angle),\r\n Math.sin(angle),\r\n -Math.sin(angle),\r\n Math.cos(angle),\r\n 0.0,\r\n 0.0\r\n );\r\n this.ctx.transform = this.ctx.transform.multiply(matrix);\r\n };\r\n\r\n /**\r\n * Remaps the (0,0) position on the canvas\r\n *\r\n * @name translate\r\n * @function\r\n * @param x {Number} The value to add to horizontal (x) coordinates\r\n * @param y {Number} The value to add to vertical (y) coordinates\r\n * @description The translate() method remaps the (0,0) position on the canvas.\r\n */\r\n Context2D.prototype.translate = function(x, y) {\r\n if (isNaN(x) || isNaN(y)) {\r\n console.error(\"jsPDF.context2d.translate: Invalid arguments\", arguments);\r\n throw new Error(\"Invalid arguments passed to jsPDF.context2d.translate\");\r\n }\r\n var matrix = new Matrix(1.0, 0.0, 0.0, 1.0, x, y);\r\n this.ctx.transform = this.ctx.transform.multiply(matrix);\r\n };\r\n\r\n /**\r\n * Replaces the current transformation matrix for the drawing\r\n *\r\n * @name transform\r\n * @function\r\n * @param a {Number} Horizontal scaling\r\n * @param b {Number} Horizontal skewing\r\n * @param c {Number} Vertical skewing\r\n * @param d {Number} Vertical scaling\r\n * @param e {Number} Horizontal moving\r\n * @param f {Number} Vertical moving\r\n * @description Each object on the canvas has a current transformation matrix.

    The transform() method replaces the current transformation matrix. It multiplies the current transformation matrix with the matrix described by:



    a c e

    b d f

    0 0 1

    In other words, the transform() method lets you scale, rotate, move, and skew the current context.\r\n */\r\n Context2D.prototype.transform = function(a, b, c, d, e, f) {\r\n if (isNaN(a) || isNaN(b) || isNaN(c) || isNaN(d) || isNaN(e) || isNaN(f)) {\r\n console.error(\"jsPDF.context2d.transform: Invalid arguments\", arguments);\r\n throw new Error(\"Invalid arguments passed to jsPDF.context2d.transform\");\r\n }\r\n var matrix = new Matrix(a, b, c, d, e, f);\r\n this.ctx.transform = this.ctx.transform.multiply(matrix);\r\n };\r\n\r\n /**\r\n * Resets the current transform to the identity matrix. Then runs transform()\r\n *\r\n * @name setTransform\r\n * @function\r\n * @param a {Number} Horizontal scaling\r\n * @param b {Number} Horizontal skewing\r\n * @param c {Number} Vertical skewing\r\n * @param d {Number} Vertical scaling\r\n * @param e {Number} Horizontal moving\r\n * @param f {Number} Vertical moving\r\n * @description Each object on the canvas has a current transformation matrix.

    The setTransform() method resets the current transform to the identity matrix, and then runs transform() with the same arguments.

    In other words, the setTransform() method lets you scale, rotate, move, and skew the current context.\r\n */\r\n Context2D.prototype.setTransform = function(a, b, c, d, e, f) {\r\n a = isNaN(a) ? 1 : a;\r\n b = isNaN(b) ? 0 : b;\r\n c = isNaN(c) ? 0 : c;\r\n d = isNaN(d) ? 1 : d;\r\n e = isNaN(e) ? 0 : e;\r\n f = isNaN(f) ? 0 : f;\r\n this.ctx.transform = new Matrix(a, b, c, d, e, f);\r\n };\r\n\r\n /**\r\n * Should only be used if pageWrapYEnabled is true\r\n *\r\n * @name setPageByYPosition\r\n * @function\r\n * @private\r\n * @ignore\r\n * @returns One-based Page Number\r\n */\r\n var setPageByYPosition = function(y) {\r\n if (this.pageWrapYEnabled) {\r\n this.lastBreak = 0;\r\n var manualBreaks = 0;\r\n var autoBreaks = 0;\r\n for (var i = 0; i < this.pageBreaks.length; i++) {\r\n if (y >= this.pageBreaks[i]) {\r\n manualBreaks++;\r\n if (this.lastBreak === 0) {\r\n autoBreaks++;\r\n }\r\n var spaceBetweenLastBreak = this.pageBreaks[i] - this.lastBreak;\r\n this.lastBreak = this.pageBreaks[i];\r\n var pagesSinceLastBreak = Math.floor(\r\n spaceBetweenLastBreak / this.pageWrapY\r\n );\r\n autoBreaks += pagesSinceLastBreak;\r\n }\r\n }\r\n if (this.lastBreak === 0) {\r\n var pagesSinceLastBreak = Math.floor(y / this.pageWrapY) + 1;\r\n autoBreaks += pagesSinceLastBreak;\r\n }\r\n return autoBreaks + manualBreaks;\r\n } else {\r\n return this.pdf.internal.getCurrentPageInfo().pageNumber;\r\n }\r\n };\r\n\r\n var hasMargins = function() {\r\n return (\r\n this.margin[0] > 0 ||\r\n this.margin[1] > 0 ||\r\n this.margin[2] > 0 ||\r\n this.margin[3] > 0\r\n );\r\n };\r\n\r\n /**\r\n * Draws an image, canvas, or video onto the canvas\r\n *\r\n * @function\r\n * @param img {} Specifies the image, canvas, or video element to use\r\n * @param sx {Number} Optional. The x coordinate where to start clipping\r\n * @param sy {Number} Optional. The y coordinate where to start clipping\r\n * @param swidth {Number} Optional. The width of the clipped image\r\n * @param sheight {Number} Optional. The height of the clipped image\r\n * @param x {Number} The x coordinate where to place the image on the canvas\r\n * @param y {Number} The y coordinate where to place the image on the canvas\r\n * @param width {Number} Optional. The width of the image to use (stretch or reduce the image)\r\n * @param height {Number} Optional. The height of the image to use (stretch or reduce the image)\r\n */\r\n Context2D.prototype.drawImage = function(\r\n img,\r\n sx,\r\n sy,\r\n swidth,\r\n sheight,\r\n x,\r\n y,\r\n width,\r\n height\r\n ) {\r\n var imageProperties = this.pdf.getImageProperties(img);\r\n var factorX = 1;\r\n var factorY = 1;\r\n var isClip;\r\n\r\n var clipFactorX = 1;\r\n var clipFactorY = 1;\r\n\r\n if (typeof swidth !== \"undefined\" && typeof width !== \"undefined\") {\r\n isClip = true;\r\n clipFactorX = width / swidth;\r\n clipFactorY = height / sheight;\r\n factorX = ((imageProperties.width / swidth) * width) / swidth;\r\n factorY = ((imageProperties.height / sheight) * height) / sheight;\r\n }\r\n\r\n //is sx and sy are set and x and y not, set x and y with values of sx and sy\r\n if (typeof x === \"undefined\") {\r\n x = sx;\r\n y = sy;\r\n sx = 0;\r\n sy = 0;\r\n }\r\n\r\n if (typeof swidth !== \"undefined\" && typeof width === \"undefined\") {\r\n width = swidth;\r\n height = sheight;\r\n }\r\n if (typeof swidth === \"undefined\" && typeof width === \"undefined\") {\r\n width = imageProperties.width;\r\n height = imageProperties.height;\r\n }\r\n\r\n var decomposedTransformationMatrix = this.ctx.transform.decompose();\r\n var angle = rad2deg(decomposedTransformationMatrix.rotate.shx);\r\n var matrix = new Matrix();\r\n matrix = matrix.multiply(decomposedTransformationMatrix.translate);\r\n matrix = matrix.multiply(decomposedTransformationMatrix.skew);\r\n matrix = matrix.multiply(decomposedTransformationMatrix.scale);\r\n var xRect = matrix.applyToRectangle(\r\n new Rectangle(\r\n x - sx * clipFactorX,\r\n y - sy * clipFactorY,\r\n swidth * factorX,\r\n sheight * factorY\r\n )\r\n );\r\n var pageArray = getPagesByPath.call(this, xRect);\r\n var pages = [];\r\n for (var ii = 0; ii < pageArray.length; ii += 1) {\r\n if (pages.indexOf(pageArray[ii]) === -1) {\r\n pages.push(pageArray[ii]);\r\n }\r\n }\r\n\r\n sortPages(pages);\r\n\r\n var clipPath;\r\n if (this.autoPaging) {\r\n var min = pages[0];\r\n var max = pages[pages.length - 1];\r\n for (var i = min; i < max + 1; i++) {\r\n this.pdf.setPage(i);\r\n\r\n var pageWidthMinusMargins =\r\n this.pdf.internal.pageSize.width - this.margin[3] - this.margin[1];\r\n var topMargin = i === 1 ? this.posY + this.margin[0] : this.margin[0];\r\n var firstPageHeight =\r\n this.pdf.internal.pageSize.height -\r\n this.posY -\r\n this.margin[0] -\r\n this.margin[2];\r\n var pageHeightMinusMargins =\r\n this.pdf.internal.pageSize.height - this.margin[0] - this.margin[2];\r\n var previousPageHeightSum =\r\n i === 1 ? 0 : firstPageHeight + (i - 2) * pageHeightMinusMargins;\r\n\r\n if (this.ctx.clip_path.length !== 0) {\r\n var tmpPaths = this.path;\r\n clipPath = JSON.parse(JSON.stringify(this.ctx.clip_path));\r\n this.path = pathPositionRedo(\r\n clipPath,\r\n this.posX + this.margin[3],\r\n -previousPageHeightSum + topMargin + this.ctx.prevPageLastElemOffset\r\n );\r\n drawPaths.call(this, \"fill\", true);\r\n this.path = tmpPaths;\r\n }\r\n var tmpRect = JSON.parse(JSON.stringify(xRect));\r\n tmpRect = pathPositionRedo(\r\n [tmpRect],\r\n this.posX + this.margin[3],\r\n -previousPageHeightSum + topMargin + this.ctx.prevPageLastElemOffset\r\n )[0];\r\n\r\n const needsClipping = (i > min || i < max) && hasMargins.call(this);\r\n\r\n if (needsClipping) {\r\n this.pdf.saveGraphicsState();\r\n this.pdf\r\n .rect(\r\n this.margin[3],\r\n this.margin[0],\r\n pageWidthMinusMargins,\r\n pageHeightMinusMargins,\r\n null\r\n )\r\n .clip()\r\n .discardPath();\r\n }\r\n this.pdf.addImage(\r\n img,\r\n \"JPEG\",\r\n tmpRect.x,\r\n tmpRect.y,\r\n tmpRect.w,\r\n tmpRect.h,\r\n null,\r\n null,\r\n angle\r\n );\r\n if (needsClipping) {\r\n this.pdf.restoreGraphicsState();\r\n }\r\n }\r\n } else {\r\n this.pdf.addImage(\r\n img,\r\n \"JPEG\",\r\n xRect.x,\r\n xRect.y,\r\n xRect.w,\r\n xRect.h,\r\n null,\r\n null,\r\n angle\r\n );\r\n }\r\n };\r\n\r\n var getPagesByPath = function(path, pageWrapX, pageWrapY) {\r\n var result = [];\r\n pageWrapX = pageWrapX || this.pdf.internal.pageSize.width;\r\n pageWrapY =\r\n pageWrapY ||\r\n this.pdf.internal.pageSize.height - this.margin[0] - this.margin[2];\r\n var yOffset = this.posY + this.ctx.prevPageLastElemOffset;\r\n\r\n switch (path.type) {\r\n default:\r\n case \"mt\":\r\n case \"lt\":\r\n result.push(Math.floor((path.y + yOffset) / pageWrapY) + 1);\r\n break;\r\n case \"arc\":\r\n result.push(\r\n Math.floor((path.y + yOffset - path.radius) / pageWrapY) + 1\r\n );\r\n result.push(\r\n Math.floor((path.y + yOffset + path.radius) / pageWrapY) + 1\r\n );\r\n break;\r\n case \"qct\":\r\n var rectOfQuadraticCurve = getQuadraticCurveBoundary(\r\n this.ctx.lastPoint.x,\r\n this.ctx.lastPoint.y,\r\n path.x1,\r\n path.y1,\r\n path.x,\r\n path.y\r\n );\r\n result.push(\r\n Math.floor((rectOfQuadraticCurve.y + yOffset) / pageWrapY) + 1\r\n );\r\n result.push(\r\n Math.floor(\r\n (rectOfQuadraticCurve.y + rectOfQuadraticCurve.h + yOffset) /\r\n pageWrapY\r\n ) + 1\r\n );\r\n break;\r\n case \"bct\":\r\n var rectOfBezierCurve = getBezierCurveBoundary(\r\n this.ctx.lastPoint.x,\r\n this.ctx.lastPoint.y,\r\n path.x1,\r\n path.y1,\r\n path.x2,\r\n path.y2,\r\n path.x,\r\n path.y\r\n );\r\n result.push(\r\n Math.floor((rectOfBezierCurve.y + yOffset) / pageWrapY) + 1\r\n );\r\n result.push(\r\n Math.floor(\r\n (rectOfBezierCurve.y + rectOfBezierCurve.h + yOffset) / pageWrapY\r\n ) + 1\r\n );\r\n break;\r\n case \"rect\":\r\n result.push(Math.floor((path.y + yOffset) / pageWrapY) + 1);\r\n result.push(Math.floor((path.y + path.h + yOffset) / pageWrapY) + 1);\r\n }\r\n\r\n for (var i = 0; i < result.length; i += 1) {\r\n while (this.pdf.internal.getNumberOfPages() < result[i]) {\r\n addPage.call(this);\r\n }\r\n }\r\n return result;\r\n };\r\n\r\n var addPage = function() {\r\n var fillStyle = this.fillStyle;\r\n var strokeStyle = this.strokeStyle;\r\n var font = this.font;\r\n var lineCap = this.lineCap;\r\n var lineWidth = this.lineWidth;\r\n var lineJoin = this.lineJoin;\r\n this.pdf.addPage();\r\n this.fillStyle = fillStyle;\r\n this.strokeStyle = strokeStyle;\r\n this.font = font;\r\n this.lineCap = lineCap;\r\n this.lineWidth = lineWidth;\r\n this.lineJoin = lineJoin;\r\n };\r\n\r\n var pathPositionRedo = function(paths, x, y) {\r\n for (var i = 0; i < paths.length; i++) {\r\n switch (paths[i].type) {\r\n case \"bct\":\r\n paths[i].x2 += x;\r\n paths[i].y2 += y;\r\n case \"qct\":\r\n paths[i].x1 += x;\r\n paths[i].y1 += y;\r\n case \"mt\":\r\n case \"lt\":\r\n case \"arc\":\r\n default:\r\n paths[i].x += x;\r\n paths[i].y += y;\r\n }\r\n }\r\n return paths;\r\n };\r\n\r\n var sortPages = function(pages) {\r\n return pages.sort(function(a, b) {\r\n return a - b;\r\n });\r\n };\r\n\r\n var pathPreProcess = function(rule, isClip) {\r\n var fillStyle = this.fillStyle;\r\n var strokeStyle = this.strokeStyle;\r\n var lineCap = this.lineCap;\r\n var oldLineWidth = this.lineWidth;\r\n var lineWidth = Math.abs(oldLineWidth * this.ctx.transform.scaleX);\r\n var lineJoin = this.lineJoin;\r\n\r\n var origPath = JSON.parse(JSON.stringify(this.path));\r\n var xPath = JSON.parse(JSON.stringify(this.path));\r\n var clipPath;\r\n var tmpPath;\r\n var pages = [];\r\n\r\n for (var i = 0; i < xPath.length; i++) {\r\n if (typeof xPath[i].x !== \"undefined\") {\r\n var page = getPagesByPath.call(this, xPath[i]);\r\n\r\n for (var ii = 0; ii < page.length; ii += 1) {\r\n if (pages.indexOf(page[ii]) === -1) {\r\n pages.push(page[ii]);\r\n }\r\n }\r\n }\r\n }\r\n\r\n for (var j = 0; j < pages.length; j++) {\r\n while (this.pdf.internal.getNumberOfPages() < pages[j]) {\r\n addPage.call(this);\r\n }\r\n }\r\n sortPages(pages);\r\n\r\n if (this.autoPaging) {\r\n var min = pages[0];\r\n var max = pages[pages.length - 1];\r\n for (var k = min; k < max + 1; k++) {\r\n this.pdf.setPage(k);\r\n\r\n this.fillStyle = fillStyle;\r\n this.strokeStyle = strokeStyle;\r\n this.lineCap = lineCap;\r\n this.lineWidth = lineWidth;\r\n this.lineJoin = lineJoin;\r\n\r\n var pageWidthMinusMargins =\r\n this.pdf.internal.pageSize.width - this.margin[3] - this.margin[1];\r\n var topMargin = k === 1 ? this.posY + this.margin[0] : this.margin[0];\r\n var firstPageHeight =\r\n this.pdf.internal.pageSize.height -\r\n this.posY -\r\n this.margin[0] -\r\n this.margin[2];\r\n var pageHeightMinusMargins =\r\n this.pdf.internal.pageSize.height - this.margin[0] - this.margin[2];\r\n var previousPageHeightSum =\r\n k === 1 ? 0 : firstPageHeight + (k - 2) * pageHeightMinusMargins;\r\n\r\n if (this.ctx.clip_path.length !== 0) {\r\n var tmpPaths = this.path;\r\n clipPath = JSON.parse(JSON.stringify(this.ctx.clip_path));\r\n this.path = pathPositionRedo(\r\n clipPath,\r\n this.posX + this.margin[3],\r\n -previousPageHeightSum + topMargin + this.ctx.prevPageLastElemOffset\r\n );\r\n drawPaths.call(this, rule, true);\r\n this.path = tmpPaths;\r\n }\r\n tmpPath = JSON.parse(JSON.stringify(origPath));\r\n this.path = pathPositionRedo(\r\n tmpPath,\r\n this.posX + this.margin[3],\r\n -previousPageHeightSum + topMargin + this.ctx.prevPageLastElemOffset\r\n );\r\n if (isClip === false || k === 0) {\r\n const needsClipping = (k > min || k < max) && hasMargins.call(this);\r\n if (needsClipping) {\r\n this.pdf.saveGraphicsState();\r\n this.pdf\r\n .rect(\r\n this.margin[3],\r\n this.margin[0],\r\n pageWidthMinusMargins,\r\n pageHeightMinusMargins,\r\n null\r\n )\r\n .clip()\r\n .discardPath();\r\n }\r\n drawPaths.call(this, rule, isClip);\r\n if (needsClipping) {\r\n this.pdf.restoreGraphicsState();\r\n }\r\n }\r\n this.lineWidth = oldLineWidth;\r\n }\r\n } else {\r\n this.lineWidth = lineWidth;\r\n drawPaths.call(this, rule, isClip);\r\n this.lineWidth = oldLineWidth;\r\n }\r\n this.path = origPath;\r\n };\r\n\r\n /**\r\n * Processes the paths\r\n *\r\n * @function\r\n * @param rule {String}\r\n * @param isClip {Boolean}\r\n * @private\r\n * @ignore\r\n */\r\n var drawPaths = function(rule, isClip) {\r\n if (rule === \"stroke\" && !isClip && isStrokeTransparent.call(this)) {\r\n return;\r\n }\r\n\r\n if (rule !== \"stroke\" && !isClip && isFillTransparent.call(this)) {\r\n return;\r\n }\r\n\r\n var moves = [];\r\n\r\n //var alpha = (this.ctx.fillOpacity < 1) ? this.ctx.fillOpacity : this.ctx.globalAlpha;\r\n var delta;\r\n var xPath = this.path;\r\n for (var i = 0; i < xPath.length; i++) {\r\n var pt = xPath[i];\r\n\r\n switch (pt.type) {\r\n case \"begin\":\r\n moves.push({\r\n begin: true\r\n });\r\n break;\r\n\r\n case \"close\":\r\n moves.push({\r\n close: true\r\n });\r\n break;\r\n\r\n case \"mt\":\r\n moves.push({\r\n start: pt,\r\n deltas: [],\r\n abs: []\r\n });\r\n break;\r\n\r\n case \"lt\":\r\n var iii = moves.length;\r\n if (xPath[i - 1] && !isNaN(xPath[i - 1].x)) {\r\n delta = [pt.x - xPath[i - 1].x, pt.y - xPath[i - 1].y];\r\n if (iii > 0) {\r\n for (iii; iii >= 0; iii--) {\r\n if (\r\n moves[iii - 1].close !== true &&\r\n moves[iii - 1].begin !== true\r\n ) {\r\n moves[iii - 1].deltas.push(delta);\r\n moves[iii - 1].abs.push(pt);\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n break;\r\n\r\n case \"bct\":\r\n delta = [\r\n pt.x1 - xPath[i - 1].x,\r\n pt.y1 - xPath[i - 1].y,\r\n pt.x2 - xPath[i - 1].x,\r\n pt.y2 - xPath[i - 1].y,\r\n pt.x - xPath[i - 1].x,\r\n pt.y - xPath[i - 1].y\r\n ];\r\n moves[moves.length - 1].deltas.push(delta);\r\n break;\r\n\r\n case \"qct\":\r\n var x1 = xPath[i - 1].x + (2.0 / 3.0) * (pt.x1 - xPath[i - 1].x);\r\n var y1 = xPath[i - 1].y + (2.0 / 3.0) * (pt.y1 - xPath[i - 1].y);\r\n var x2 = pt.x + (2.0 / 3.0) * (pt.x1 - pt.x);\r\n var y2 = pt.y + (2.0 / 3.0) * (pt.y1 - pt.y);\r\n var x3 = pt.x;\r\n var y3 = pt.y;\r\n delta = [\r\n x1 - xPath[i - 1].x,\r\n y1 - xPath[i - 1].y,\r\n x2 - xPath[i - 1].x,\r\n y2 - xPath[i - 1].y,\r\n x3 - xPath[i - 1].x,\r\n y3 - xPath[i - 1].y\r\n ];\r\n moves[moves.length - 1].deltas.push(delta);\r\n break;\r\n\r\n case \"arc\":\r\n moves.push({\r\n deltas: [],\r\n abs: [],\r\n arc: true\r\n });\r\n\r\n if (Array.isArray(moves[moves.length - 1].abs)) {\r\n moves[moves.length - 1].abs.push(pt);\r\n }\r\n break;\r\n }\r\n }\r\n var style;\r\n if (!isClip) {\r\n if (rule === \"stroke\") {\r\n style = \"stroke\";\r\n } else {\r\n style = \"fill\";\r\n }\r\n } else {\r\n style = null;\r\n }\r\n\r\n var began = false;\r\n for (var k = 0; k < moves.length; k++) {\r\n if (moves[k].arc) {\r\n var arcs = moves[k].abs;\r\n\r\n for (var ii = 0; ii < arcs.length; ii++) {\r\n var arc = arcs[ii];\r\n\r\n if (arc.type === \"arc\") {\r\n drawArc.call(\r\n this,\r\n arc.x,\r\n arc.y,\r\n arc.radius,\r\n arc.startAngle,\r\n arc.endAngle,\r\n arc.counterclockwise,\r\n undefined,\r\n isClip,\r\n !began\r\n );\r\n } else {\r\n drawLine.call(this, arc.x, arc.y);\r\n }\r\n began = true;\r\n }\r\n } else if (moves[k].close === true) {\r\n this.pdf.internal.out(\"h\");\r\n began = false;\r\n } else if (moves[k].begin !== true) {\r\n var x = moves[k].start.x;\r\n var y = moves[k].start.y;\r\n drawLines.call(this, moves[k].deltas, x, y);\r\n began = true;\r\n }\r\n }\r\n\r\n if (style) {\r\n putStyle.call(this, style);\r\n }\r\n if (isClip) {\r\n doClip.call(this);\r\n }\r\n };\r\n\r\n var getBaseline = function(y) {\r\n var height =\r\n this.pdf.internal.getFontSize() / this.pdf.internal.scaleFactor;\r\n var descent = height * (this.pdf.internal.getLineHeightFactor() - 1);\r\n switch (this.ctx.textBaseline) {\r\n case \"bottom\":\r\n return y - descent;\r\n case \"top\":\r\n return y + height - descent;\r\n case \"hanging\":\r\n return y + height - 2 * descent;\r\n case \"middle\":\r\n return y + height / 2 - descent;\r\n case \"ideographic\":\r\n // TODO not implemented\r\n return y;\r\n case \"alphabetic\":\r\n default:\r\n return y;\r\n }\r\n };\r\n\r\n var getTextBottom = function(yBaseLine) {\r\n var height =\r\n this.pdf.internal.getFontSize() / this.pdf.internal.scaleFactor;\r\n var descent = height * (this.pdf.internal.getLineHeightFactor() - 1);\r\n return yBaseLine + descent;\r\n };\r\n\r\n Context2D.prototype.createLinearGradient = function createLinearGradient() {\r\n var canvasGradient = function canvasGradient() {};\r\n\r\n canvasGradient.colorStops = [];\r\n canvasGradient.addColorStop = function(offset, color) {\r\n this.colorStops.push([offset, color]);\r\n };\r\n\r\n canvasGradient.getColor = function() {\r\n if (this.colorStops.length === 0) {\r\n return \"#000000\";\r\n }\r\n\r\n return this.colorStops[0][1];\r\n };\r\n\r\n canvasGradient.isCanvasGradient = true;\r\n return canvasGradient;\r\n };\r\n Context2D.prototype.createPattern = function createPattern() {\r\n return this.createLinearGradient();\r\n };\r\n Context2D.prototype.createRadialGradient = function createRadialGradient() {\r\n return this.createLinearGradient();\r\n };\r\n\r\n /**\r\n *\r\n * @param x Edge point X\r\n * @param y Edge point Y\r\n * @param r Radius\r\n * @param a1 start angle\r\n * @param a2 end angle\r\n * @param counterclockwise\r\n * @param style\r\n * @param isClip\r\n */\r\n var drawArc = function(\r\n x,\r\n y,\r\n r,\r\n a1,\r\n a2,\r\n counterclockwise,\r\n style,\r\n isClip,\r\n includeMove\r\n ) {\r\n // http://hansmuller-flex.blogspot.com/2011/10/more-about-approximating-circular-arcs.html\r\n var curves = createArc.call(this, r, a1, a2, counterclockwise);\r\n\r\n for (var i = 0; i < curves.length; i++) {\r\n var curve = curves[i];\r\n if (i === 0) {\r\n if (includeMove) {\r\n doMove.call(this, curve.x1 + x, curve.y1 + y);\r\n } else {\r\n drawLine.call(this, curve.x1 + x, curve.y1 + y);\r\n }\r\n }\r\n drawCurve.call(\r\n this,\r\n x,\r\n y,\r\n curve.x2,\r\n curve.y2,\r\n curve.x3,\r\n curve.y3,\r\n curve.x4,\r\n curve.y4\r\n );\r\n }\r\n\r\n if (!isClip) {\r\n putStyle.call(this, style);\r\n } else {\r\n doClip.call(this);\r\n }\r\n };\r\n\r\n var putStyle = function(style) {\r\n switch (style) {\r\n case \"stroke\":\r\n this.pdf.internal.out(\"S\");\r\n break;\r\n case \"fill\":\r\n this.pdf.internal.out(\"f\");\r\n break;\r\n }\r\n };\r\n\r\n var doClip = function() {\r\n this.pdf.clip();\r\n this.pdf.discardPath();\r\n };\r\n\r\n var doMove = function(x, y) {\r\n this.pdf.internal.out(\r\n getHorizontalCoordinateString(x) +\r\n \" \" +\r\n getVerticalCoordinateString(y) +\r\n \" m\"\r\n );\r\n };\r\n\r\n var putText = function(options) {\r\n var textAlign;\r\n switch (options.align) {\r\n case \"right\":\r\n case \"end\":\r\n textAlign = \"right\";\r\n break;\r\n case \"center\":\r\n textAlign = \"center\";\r\n break;\r\n case \"left\":\r\n case \"start\":\r\n default:\r\n textAlign = \"left\";\r\n break;\r\n }\r\n\r\n var textDimensions = this.pdf.getTextDimensions(options.text);\r\n var yBaseLine = getBaseline.call(this, options.y);\r\n var yBottom = getTextBottom.call(this, yBaseLine);\r\n var yTop = yBottom - textDimensions.h;\r\n\r\n var pt = this.ctx.transform.applyToPoint(new Point(options.x, yBaseLine));\r\n var decomposedTransformationMatrix = this.ctx.transform.decompose();\r\n var matrix = new Matrix();\r\n matrix = matrix.multiply(decomposedTransformationMatrix.translate);\r\n matrix = matrix.multiply(decomposedTransformationMatrix.skew);\r\n matrix = matrix.multiply(decomposedTransformationMatrix.scale);\r\n\r\n var baselineRect = this.ctx.transform.applyToRectangle(\r\n new Rectangle(options.x, yBaseLine, textDimensions.w, textDimensions.h)\r\n );\r\n var textBounds = matrix.applyToRectangle(\r\n new Rectangle(options.x, yTop, textDimensions.w, textDimensions.h)\r\n );\r\n var pageArray = getPagesByPath.call(this, textBounds);\r\n var pages = [];\r\n for (var ii = 0; ii < pageArray.length; ii += 1) {\r\n if (pages.indexOf(pageArray[ii]) === -1) {\r\n pages.push(pageArray[ii]);\r\n }\r\n }\r\n\r\n sortPages(pages);\r\n\r\n var clipPath, oldSize, oldLineWidth;\r\n if (this.autoPaging) {\r\n var min = pages[0];\r\n var max = pages[pages.length - 1];\r\n for (var i = min; i < max + 1; i++) {\r\n this.pdf.setPage(i);\r\n\r\n var topMargin = i === 1 ? this.posY + this.margin[0] : this.margin[0];\r\n var firstPageHeight =\r\n this.pdf.internal.pageSize.height -\r\n this.posY -\r\n this.margin[0] -\r\n this.margin[2];\r\n var pageHeightMinusBottomMargin =\r\n this.pdf.internal.pageSize.height - this.margin[2];\r\n var pageHeightMinusMargins =\r\n pageHeightMinusBottomMargin - this.margin[0];\r\n var pageWidthMinusRightMargin =\r\n this.pdf.internal.pageSize.width - this.margin[1];\r\n var pageWidthMinusMargins = pageWidthMinusRightMargin - this.margin[3];\r\n var previousPageHeightSum =\r\n i === 1 ? 0 : firstPageHeight + (i - 2) * pageHeightMinusMargins;\r\n\r\n if (this.ctx.clip_path.length !== 0) {\r\n var tmpPaths = this.path;\r\n clipPath = JSON.parse(JSON.stringify(this.ctx.clip_path));\r\n this.path = pathPositionRedo(\r\n clipPath,\r\n this.posX + this.margin[3],\r\n -1 * previousPageHeightSum + topMargin\r\n );\r\n drawPaths.call(this, \"fill\", true);\r\n this.path = tmpPaths;\r\n }\r\n var textBoundsOnPage = pathPositionRedo(\r\n [JSON.parse(JSON.stringify(textBounds))],\r\n this.posX + this.margin[3],\r\n -previousPageHeightSum + topMargin + this.ctx.prevPageLastElemOffset\r\n )[0];\r\n\r\n if (options.scale >= 0.01) {\r\n oldSize = this.pdf.internal.getFontSize();\r\n this.pdf.setFontSize(oldSize * options.scale);\r\n oldLineWidth = this.lineWidth;\r\n this.lineWidth = oldLineWidth * options.scale;\r\n }\r\n\r\n var doSlice = this.autoPaging !== \"text\";\r\n\r\n if (\r\n doSlice ||\r\n textBoundsOnPage.y + textBoundsOnPage.h <= pageHeightMinusBottomMargin\r\n ) {\r\n if (\r\n doSlice ||\r\n (textBoundsOnPage.y >= topMargin &&\r\n textBoundsOnPage.x <= pageWidthMinusRightMargin)\r\n ) {\r\n var croppedText = doSlice\r\n ? options.text\r\n : this.pdf.splitTextToSize(\r\n options.text,\r\n options.maxWidth ||\r\n pageWidthMinusRightMargin - textBoundsOnPage.x\r\n )[0];\r\n var baseLineRectOnPage = pathPositionRedo(\r\n [JSON.parse(JSON.stringify(baselineRect))],\r\n this.posX + this.margin[3],\r\n -previousPageHeightSum +\r\n topMargin +\r\n this.ctx.prevPageLastElemOffset\r\n )[0];\r\n\r\n const needsClipping =\r\n doSlice && (i > min || i < max) && hasMargins.call(this);\r\n\r\n if (needsClipping) {\r\n this.pdf.saveGraphicsState();\r\n this.pdf\r\n .rect(\r\n this.margin[3],\r\n this.margin[0],\r\n pageWidthMinusMargins,\r\n pageHeightMinusMargins,\r\n null\r\n )\r\n .clip()\r\n .discardPath();\r\n }\r\n\r\n this.pdf.text(\r\n croppedText,\r\n baseLineRectOnPage.x,\r\n baseLineRectOnPage.y,\r\n {\r\n angle: options.angle,\r\n align: textAlign,\r\n renderingMode: options.renderingMode\r\n }\r\n );\r\n\r\n if (needsClipping) {\r\n this.pdf.restoreGraphicsState();\r\n }\r\n }\r\n } else {\r\n // This text is the last element of the page, but it got cut off due to the margin\r\n // so we render it in the next page\r\n\r\n if (textBoundsOnPage.y < pageHeightMinusBottomMargin) {\r\n // As a result, all other elements have their y offset increased\r\n this.ctx.prevPageLastElemOffset +=\r\n pageHeightMinusBottomMargin - textBoundsOnPage.y;\r\n }\r\n }\r\n\r\n if (options.scale >= 0.01) {\r\n this.pdf.setFontSize(oldSize);\r\n this.lineWidth = oldLineWidth;\r\n }\r\n }\r\n } else {\r\n if (options.scale >= 0.01) {\r\n oldSize = this.pdf.internal.getFontSize();\r\n this.pdf.setFontSize(oldSize * options.scale);\r\n oldLineWidth = this.lineWidth;\r\n this.lineWidth = oldLineWidth * options.scale;\r\n }\r\n this.pdf.text(options.text, pt.x + this.posX, pt.y + this.posY, {\r\n angle: options.angle,\r\n align: textAlign,\r\n renderingMode: options.renderingMode,\r\n maxWidth: options.maxWidth\r\n });\r\n\r\n if (options.scale >= 0.01) {\r\n this.pdf.setFontSize(oldSize);\r\n this.lineWidth = oldLineWidth;\r\n }\r\n }\r\n };\r\n\r\n var drawLine = function(x, y, prevX, prevY) {\r\n prevX = prevX || 0;\r\n prevY = prevY || 0;\r\n\r\n this.pdf.internal.out(\r\n getHorizontalCoordinateString(x + prevX) +\r\n \" \" +\r\n getVerticalCoordinateString(y + prevY) +\r\n \" l\"\r\n );\r\n };\r\n\r\n var drawLines = function(lines, x, y) {\r\n return this.pdf.lines(lines, x, y, null, null);\r\n };\r\n\r\n var drawCurve = function(x, y, x1, y1, x2, y2, x3, y3) {\r\n this.pdf.internal.out(\r\n [\r\n f2(getHorizontalCoordinate(x1 + x)),\r\n f2(getVerticalCoordinate(y1 + y)),\r\n f2(getHorizontalCoordinate(x2 + x)),\r\n f2(getVerticalCoordinate(y2 + y)),\r\n f2(getHorizontalCoordinate(x3 + x)),\r\n f2(getVerticalCoordinate(y3 + y)),\r\n \"c\"\r\n ].join(\" \")\r\n );\r\n };\r\n\r\n /**\r\n * Return a array of objects that represent bezier curves which approximate the circular arc centered at the origin, from startAngle to endAngle (radians) with the specified radius.\r\n *\r\n * Each bezier curve is an object with four points, where x1,y1 and x4,y4 are the arc's end points and x2,y2 and x3,y3 are the cubic bezier's control points.\r\n * @function createArc\r\n */\r\n var createArc = function(radius, startAngle, endAngle, anticlockwise) {\r\n var EPSILON = 0.00001; // Roughly 1/1000th of a degree, see below\r\n var twoPi = Math.PI * 2;\r\n var halfPi = Math.PI / 2.0;\r\n\r\n while (startAngle > endAngle) {\r\n startAngle = startAngle - twoPi;\r\n }\r\n var totalAngle = Math.abs(endAngle - startAngle);\r\n if (totalAngle < twoPi) {\r\n if (anticlockwise) {\r\n totalAngle = twoPi - totalAngle;\r\n }\r\n }\r\n\r\n // Compute the sequence of arc curves, up to PI/2 at a time.\r\n var curves = [];\r\n\r\n // clockwise or counterclockwise\r\n var sgn = anticlockwise ? -1 : +1;\r\n\r\n var a1 = startAngle;\r\n for (; totalAngle > EPSILON; ) {\r\n var remain = sgn * Math.min(totalAngle, halfPi);\r\n var a2 = a1 + remain;\r\n curves.push(createSmallArc.call(this, radius, a1, a2));\r\n totalAngle -= Math.abs(a2 - a1);\r\n a1 = a2;\r\n }\r\n\r\n return curves;\r\n };\r\n\r\n /**\r\n * Cubic bezier approximation of a circular arc centered at the origin, from (radians) a1 to a2, where a2-a1 < pi/2. The arc's radius is r.\r\n *\r\n * Returns an object with four points, where x1,y1 and x4,y4 are the arc's end points and x2,y2 and x3,y3 are the cubic bezier's control points.\r\n *\r\n * This algorithm is based on the approach described in: A. Riškus, \"Approximation of a Cubic Bezier Curve by Circular Arcs and Vice Versa,\" Information Technology and Control, 35(4), 2006 pp. 371-378.\r\n */\r\n var createSmallArc = function(r, a1, a2) {\r\n var a = (a2 - a1) / 2.0;\r\n\r\n var x4 = r * Math.cos(a);\r\n var y4 = r * Math.sin(a);\r\n var x1 = x4;\r\n var y1 = -y4;\r\n\r\n var q1 = x1 * x1 + y1 * y1;\r\n var q2 = q1 + x1 * x4 + y1 * y4;\r\n var k2 = ((4 / 3) * (Math.sqrt(2 * q1 * q2) - q2)) / (x1 * y4 - y1 * x4);\r\n\r\n var x2 = x1 - k2 * y1;\r\n var y2 = y1 + k2 * x1;\r\n var x3 = x2;\r\n var y3 = -y2;\r\n\r\n var ar = a + a1;\r\n var cos_ar = Math.cos(ar);\r\n var sin_ar = Math.sin(ar);\r\n\r\n return {\r\n x1: r * Math.cos(a1),\r\n y1: r * Math.sin(a1),\r\n x2: x2 * cos_ar - y2 * sin_ar,\r\n y2: x2 * sin_ar + y2 * cos_ar,\r\n x3: x3 * cos_ar - y3 * sin_ar,\r\n y3: x3 * sin_ar + y3 * cos_ar,\r\n x4: r * Math.cos(a2),\r\n y4: r * Math.sin(a2)\r\n };\r\n };\r\n\r\n var rad2deg = function(value) {\r\n return (value * 180) / Math.PI;\r\n };\r\n\r\n var getQuadraticCurveBoundary = function(sx, sy, cpx, cpy, ex, ey) {\r\n var midX1 = sx + (cpx - sx) * 0.5;\r\n var midY1 = sy + (cpy - sy) * 0.5;\r\n var midX2 = ex + (cpx - ex) * 0.5;\r\n var midY2 = ey + (cpy - ey) * 0.5;\r\n var resultX1 = Math.min(sx, ex, midX1, midX2);\r\n var resultX2 = Math.max(sx, ex, midX1, midX2);\r\n var resultY1 = Math.min(sy, ey, midY1, midY2);\r\n var resultY2 = Math.max(sy, ey, midY1, midY2);\r\n return new Rectangle(\r\n resultX1,\r\n resultY1,\r\n resultX2 - resultX1,\r\n resultY2 - resultY1\r\n );\r\n };\r\n\r\n //De Casteljau algorithm\r\n var getBezierCurveBoundary = function(ax, ay, bx, by, cx, cy, dx, dy) {\r\n var tobx = bx - ax;\r\n var toby = by - ay;\r\n var tocx = cx - bx;\r\n var tocy = cy - by;\r\n var todx = dx - cx;\r\n var tody = dy - cy;\r\n var precision = 40;\r\n var d,\r\n i,\r\n px,\r\n py,\r\n qx,\r\n qy,\r\n rx,\r\n ry,\r\n tx,\r\n ty,\r\n sx,\r\n sy,\r\n x,\r\n y,\r\n minx,\r\n miny,\r\n maxx,\r\n maxy,\r\n toqx,\r\n toqy,\r\n torx,\r\n tory,\r\n totx,\r\n toty;\r\n for (i = 0; i < precision + 1; i++) {\r\n d = i / precision;\r\n px = ax + d * tobx;\r\n py = ay + d * toby;\r\n qx = bx + d * tocx;\r\n qy = by + d * tocy;\r\n rx = cx + d * todx;\r\n ry = cy + d * tody;\r\n toqx = qx - px;\r\n toqy = qy - py;\r\n torx = rx - qx;\r\n tory = ry - qy;\r\n\r\n sx = px + d * toqx;\r\n sy = py + d * toqy;\r\n tx = qx + d * torx;\r\n ty = qy + d * tory;\r\n totx = tx - sx;\r\n toty = ty - sy;\r\n\r\n x = sx + d * totx;\r\n y = sy + d * toty;\r\n if (i == 0) {\r\n minx = x;\r\n miny = y;\r\n maxx = x;\r\n maxy = y;\r\n } else {\r\n minx = Math.min(minx, x);\r\n miny = Math.min(miny, y);\r\n maxx = Math.max(maxx, x);\r\n maxy = Math.max(maxy, y);\r\n }\r\n }\r\n return new Rectangle(\r\n Math.round(minx),\r\n Math.round(miny),\r\n Math.round(maxx - minx),\r\n Math.round(maxy - miny)\r\n );\r\n };\r\n\r\n var getPrevLineDashValue = function(lineDash, lineDashOffset) {\r\n return JSON.stringify({\r\n lineDash: lineDash,\r\n lineDashOffset: lineDashOffset\r\n });\r\n };\r\n\r\n var setLineDash = function() {\r\n // Avoid unnecessary line dash declarations.\r\n if (\r\n !this.prevLineDash &&\r\n !this.ctx.lineDash.length &&\r\n !this.ctx.lineDashOffset\r\n ) {\r\n return;\r\n }\r\n\r\n // Avoid unnecessary line dash declarations.\r\n const nextLineDash = getPrevLineDashValue(\r\n this.ctx.lineDash,\r\n this.ctx.lineDashOffset\r\n );\r\n if (this.prevLineDash !== nextLineDash) {\r\n this.pdf.setLineDash(this.ctx.lineDash, this.ctx.lineDashOffset);\r\n this.prevLineDash = nextLineDash;\r\n }\r\n };\r\n})(jsPDF.API);\r\n","/**\n * @license\n * jsPDF filters PlugIn\n * Copyright (c) 2014 Aras Abbasi\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\n\nimport { jsPDF } from \"../jspdf.js\";\nimport { zlibSync } from \"../libs/fflate.js\";\n\n(function(jsPDFAPI) {\n \"use strict\";\n\n var ASCII85Encode = function(a) {\n var b, c, d, e, f, g, h, i, j, k;\n // eslint-disable-next-line no-control-regex\n for (\n !/[^\\x00-\\xFF]/.test(a),\n b = \"\\x00\\x00\\x00\\x00\".slice(a.length % 4 || 4),\n a += b,\n c = [],\n d = 0,\n e = a.length;\n e > d;\n d += 4\n )\n (f =\n (a.charCodeAt(d) << 24) +\n (a.charCodeAt(d + 1) << 16) +\n (a.charCodeAt(d + 2) << 8) +\n a.charCodeAt(d + 3)),\n 0 !== f\n ? ((k = f % 85),\n (f = (f - k) / 85),\n (j = f % 85),\n (f = (f - j) / 85),\n (i = f % 85),\n (f = (f - i) / 85),\n (h = f % 85),\n (f = (f - h) / 85),\n (g = f % 85),\n c.push(g + 33, h + 33, i + 33, j + 33, k + 33))\n : c.push(122);\n return (\n (function(a, b) {\n for (var c = b; c > 0; c--) a.pop();\n })(c, b.length),\n String.fromCharCode.apply(String, c) + \"~>\"\n );\n };\n\n var ASCII85Decode = function(a) {\n var c,\n d,\n e,\n f,\n g,\n h = String,\n l = \"length\",\n w = 255,\n x = \"charCodeAt\",\n y = \"slice\",\n z = \"replace\";\n for (\n \"~>\" === a[y](-2),\n a = a[y](0, -2)\n [z](/\\s/g, \"\")\n [z](\"z\", \"!!!!!\"),\n c = \"uuuuu\"[y](a[l] % 5 || 5),\n a += c,\n e = [],\n f = 0,\n g = a[l];\n g > f;\n f += 5\n )\n (d =\n 52200625 * (a[x](f) - 33) +\n 614125 * (a[x](f + 1) - 33) +\n 7225 * (a[x](f + 2) - 33) +\n 85 * (a[x](f + 3) - 33) +\n (a[x](f + 4) - 33)),\n e.push(w & (d >> 24), w & (d >> 16), w & (d >> 8), w & d);\n return (\n (function(a, b) {\n for (var c = b; c > 0; c--) a.pop();\n })(e, c[l]),\n h.fromCharCode.apply(h, e)\n );\n };\n\n var ASCIIHexEncode = function(value) {\n return (\n value\n .split(\"\")\n .map(function(value) {\n return (\"0\" + value.charCodeAt().toString(16)).slice(-2);\n })\n .join(\"\") + \">\"\n );\n };\n\n var ASCIIHexDecode = function(value) {\n var regexCheckIfHex = new RegExp(/^([0-9A-Fa-f]{2})+$/);\n value = value.replace(/\\s/g, \"\");\n if (value.indexOf(\">\") !== -1) {\n value = value.substr(0, value.indexOf(\">\"));\n }\n if (value.length % 2) {\n value += \"0\";\n }\n if (regexCheckIfHex.test(value) === false) {\n return \"\";\n }\n var result = \"\";\n for (var i = 0; i < value.length; i += 2) {\n result += String.fromCharCode(\"0x\" + (value[i] + value[i + 1]));\n }\n return result;\n };\n /*\n var FlatePredictors = {\n None: 1,\n TIFF: 2,\n PNG_None: 10,\n PNG_Sub: 11,\n PNG_Up: 12,\n PNG_Average: 13,\n PNG_Paeth: 14,\n PNG_Optimum: 15\n };\n */\n\n var FlateEncode = function(data) {\n var arr = new Uint8Array(data.length);\n var i = data.length;\n while (i--) {\n arr[i] = data.charCodeAt(i);\n }\n arr = zlibSync(arr);\n data = arr.reduce(function(data, byte) {\n return data + String.fromCharCode(byte);\n }, \"\");\n return data;\n };\n\n jsPDFAPI.processDataByFilters = function(origData, filterChain) {\n \"use strict\";\n var i = 0;\n var data = origData || \"\";\n var reverseChain = [];\n filterChain = filterChain || [];\n\n if (typeof filterChain === \"string\") {\n filterChain = [filterChain];\n }\n\n for (i = 0; i < filterChain.length; i += 1) {\n switch (filterChain[i]) {\n case \"ASCII85Decode\":\n case \"/ASCII85Decode\":\n data = ASCII85Decode(data);\n reverseChain.push(\"/ASCII85Encode\");\n break;\n case \"ASCII85Encode\":\n case \"/ASCII85Encode\":\n data = ASCII85Encode(data);\n reverseChain.push(\"/ASCII85Decode\");\n break;\n case \"ASCIIHexDecode\":\n case \"/ASCIIHexDecode\":\n data = ASCIIHexDecode(data);\n reverseChain.push(\"/ASCIIHexEncode\");\n break;\n case \"ASCIIHexEncode\":\n case \"/ASCIIHexEncode\":\n data = ASCIIHexEncode(data);\n reverseChain.push(\"/ASCIIHexDecode\");\n break;\n case \"FlateEncode\":\n case \"/FlateEncode\":\n data = FlateEncode(data);\n reverseChain.push(\"/FlateDecode\");\n break;\n default:\n throw new Error(\n 'The filter: \"' + filterChain[i] + '\" is not implemented'\n );\n }\n }\n\n return { data: data, reverseChain: reverseChain.reverse().join(\" \") };\n };\n})(jsPDF.API);\n","/**\n * @license\n * jsPDF fileloading PlugIn\n * Copyright (c) 2018 Aras Abbasi (aras.abbasi@gmail.com)\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\n\nimport { jsPDF } from \"../jspdf.js\";\n\n/**\n * @name fileloading\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n\n /**\n * @name loadFile\n * @function\n * @param {string} url\n * @param {boolean} sync\n * @param {function} callback\n * @returns {string|undefined} result\n */\n jsPDFAPI.loadFile = function(url, sync, callback) {\n return browserRequest(url, sync, callback);\n\n };\n\n /**\n * @name loadImageFile\n * @function\n * @param {string} path\n * @param {boolean} sync\n * @param {function} callback\n */\n jsPDFAPI.loadImageFile = jsPDFAPI.loadFile;\n\n function browserRequest(url, sync, callback) {\n sync = sync === false ? false : true;\n callback = typeof callback === \"function\" ? callback : function() {};\n var result = undefined;\n\n var xhr = function(url, sync, callback) {\n var request = new XMLHttpRequest();\n var i = 0;\n\n var sanitizeUnicode = function(data) {\n var dataLength = data.length;\n var charArray = [];\n var StringFromCharCode = String.fromCharCode;\n\n //Transform Unicode to ASCII\n for (i = 0; i < dataLength; i += 1) {\n charArray.push(StringFromCharCode(data.charCodeAt(i) & 0xff));\n }\n return charArray.join(\"\");\n };\n\n request.open(\"GET\", url, !sync);\n // XHR binary charset opt by Marcus Granado 2006 [http://mgran.blogspot.com]\n request.overrideMimeType(\"text/plain; charset=x-user-defined\");\n\n if (sync === false) {\n request.onload = function() {\n if (request.status === 200) {\n callback(sanitizeUnicode(this.responseText));\n } else {\n callback(undefined);\n }\n };\n }\n request.send(null);\n\n if (sync && request.status === 200) {\n return sanitizeUnicode(request.responseText);\n }\n };\n try {\n result = xhr(url, sync, callback);\n // eslint-disable-next-line no-empty\n } catch (e) {}\n return result;\n }\n\n function nodeReadFile(url, sync, callback) {\n sync = sync === false ? false : true;\n var result = undefined;\n\n var fs = require(\"fs\");\n var path = require(\"path\");\n\n url = path.resolve(url);\n if (sync) {\n try {\n result = fs.readFileSync(url, { encoding: \"latin1\" });\n } catch (e) {\n return undefined;\n }\n } else {\n fs.readFile(url, { encoding: \"latin1\" }, function(err, data) {\n if (!callback) {\n return;\n }\n if (err) {\n callback(undefined);\n }\n callback(data);\n });\n }\n\n return result;\n }\n})(jsPDF.API);\n","/**\n * @license\n * Copyright (c) 2018 Erik Koopmans\n * Released under the MIT License.\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\n\nimport { jsPDF } from \"../jspdf.js\";\nimport { normalizeFontFace } from \"../libs/fontFace.js\";\nimport { globalObject } from \"../libs/globalObject.js\";\n\n/**\n * jsPDF html PlugIn\n *\n * @name html\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n\n function loadHtml2Canvas() {\n return (function() {\n if (globalObject[\"html2canvas\"]) {\n return Promise.resolve(globalObject[\"html2canvas\"]);\n }\n\n return import(\"html2canvas\");\n\n })()\n .catch(function(e) {\n return Promise.reject(new Error(\"Could not load html2canvas: \" + e));\n })\n .then(function(html2canvas) {\n return html2canvas.default ? html2canvas.default : html2canvas;\n });\n }\n\n function loadDomPurify() {\n return (function() {\n if (globalObject[\"DOMPurify\"]) {\n return Promise.resolve(globalObject[\"DOMPurify\"]);\n }\n\n return import(\"dompurify\");\n\n })()\n .catch(function(e) {\n return Promise.reject(new Error(\"Could not load dompurify: \" + e));\n })\n .then(function(dompurify) {\n return dompurify.default ? dompurify.default : dompurify;\n });\n }\n\n /**\n * Determine the type of a variable/object.\n *\n * @private\n * @ignore\n */\n var objType = function(obj) {\n var type = typeof obj;\n if (type === \"undefined\") return \"undefined\";\n else if (type === \"string\" || obj instanceof String) return \"string\";\n else if (type === \"number\" || obj instanceof Number) return \"number\";\n else if (type === \"function\" || obj instanceof Function) return \"function\";\n else if (!!obj && obj.constructor === Array) return \"array\";\n else if (obj && obj.nodeType === 1) return \"element\";\n else if (type === \"object\") return \"object\";\n else return \"unknown\";\n };\n\n /**\n * Create an HTML element with optional className, innerHTML, and style.\n *\n * @private\n * @ignore\n */\n var createElement = function(tagName, opt) {\n var el = document.createElement(tagName);\n if (opt.className) el.className = opt.className;\n if (opt.innerHTML && opt.dompurify) {\n el.innerHTML = opt.dompurify.sanitize(opt.innerHTML);\n }\n for (var key in opt.style) {\n el.style[key] = opt.style[key];\n }\n return el;\n };\n\n /**\n * Deep-clone a node and preserve contents/properties.\n *\n * @private\n * @ignore\n */\n var cloneNode = function(node, javascriptEnabled) {\n // Recursively clone the node.\n var clone =\n node.nodeType === 3\n ? document.createTextNode(node.nodeValue)\n : node.cloneNode(false);\n for (var child = node.firstChild; child; child = child.nextSibling) {\n if (\n javascriptEnabled === true ||\n child.nodeType !== 1 ||\n child.nodeName !== \"SCRIPT\"\n ) {\n clone.appendChild(cloneNode(child, javascriptEnabled));\n }\n }\n\n if (node.nodeType === 1) {\n // Preserve contents/properties of special nodes.\n if (node.nodeName === \"CANVAS\") {\n clone.width = node.width;\n clone.height = node.height;\n clone.getContext(\"2d\").drawImage(node, 0, 0);\n } else if (node.nodeName === \"TEXTAREA\" || node.nodeName === \"SELECT\") {\n clone.value = node.value;\n }\n\n // Preserve the node's scroll position when it loads.\n clone.addEventListener(\n \"load\",\n function() {\n clone.scrollTop = node.scrollTop;\n clone.scrollLeft = node.scrollLeft;\n },\n true\n );\n }\n\n // Return the cloned node.\n return clone;\n };\n\n /* ----- CONSTRUCTOR ----- */\n\n var Worker = function Worker(opt) {\n // Create the root parent for the proto chain, and the starting Worker.\n var root = Object.assign(\n Worker.convert(Promise.resolve()),\n JSON.parse(JSON.stringify(Worker.template))\n );\n var self = Worker.convert(Promise.resolve(), root);\n\n // Set progress, optional settings, and return.\n self = self.setProgress(1, Worker, 1, [Worker]);\n self = self.set(opt);\n return self;\n };\n\n // Boilerplate for subclassing Promise.\n Worker.prototype = Object.create(Promise.prototype);\n Worker.prototype.constructor = Worker;\n\n // Converts/casts promises into Workers.\n Worker.convert = function convert(promise, inherit) {\n // Uses prototypal inheritance to receive changes made to ancestors' properties.\n promise.__proto__ = inherit || Worker.prototype;\n return promise;\n };\n\n Worker.template = {\n prop: {\n src: null,\n container: null,\n overlay: null,\n canvas: null,\n img: null,\n pdf: null,\n pageSize: null,\n callback: function() {}\n },\n progress: {\n val: 0,\n state: null,\n n: 0,\n stack: []\n },\n opt: {\n filename: \"file.pdf\",\n margin: [0, 0, 0, 0],\n enableLinks: true,\n x: 0,\n y: 0,\n html2canvas: {},\n jsPDF: {},\n backgroundColor: \"transparent\"\n }\n };\n\n /* ----- FROM / TO ----- */\n\n Worker.prototype.from = function from(src, type) {\n function getType(src) {\n switch (objType(src)) {\n case \"string\":\n return \"string\";\n case \"element\":\n return src.nodeName.toLowerCase() === \"canvas\" ? \"canvas\" : \"element\";\n default:\n return \"unknown\";\n }\n }\n\n return this.then(function from_main() {\n type = type || getType(src);\n switch (type) {\n case \"string\":\n return this.then(loadDomPurify).then(function(dompurify) {\n return this.set({\n src: createElement(\"div\", {\n innerHTML: src,\n dompurify: dompurify\n })\n });\n });\n case \"element\":\n return this.set({ src: src });\n case \"canvas\":\n return this.set({ canvas: src });\n case \"img\":\n return this.set({ img: src });\n default:\n return this.error(\"Unknown source type.\");\n }\n });\n };\n\n Worker.prototype.to = function to(target) {\n // Route the 'to' request to the appropriate method.\n switch (target) {\n case \"container\":\n return this.toContainer();\n case \"canvas\":\n return this.toCanvas();\n case \"img\":\n return this.toImg();\n case \"pdf\":\n return this.toPdf();\n default:\n return this.error(\"Invalid target.\");\n }\n };\n\n Worker.prototype.toContainer = function toContainer() {\n // Set up function prerequisites.\n var prereqs = [\n function checkSrc() {\n return (\n this.prop.src || this.error(\"Cannot duplicate - no source HTML.\")\n );\n },\n function checkPageSize() {\n return this.prop.pageSize || this.setPageSize();\n }\n ];\n return this.thenList(prereqs).then(function toContainer_main() {\n // Define the CSS styles for the container and its overlay parent.\n var overlayCSS = {\n position: \"fixed\",\n overflow: \"hidden\",\n zIndex: 1000,\n left: \"-100000px\",\n right: 0,\n bottom: 0,\n top: 0\n };\n var containerCSS = {\n position: \"relative\",\n display: \"inline-block\",\n width:\n (typeof this.opt.width === \"number\" &&\n !isNaN(this.opt.width) &&\n typeof this.opt.windowWidth === \"number\" &&\n !isNaN(this.opt.windowWidth)\n ? this.opt.windowWidth\n : Math.max(\n this.prop.src.clientWidth,\n this.prop.src.scrollWidth,\n this.prop.src.offsetWidth\n )) + \"px\",\n left: 0,\n right: 0,\n top: 0,\n margin: \"auto\",\n backgroundColor: this.opt.backgroundColor\n }; // Set the overlay to hidden (could be changed in the future to provide a print preview).\n\n var source = cloneNode(\n this.prop.src,\n this.opt.html2canvas.javascriptEnabled\n );\n\n if (source.tagName === \"BODY\") {\n containerCSS.height =\n Math.max(\n document.body.scrollHeight,\n document.body.offsetHeight,\n document.documentElement.clientHeight,\n document.documentElement.scrollHeight,\n document.documentElement.offsetHeight\n ) + \"px\";\n }\n\n this.prop.overlay = createElement(\"div\", {\n className: \"html2pdf__overlay\",\n style: overlayCSS\n });\n this.prop.container = createElement(\"div\", {\n className: \"html2pdf__container\",\n style: containerCSS\n });\n this.prop.container.appendChild(source);\n this.prop.container.firstChild.appendChild(\n createElement(\"div\", {\n style: {\n clear: \"both\",\n border: \"0 none transparent\",\n margin: 0,\n padding: 0,\n height: 0\n }\n })\n );\n this.prop.container.style.float = \"none\";\n this.prop.overlay.appendChild(this.prop.container);\n document.body.appendChild(this.prop.overlay);\n this.prop.container.firstChild.style.position = \"relative\";\n this.prop.container.height =\n Math.max(\n this.prop.container.firstChild.clientHeight,\n this.prop.container.firstChild.scrollHeight,\n this.prop.container.firstChild.offsetHeight\n ) + \"px\";\n });\n };\n\n Worker.prototype.toCanvas = function toCanvas() {\n // Set up function prerequisites.\n var prereqs = [\n function checkContainer() {\n return (\n document.body.contains(this.prop.container) || this.toContainer()\n );\n }\n ];\n\n // Fulfill prereqs then create the canvas.\n return this.thenList(prereqs)\n .then(loadHtml2Canvas)\n .then(function toCanvas_main(html2canvas) {\n // Handle old-fashioned 'onrendered' argument.\n var options = Object.assign({}, this.opt.html2canvas);\n delete options.onrendered;\n\n return html2canvas(this.prop.container, options);\n })\n .then(function toCanvas_post(canvas) {\n // Handle old-fashioned 'onrendered' argument.\n var onRendered = this.opt.html2canvas.onrendered || function() {};\n onRendered(canvas);\n\n this.prop.canvas = canvas;\n document.body.removeChild(this.prop.overlay);\n });\n };\n\n Worker.prototype.toContext2d = function toContext2d() {\n // Set up function prerequisites.\n var prereqs = [\n function checkContainer() {\n return (\n document.body.contains(this.prop.container) || this.toContainer()\n );\n }\n ];\n\n // Fulfill prereqs then create the canvas.\n return this.thenList(prereqs)\n .then(loadHtml2Canvas)\n .then(function toContext2d_main(html2canvas) {\n // Handle old-fashioned 'onrendered' argument.\n\n var pdf = this.opt.jsPDF;\n var fontFaces = this.opt.fontFaces;\n\n var scale =\n typeof this.opt.width === \"number\" &&\n !isNaN(this.opt.width) &&\n typeof this.opt.windowWidth === \"number\" &&\n !isNaN(this.opt.windowWidth)\n ? this.opt.width / this.opt.windowWidth\n : 1;\n\n var options = Object.assign(\n {\n async: true,\n allowTaint: true,\n scale: scale,\n scrollX: this.opt.scrollX || 0,\n scrollY: this.opt.scrollY || 0,\n backgroundColor: \"#ffffff\",\n imageTimeout: 15000,\n logging: true,\n proxy: null,\n removeContainer: true,\n foreignObjectRendering: false,\n useCORS: false\n },\n this.opt.html2canvas\n );\n delete options.onrendered;\n\n pdf.context2d.autoPaging =\n typeof this.opt.autoPaging === \"undefined\"\n ? true\n : this.opt.autoPaging;\n pdf.context2d.posX = this.opt.x;\n pdf.context2d.posY = this.opt.y;\n pdf.context2d.margin = this.opt.margin;\n pdf.context2d.fontFaces = fontFaces;\n\n if (fontFaces) {\n for (var i = 0; i < fontFaces.length; ++i) {\n var font = fontFaces[i];\n var src = font.src.find(function(src) {\n return src.format === \"truetype\";\n });\n\n if (src) {\n pdf.addFont(src.url, font.ref.name, font.ref.style);\n }\n }\n }\n\n options.windowHeight = options.windowHeight || 0;\n options.windowHeight =\n options.windowHeight == 0\n ? Math.max(\n this.prop.container.clientHeight,\n this.prop.container.scrollHeight,\n this.prop.container.offsetHeight\n )\n : options.windowHeight;\n\n pdf.context2d.save(true);\n return html2canvas(this.prop.container, options);\n })\n .then(function toContext2d_post(canvas) {\n this.opt.jsPDF.context2d.restore(true);\n\n // Handle old-fashioned 'onrendered' argument.\n var onRendered = this.opt.html2canvas.onrendered || function() {};\n onRendered(canvas);\n\n this.prop.canvas = canvas;\n document.body.removeChild(this.prop.overlay);\n });\n };\n\n Worker.prototype.toImg = function toImg() {\n // Set up function prerequisites.\n var prereqs = [\n function checkCanvas() {\n return this.prop.canvas || this.toCanvas();\n }\n ];\n\n // Fulfill prereqs then create the image.\n return this.thenList(prereqs).then(function toImg_main() {\n var imgData = this.prop.canvas.toDataURL(\n \"image/\" + this.opt.image.type,\n this.opt.image.quality\n );\n this.prop.img = document.createElement(\"img\");\n this.prop.img.src = imgData;\n });\n };\n\n Worker.prototype.toPdf = function toPdf() {\n // Set up function prerequisites.\n var prereqs = [\n function checkContext2d() {\n return this.toContext2d();\n }\n //function checkCanvas() { return this.prop.canvas || this.toCanvas(); }\n ];\n\n // Fulfill prereqs then create the image.\n return this.thenList(prereqs).then(function toPdf_main() {\n // Create local copies of frequently used properties.\n this.prop.pdf = this.prop.pdf || this.opt.jsPDF;\n });\n };\n\n /* ----- OUTPUT / SAVE ----- */\n\n Worker.prototype.output = function output(type, options, src) {\n // Redirect requests to the correct function (outputPdf / outputImg).\n src = src || \"pdf\";\n if (src.toLowerCase() === \"img\" || src.toLowerCase() === \"image\") {\n return this.outputImg(type, options);\n } else {\n return this.outputPdf(type, options);\n }\n };\n\n Worker.prototype.outputPdf = function outputPdf(type, options) {\n // Set up function prerequisites.\n var prereqs = [\n function checkPdf() {\n return this.prop.pdf || this.toPdf();\n }\n ];\n\n // Fulfill prereqs then perform the appropriate output.\n return this.thenList(prereqs).then(function outputPdf_main() {\n /* Currently implemented output types:\n * https://rawgit.com/MrRio/jsPDF/master/docs/jspdf.js.html#line992\n * save(options), arraybuffer, blob, bloburi/bloburl,\n * datauristring/dataurlstring, dataurlnewwindow, datauri/dataurl\n */\n return this.prop.pdf.output(type, options);\n });\n };\n\n Worker.prototype.outputImg = function outputImg(type) {\n // Set up function prerequisites.\n var prereqs = [\n function checkImg() {\n return this.prop.img || this.toImg();\n }\n ];\n\n // Fulfill prereqs then perform the appropriate output.\n return this.thenList(prereqs).then(function outputImg_main() {\n switch (type) {\n case undefined:\n case \"img\":\n return this.prop.img;\n case \"datauristring\":\n case \"dataurlstring\":\n return this.prop.img.src;\n case \"datauri\":\n case \"dataurl\":\n return (document.location.href = this.prop.img.src);\n default:\n throw 'Image output type \"' + type + '\" is not supported.';\n }\n });\n };\n\n Worker.prototype.save = function save(filename) {\n // Set up function prerequisites.\n var prereqs = [\n function checkPdf() {\n return this.prop.pdf || this.toPdf();\n }\n ];\n\n // Fulfill prereqs, update the filename (if provided), and save the PDF.\n return this.thenList(prereqs)\n .set(filename ? { filename: filename } : null)\n .then(function save_main() {\n this.prop.pdf.save(this.opt.filename);\n });\n };\n\n Worker.prototype.doCallback = function doCallback() {\n // Set up function prerequisites.\n var prereqs = [\n function checkPdf() {\n return this.prop.pdf || this.toPdf();\n }\n ];\n\n // Fulfill prereqs, update the filename (if provided), and save the PDF.\n return this.thenList(prereqs).then(function doCallback_main() {\n this.prop.callback(this.prop.pdf);\n });\n };\n\n /* ----- SET / GET ----- */\n\n Worker.prototype.set = function set(opt) {\n // TODO: Implement ordered pairs?\n\n // Silently ignore invalid or empty input.\n if (objType(opt) !== \"object\") {\n return this;\n }\n\n // Build an array of setter functions to queue.\n var fns = Object.keys(opt || {}).map(function(key) {\n if (key in Worker.template.prop) {\n // Set pre-defined properties.\n return function set_prop() {\n this.prop[key] = opt[key];\n };\n } else {\n switch (key) {\n case \"margin\":\n return this.setMargin.bind(this, opt.margin);\n case \"jsPDF\":\n return function set_jsPDF() {\n this.opt.jsPDF = opt.jsPDF;\n return this.setPageSize();\n };\n case \"pageSize\":\n return this.setPageSize.bind(this, opt.pageSize);\n default:\n // Set any other properties in opt.\n return function set_opt() {\n this.opt[key] = opt[key];\n };\n }\n }\n }, this);\n\n // Set properties within the promise chain.\n return this.then(function set_main() {\n return this.thenList(fns);\n });\n };\n\n Worker.prototype.get = function get(key, cbk) {\n return this.then(function get_main() {\n // Fetch the requested property, either as a predefined prop or in opt.\n var val = key in Worker.template.prop ? this.prop[key] : this.opt[key];\n return cbk ? cbk(val) : val;\n });\n };\n\n Worker.prototype.setMargin = function setMargin(margin) {\n return this.then(function setMargin_main() {\n // Parse the margin property.\n switch (objType(margin)) {\n case \"number\":\n margin = [margin, margin, margin, margin];\n // eslint-disable-next-line no-fallthrough\n case \"array\":\n if (margin.length === 2) {\n margin = [margin[0], margin[1], margin[0], margin[1]];\n }\n if (margin.length === 4) {\n break;\n }\n // eslint-disable-next-line no-fallthrough\n default:\n return this.error(\"Invalid margin array.\");\n }\n\n // Set the margin property, then update pageSize.\n this.opt.margin = margin;\n }).then(this.setPageSize);\n };\n\n Worker.prototype.setPageSize = function setPageSize(pageSize) {\n function toPx(val, k) {\n return Math.floor(((val * k) / 72) * 96);\n }\n\n return this.then(function setPageSize_main() {\n // Retrieve page-size based on jsPDF settings, if not explicitly provided.\n pageSize = pageSize || jsPDF.getPageSize(this.opt.jsPDF);\n\n // Add 'inner' field if not present.\n if (!pageSize.hasOwnProperty(\"inner\")) {\n pageSize.inner = {\n width: pageSize.width - this.opt.margin[1] - this.opt.margin[3],\n height: pageSize.height - this.opt.margin[0] - this.opt.margin[2]\n };\n pageSize.inner.px = {\n width: toPx(pageSize.inner.width, pageSize.k),\n height: toPx(pageSize.inner.height, pageSize.k)\n };\n pageSize.inner.ratio = pageSize.inner.height / pageSize.inner.width;\n }\n\n // Attach pageSize to this.\n this.prop.pageSize = pageSize;\n });\n };\n\n Worker.prototype.setProgress = function setProgress(val, state, n, stack) {\n // Immediately update all progress values.\n if (val != null) this.progress.val = val;\n if (state != null) this.progress.state = state;\n if (n != null) this.progress.n = n;\n if (stack != null) this.progress.stack = stack;\n this.progress.ratio = this.progress.val / this.progress.state;\n\n // Return this for command chaining.\n return this;\n };\n\n Worker.prototype.updateProgress = function updateProgress(\n val,\n state,\n n,\n stack\n ) {\n // Immediately update all progress values, using setProgress.\n return this.setProgress(\n val ? this.progress.val + val : null,\n state ? state : null,\n n ? this.progress.n + n : null,\n stack ? this.progress.stack.concat(stack) : null\n );\n };\n\n /* ----- PROMISE MAPPING ----- */\n\n Worker.prototype.then = function then(onFulfilled, onRejected) {\n // Wrap `this` for encapsulation.\n var self = this;\n\n return this.thenCore(onFulfilled, onRejected, function then_main(\n onFulfilled,\n onRejected\n ) {\n // Update progress while queuing, calling, and resolving `then`.\n self.updateProgress(null, null, 1, [onFulfilled]);\n return Promise.prototype.then\n .call(this, function then_pre(val) {\n self.updateProgress(null, onFulfilled);\n return val;\n })\n .then(onFulfilled, onRejected)\n .then(function then_post(val) {\n self.updateProgress(1);\n return val;\n });\n });\n };\n\n Worker.prototype.thenCore = function thenCore(\n onFulfilled,\n onRejected,\n thenBase\n ) {\n // Handle optional thenBase parameter.\n thenBase = thenBase || Promise.prototype.then;\n\n // Wrap `this` for encapsulation and bind it to the promise handlers.\n var self = this;\n if (onFulfilled) {\n onFulfilled = onFulfilled.bind(self);\n }\n if (onRejected) {\n onRejected = onRejected.bind(self);\n }\n\n // Cast self into a Promise to avoid polyfills recursively defining `then`.\n var isNative =\n Promise.toString().indexOf(\"[native code]\") !== -1 &&\n Promise.name === \"Promise\";\n var selfPromise = isNative\n ? self\n : Worker.convert(Object.assign({}, self), Promise.prototype);\n\n // Return the promise, after casting it into a Worker and preserving props.\n var returnVal = thenBase.call(selfPromise, onFulfilled, onRejected);\n return Worker.convert(returnVal, self.__proto__);\n };\n\n Worker.prototype.thenExternal = function thenExternal(\n onFulfilled,\n onRejected\n ) {\n // Call `then` and return a standard promise (exits the Worker chain).\n return Promise.prototype.then.call(this, onFulfilled, onRejected);\n };\n\n Worker.prototype.thenList = function thenList(fns) {\n // Queue a series of promise 'factories' into the promise chain.\n var self = this;\n fns.forEach(function thenList_forEach(fn) {\n self = self.thenCore(fn);\n });\n return self;\n };\n\n Worker.prototype[\"catch\"] = function(onRejected) {\n // Bind `this` to the promise handler, call `catch`, and return a Worker.\n if (onRejected) {\n onRejected = onRejected.bind(this);\n }\n var returnVal = Promise.prototype[\"catch\"].call(this, onRejected);\n return Worker.convert(returnVal, this);\n };\n\n Worker.prototype.catchExternal = function catchExternal(onRejected) {\n // Call `catch` and return a standard promise (exits the Worker chain).\n return Promise.prototype[\"catch\"].call(this, onRejected);\n };\n\n Worker.prototype.error = function error(msg) {\n // Throw the error in the Promise chain.\n return this.then(function error_main() {\n throw new Error(msg);\n });\n };\n\n /* ----- ALIASES ----- */\n\n Worker.prototype.using = Worker.prototype.set;\n Worker.prototype.saveAs = Worker.prototype.save;\n Worker.prototype.export = Worker.prototype.output;\n Worker.prototype.run = Worker.prototype.then;\n\n // Get dimensions of a PDF page, as determined by jsPDF.\n jsPDF.getPageSize = function(orientation, unit, format) {\n // Decode options object\n if (typeof orientation === \"object\") {\n var options = orientation;\n orientation = options.orientation;\n unit = options.unit || unit;\n format = options.format || format;\n }\n\n // Default options\n unit = unit || \"mm\";\n format = format || \"a4\";\n orientation = (\"\" + (orientation || \"P\")).toLowerCase();\n var format_as_string = (\"\" + format).toLowerCase();\n\n // Size in pt of various paper formats\n var pageFormats = {\n a0: [2383.94, 3370.39],\n a1: [1683.78, 2383.94],\n a2: [1190.55, 1683.78],\n a3: [841.89, 1190.55],\n a4: [595.28, 841.89],\n a5: [419.53, 595.28],\n a6: [297.64, 419.53],\n a7: [209.76, 297.64],\n a8: [147.4, 209.76],\n a9: [104.88, 147.4],\n a10: [73.7, 104.88],\n b0: [2834.65, 4008.19],\n b1: [2004.09, 2834.65],\n b2: [1417.32, 2004.09],\n b3: [1000.63, 1417.32],\n b4: [708.66, 1000.63],\n b5: [498.9, 708.66],\n b6: [354.33, 498.9],\n b7: [249.45, 354.33],\n b8: [175.75, 249.45],\n b9: [124.72, 175.75],\n b10: [87.87, 124.72],\n c0: [2599.37, 3676.54],\n c1: [1836.85, 2599.37],\n c2: [1298.27, 1836.85],\n c3: [918.43, 1298.27],\n c4: [649.13, 918.43],\n c5: [459.21, 649.13],\n c6: [323.15, 459.21],\n c7: [229.61, 323.15],\n c8: [161.57, 229.61],\n c9: [113.39, 161.57],\n c10: [79.37, 113.39],\n dl: [311.81, 623.62],\n letter: [612, 792],\n \"government-letter\": [576, 756],\n legal: [612, 1008],\n \"junior-legal\": [576, 360],\n ledger: [1224, 792],\n tabloid: [792, 1224],\n \"credit-card\": [153, 243]\n };\n\n var k;\n // Unit conversion\n switch (unit) {\n case \"pt\":\n k = 1;\n break;\n case \"mm\":\n k = 72 / 25.4;\n break;\n case \"cm\":\n k = 72 / 2.54;\n break;\n case \"in\":\n k = 72;\n break;\n case \"px\":\n k = 72 / 96;\n break;\n case \"pc\":\n k = 12;\n break;\n case \"em\":\n k = 12;\n break;\n case \"ex\":\n k = 6;\n break;\n default:\n throw \"Invalid unit: \" + unit;\n }\n var pageHeight = 0;\n var pageWidth = 0;\n\n // Dimensions are stored as user units and converted to points on output\n if (pageFormats.hasOwnProperty(format_as_string)) {\n pageHeight = pageFormats[format_as_string][1] / k;\n pageWidth = pageFormats[format_as_string][0] / k;\n } else {\n try {\n pageHeight = format[1];\n pageWidth = format[0];\n } catch (err) {\n throw new Error(\"Invalid format: \" + format);\n }\n }\n\n var tmp;\n // Handle page orientation\n if (orientation === \"p\" || orientation === \"portrait\") {\n orientation = \"p\";\n if (pageWidth > pageHeight) {\n tmp = pageWidth;\n pageWidth = pageHeight;\n pageHeight = tmp;\n }\n } else if (orientation === \"l\" || orientation === \"landscape\") {\n orientation = \"l\";\n if (pageHeight > pageWidth) {\n tmp = pageWidth;\n pageWidth = pageHeight;\n pageHeight = tmp;\n }\n } else {\n throw \"Invalid orientation: \" + orientation;\n }\n\n // Return information (k is the unit conversion ratio from pts)\n var info = {\n width: pageWidth,\n height: pageHeight,\n unit: unit,\n k: k,\n orientation: orientation\n };\n return info;\n };\n\n /**\n * @typedef FontFace\n *\n * The font-face type implements an interface similar to that of the font-face CSS rule,\n * and is used by jsPDF to match fonts when the font property of CanvasRenderingContext2D\n * is updated.\n *\n * All properties expect values similar to those in the font-face CSS rule. A difference\n * is the font-family, which do not need to be enclosed in double-quotes when containing\n * spaces like in CSS.\n *\n * @property {string} family The name of the font-family.\n * @property {string|undefined} style The style that this font-face defines, e.g. 'italic'.\n * @property {string|number|undefined} weight The weight of the font, either as a string or a number (400, 500, 600, e.g.)\n * @property {string|undefined} stretch The stretch of the font, e.g. condensed, normal, expanded.\n * @property {Object[]} src A list of URLs from where fonts of various formats can be fetched.\n * @property {string} [src] url A URL to a font of a specific format.\n * @property {string} [src] format Format of the font referenced by the URL.\n */\n\n /**\n * Generate a PDF from an HTML element or string using.\n *\n * @name html\n * @function\n * @param {HTMLElement|string} source The source HTMLElement or a string containing HTML.\n * @param {Object} [options] Collection of settings\n * @param {function} [options.callback] The mandatory callback-function gets as first parameter the current jsPDF instance\n * @param {(number|number[])=} [options.margin] Page margins [top, right, bottom, left]. Default is 0.\n * @param {(boolean|'slice'|'text')=} [options.autoPaging] The auto paging mode.\n *
      \n *
    • \n * false: Auto paging is disabled.\n *
    • \n *
    • \n * true or 'slice': Will cut shapes or text chunks across page breaks. Will possibly\n * slice text in half, making it difficult to read.\n *
    • \n *
    • \n * 'text': Trys not to cut text in half across page breaks. Works best for documents consisting\n * mostly of a single column of text.\n *
    • \n *
    \n * Default is true.\n * @param {string} [options.filename] name of the file\n * @param {HTMLOptionImage} [options.image] image settings when converting HTML to image\n * @param {Html2CanvasOptions} [options.html2canvas] html2canvas options\n * @param {FontFace[]} [options.fontFaces] A list of font-faces to match when resolving fonts. Fonts will be added to the PDF based on the specified URL. If omitted, the font match algorithm falls back to old algorithm.\n * @param {jsPDF} [options.jsPDF] jsPDF instance\n * @param {number=} [options.x] x position on the PDF document in jsPDF units.\n * @param {number=} [options.y] y position on the PDF document in jsPDF units.\n * @param {number=} [options.width] The target width in the PDF document in jsPDF units. The rendered element will be\n * scaled such that it fits into the specified width. Has no effect if either the html2canvas.scale is\n * specified or the windowWidth option is NOT specified.\n * @param {number=} [options.windowWidth] The window width in CSS pixels. In contrast to the\n * html2canvas.windowWidth option, this option affects the actual container size while rendering and\n * does NOT affect CSS media queries. This option only has an effect, if the width option is also specified.\n *\n * @example\n * var doc = new jsPDF();\n *\n * doc.html(document.body, {\n * callback: function (doc) {\n * doc.save();\n * },\n * x: 10,\n * y: 10\n * });\n */\n jsPDFAPI.html = function(src, options) {\n \"use strict\";\n\n options = options || {};\n options.callback = options.callback || function() {};\n options.html2canvas = options.html2canvas || {};\n options.html2canvas.canvas = options.html2canvas.canvas || this.canvas;\n options.jsPDF = options.jsPDF || this;\n options.fontFaces = options.fontFaces\n ? options.fontFaces.map(normalizeFontFace)\n : null;\n\n // Create a new worker with the given options.\n var worker = new Worker(options);\n\n if (!options.worker) {\n // If worker is not set to true, perform the traditional 'simple' operation.\n return worker.from(src).doCallback();\n } else {\n // Otherwise, return the worker for new Promise-based operation.\n return worker;\n }\n };\n})(jsPDF.API);\n","/**\n * @license\n * Copyright (c) 2014 Steven Spungin (TwelveTone LLC) steven@twelvetone.tv\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\n\nimport { jsPDF } from \"../jspdf.js\";\n\n/**\n * jsPDF Outline PlugIn\n *\n * Generates a PDF Outline\n * @name outline\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n\n var namesOid;\n //var destsGoto = [];\n\n jsPDFAPI.events.push([\n \"postPutResources\",\n function() {\n var pdf = this;\n var rx = /^(\\d+) 0 obj$/;\n\n // Write action goto objects for each page\n // this.outline.destsGoto = [];\n // for (var i = 0; i < totalPages; i++) {\n // var id = pdf.internal.newObject();\n // this.outline.destsGoto.push(id);\n // pdf.internal.write(\"<> endobj\");\n // }\n //\n // for (var i = 0; i < dests.length; i++) {\n // pdf.internal.write(\"(page_\" + (i + 1) + \")\" + dests[i] + \" 0\n // R\");\n // }\n //\n if (this.outline.root.children.length > 0) {\n var lines = pdf.outline.render().split(/\\r\\n/);\n for (var i = 0; i < lines.length; i++) {\n var line = lines[i];\n var m = rx.exec(line);\n if (m != null) {\n var oid = m[1];\n pdf.internal.newObjectDeferredBegin(oid, false);\n }\n pdf.internal.write(line);\n }\n }\n\n // This code will write named destination for each page reference\n // (page_1, etc)\n if (this.outline.createNamedDestinations) {\n var totalPages = this.internal.pages.length;\n // WARNING: this assumes jsPDF starts on page 3 and pageIDs\n // follow 5, 7, 9, etc\n // Write destination objects for each page\n var dests = [];\n for (var i = 0; i < totalPages; i++) {\n var id = pdf.internal.newObject();\n dests.push(id);\n var info = pdf.internal.getPageInfo(i + 1);\n pdf.internal.write(\n \"<< /D[\" + info.objId + \" 0 R /XYZ null null null]>> endobj\"\n );\n }\n\n // assign a name for each destination\n var names2Oid = pdf.internal.newObject();\n pdf.internal.write(\"<< /Names [ \");\n for (var i = 0; i < dests.length; i++) {\n pdf.internal.write(\"(page_\" + (i + 1) + \")\" + dests[i] + \" 0 R\");\n }\n pdf.internal.write(\" ] >>\", \"endobj\");\n\n // var kids = pdf.internal.newObject();\n // pdf.internal.write('<< /Kids [ ' + names2Oid + ' 0 R');\n // pdf.internal.write(' ] >>', 'endobj');\n\n namesOid = pdf.internal.newObject();\n pdf.internal.write(\"<< /Dests \" + names2Oid + \" 0 R\");\n pdf.internal.write(\">>\", \"endobj\");\n }\n }\n ]);\n\n jsPDFAPI.events.push([\n \"putCatalog\",\n function() {\n var pdf = this;\n if (pdf.outline.root.children.length > 0) {\n pdf.internal.write(\n \"/Outlines\",\n this.outline.makeRef(this.outline.root)\n );\n if (this.outline.createNamedDestinations) {\n pdf.internal.write(\"/Names \" + namesOid + \" 0 R\");\n }\n // Open with Bookmarks showing\n // pdf.internal.write(\"/PageMode /UseOutlines\");\n }\n }\n ]);\n\n jsPDFAPI.events.push([\n \"initialized\",\n function() {\n var pdf = this;\n\n pdf.outline = {\n createNamedDestinations: false,\n root: {\n children: []\n }\n };\n\n /**\n * Options: pageNumber\n */\n pdf.outline.add = function(parent, title, options) {\n var item = {\n title: title,\n options: options,\n children: []\n };\n if (parent == null) {\n parent = this.root;\n }\n parent.children.push(item);\n return item;\n };\n\n pdf.outline.render = function() {\n this.ctx = {};\n this.ctx.val = \"\";\n this.ctx.pdf = pdf;\n\n this.genIds_r(this.root);\n this.renderRoot(this.root);\n this.renderItems(this.root);\n\n return this.ctx.val;\n };\n\n pdf.outline.genIds_r = function(node) {\n node.id = pdf.internal.newObjectDeferred();\n for (var i = 0; i < node.children.length; i++) {\n this.genIds_r(node.children[i]);\n }\n };\n\n pdf.outline.renderRoot = function(node) {\n this.objStart(node);\n this.line(\"/Type /Outlines\");\n if (node.children.length > 0) {\n this.line(\"/First \" + this.makeRef(node.children[0]));\n this.line(\n \"/Last \" + this.makeRef(node.children[node.children.length - 1])\n );\n }\n this.line(\n \"/Count \" +\n this.count_r(\n {\n count: 0\n },\n node\n )\n );\n this.objEnd();\n };\n\n pdf.outline.renderItems = function(node) {\n var getVerticalCoordinateString = this.ctx.pdf.internal\n .getVerticalCoordinateString;\n for (var i = 0; i < node.children.length; i++) {\n var item = node.children[i];\n this.objStart(item);\n\n this.line(\"/Title \" + this.makeString(item.title));\n\n this.line(\"/Parent \" + this.makeRef(node));\n if (i > 0) {\n this.line(\"/Prev \" + this.makeRef(node.children[i - 1]));\n }\n if (i < node.children.length - 1) {\n this.line(\"/Next \" + this.makeRef(node.children[i + 1]));\n }\n if (item.children.length > 0) {\n this.line(\"/First \" + this.makeRef(item.children[0]));\n this.line(\n \"/Last \" + this.makeRef(item.children[item.children.length - 1])\n );\n }\n\n var count = (this.count = this.count_r(\n {\n count: 0\n },\n item\n ));\n if (count > 0) {\n this.line(\"/Count \" + count);\n }\n\n if (item.options) {\n if (item.options.pageNumber) {\n // Explicit Destination\n //WARNING this assumes page ids are 3,5,7, etc.\n var info = pdf.internal.getPageInfo(item.options.pageNumber);\n this.line(\n \"/Dest \" +\n \"[\" +\n info.objId +\n \" 0 R /XYZ 0 \" +\n getVerticalCoordinateString(0) +\n \" 0]\"\n );\n // this line does not work on all clients (pageNumber instead of page ref)\n //this.line('/Dest ' + '[' + (item.options.pageNumber - 1) + ' /XYZ 0 ' + this.ctx.pdf.internal.pageSize.getHeight() + ' 0]');\n\n // Named Destination\n // this.line('/Dest (page_' + (item.options.pageNumber) + ')');\n\n // Action Destination\n // var id = pdf.internal.newObject();\n // pdf.internal.write('<> endobj');\n // this.line('/A ' + id + ' 0 R' );\n }\n }\n this.objEnd();\n }\n for (var z = 0; z < node.children.length; z++) {\n this.renderItems(node.children[z]);\n }\n };\n\n pdf.outline.line = function(text) {\n this.ctx.val += text + \"\\r\\n\";\n };\n\n pdf.outline.makeRef = function(node) {\n return node.id + \" 0 R\";\n };\n\n pdf.outline.makeString = function(val) {\n return \"(\" + pdf.internal.pdfEscape(val) + \")\";\n };\n\n pdf.outline.objStart = function(node) {\n this.ctx.val += \"\\r\\n\" + node.id + \" 0 obj\" + \"\\r\\n<<\\r\\n\";\n };\n\n pdf.outline.objEnd = function() {\n this.ctx.val += \">> \\r\\n\" + \"endobj\" + \"\\r\\n\";\n };\n\n pdf.outline.count_r = function(ctx, node) {\n for (var i = 0; i < node.children.length; i++) {\n ctx.count++;\n this.count_r(ctx, node.children[i]);\n }\n return ctx.count;\n };\n }\n ]);\n\n return this;\n})(jsPDF.API);\n","/**\n * @license\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\n\nimport { jsPDF } from \"../jspdf.js\";\n\n/**\n * jsPDF jpeg Support PlugIn\n *\n * @name jpeg_support\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n\n /**\n * 0xc0 (SOF) Huffman - Baseline DCT\n * 0xc1 (SOF) Huffman - Extended sequential DCT\n * 0xc2 Progressive DCT (SOF2)\n * 0xc3 Spatial (sequential) lossless (SOF3)\n * 0xc4 Differential sequential DCT (SOF5)\n * 0xc5 Differential progressive DCT (SOF6)\n * 0xc6 Differential spatial (SOF7)\n * 0xc7\n */\n var markers = [0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7];\n\n //takes a string imgData containing the raw bytes of\n //a jpeg image and returns [width, height]\n //Algorithm from: http://www.64lines.com/jpeg-width-height\n var getJpegInfo = function(imgData) {\n var width, height, numcomponents;\n var blockLength = imgData.charCodeAt(4) * 256 + imgData.charCodeAt(5);\n var len = imgData.length;\n var result = { width: 0, height: 0, numcomponents: 1 };\n for (var i = 4; i < len; i += 2) {\n i += blockLength;\n if (markers.indexOf(imgData.charCodeAt(i + 1)) !== -1) {\n height = imgData.charCodeAt(i + 5) * 256 + imgData.charCodeAt(i + 6);\n width = imgData.charCodeAt(i + 7) * 256 + imgData.charCodeAt(i + 8);\n numcomponents = imgData.charCodeAt(i + 9);\n result = { width: width, height: height, numcomponents: numcomponents };\n break;\n } else {\n blockLength =\n imgData.charCodeAt(i + 2) * 256 + imgData.charCodeAt(i + 3);\n }\n }\n return result;\n };\n\n /**\n * @ignore\n */\n jsPDFAPI.processJPEG = function(\n data,\n index,\n alias,\n compression,\n dataAsBinaryString,\n colorSpace\n ) {\n var filter = this.decode.DCT_DECODE,\n bpc = 8,\n dims,\n result = null;\n\n if (\n typeof data === \"string\" ||\n this.__addimage__.isArrayBuffer(data) ||\n this.__addimage__.isArrayBufferView(data)\n ) {\n // if we already have a stored binary string rep use that\n data = dataAsBinaryString || data;\n data = this.__addimage__.isArrayBuffer(data)\n ? new Uint8Array(data)\n : data;\n data = this.__addimage__.isArrayBufferView(data)\n ? this.__addimage__.arrayBufferToBinaryString(data)\n : data;\n\n dims = getJpegInfo(data);\n switch (dims.numcomponents) {\n case 1:\n colorSpace = this.color_spaces.DEVICE_GRAY;\n break;\n case 4:\n colorSpace = this.color_spaces.DEVICE_CMYK;\n break;\n case 3:\n colorSpace = this.color_spaces.DEVICE_RGB;\n break;\n }\n\n result = {\n data: data,\n width: dims.width,\n height: dims.height,\n colorSpace: colorSpace,\n bitsPerComponent: bpc,\n filter: filter,\n index: index,\n alias: alias\n };\n }\n return result;\n };\n})(jsPDF.API);\n","// Generated by CoffeeScript 1.4.0\n\n/**\n * @license\n * PNG.js\n * Copyright (c) 2011 Devon Govett\n * MIT LICENSE\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy of this\n * software and associated documentation files (the \"Software\"), to deal in the Software\n * without restriction, including without limitation the rights to use, copy, modify, merge,\n * publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons\n * to whom the Software is furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all copies or\n * substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING\n * BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\n\nimport { unzlibSync } from \"./fflate.js\";\nimport { globalObject } from \"./globalObject.js\";\n\nvar PNG = (function() {\n var APNG_BLEND_OP_OVER,\n APNG_BLEND_OP_SOURCE,\n APNG_DISPOSE_OP_BACKGROUND,\n APNG_DISPOSE_OP_NONE,\n APNG_DISPOSE_OP_PREVIOUS,\n makeImage,\n scratchCanvas,\n scratchCtx;\n\n APNG_DISPOSE_OP_NONE = 0;\n\n APNG_DISPOSE_OP_BACKGROUND = 1;\n\n APNG_DISPOSE_OP_PREVIOUS = 2;\n\n APNG_BLEND_OP_SOURCE = 0;\n\n APNG_BLEND_OP_OVER = 1;\n\n function PNG(data) {\n var chunkSize,\n colors,\n palLen,\n delayDen,\n delayNum,\n frame,\n i,\n index,\n key,\n section,\n palShort,\n text,\n _i,\n _j,\n _ref;\n this.data = data;\n this.pos = 8;\n this.palette = [];\n this.imgData = [];\n this.transparency = {};\n this.animation = null;\n this.text = {};\n frame = null;\n while (true) {\n chunkSize = this.readUInt32();\n section = function() {\n var _i, _results;\n _results = [];\n for (i = _i = 0; _i < 4; i = ++_i) {\n _results.push(String.fromCharCode(this.data[this.pos++]));\n }\n return _results;\n }\n .call(this)\n .join(\"\");\n switch (section) {\n case \"IHDR\":\n this.width = this.readUInt32();\n this.height = this.readUInt32();\n this.bits = this.data[this.pos++];\n this.colorType = this.data[this.pos++];\n this.compressionMethod = this.data[this.pos++];\n this.filterMethod = this.data[this.pos++];\n this.interlaceMethod = this.data[this.pos++];\n break;\n case \"acTL\":\n this.animation = {\n numFrames: this.readUInt32(),\n numPlays: this.readUInt32() || Infinity,\n frames: []\n };\n break;\n case \"PLTE\":\n this.palette = this.read(chunkSize);\n break;\n case \"fcTL\":\n if (frame) {\n this.animation.frames.push(frame);\n }\n this.pos += 4;\n frame = {\n width: this.readUInt32(),\n height: this.readUInt32(),\n xOffset: this.readUInt32(),\n yOffset: this.readUInt32()\n };\n delayNum = this.readUInt16();\n delayDen = this.readUInt16() || 100;\n frame.delay = (1000 * delayNum) / delayDen;\n frame.disposeOp = this.data[this.pos++];\n frame.blendOp = this.data[this.pos++];\n frame.data = [];\n break;\n case \"IDAT\":\n case \"fdAT\":\n if (section === \"fdAT\") {\n this.pos += 4;\n chunkSize -= 4;\n }\n data = (frame != null ? frame.data : void 0) || this.imgData;\n for (\n i = _i = 0;\n 0 <= chunkSize ? _i < chunkSize : _i > chunkSize;\n i = 0 <= chunkSize ? ++_i : --_i\n ) {\n data.push(this.data[this.pos++]);\n }\n break;\n case \"tRNS\":\n this.transparency = {};\n switch (this.colorType) {\n case 3:\n palLen = this.palette.length / 3;\n this.transparency.indexed = this.read(chunkSize);\n if (this.transparency.indexed.length > palLen)\n throw new Error(\"More transparent colors than palette size\");\n /*\n * According to the PNG spec trns should be increased to the same size as palette if shorter\n */\n //palShort = 255 - this.transparency.indexed.length;\n palShort = palLen - this.transparency.indexed.length;\n if (palShort > 0) {\n for (\n i = _j = 0;\n 0 <= palShort ? _j < palShort : _j > palShort;\n i = 0 <= palShort ? ++_j : --_j\n ) {\n this.transparency.indexed.push(255);\n }\n }\n break;\n case 0:\n this.transparency.grayscale = this.read(chunkSize)[0];\n break;\n case 2:\n this.transparency.rgb = this.read(chunkSize);\n }\n break;\n case \"tEXt\":\n text = this.read(chunkSize);\n index = text.indexOf(0);\n key = String.fromCharCode.apply(String, text.slice(0, index));\n this.text[key] = String.fromCharCode.apply(\n String,\n text.slice(index + 1)\n );\n break;\n case \"IEND\":\n if (frame) {\n this.animation.frames.push(frame);\n }\n this.colors = function() {\n switch (this.colorType) {\n case 0:\n case 3:\n case 4:\n return 1;\n case 2:\n case 6:\n return 3;\n }\n }.call(this);\n this.hasAlphaChannel = (_ref = this.colorType) === 4 || _ref === 6;\n colors = this.colors + (this.hasAlphaChannel ? 1 : 0);\n this.pixelBitlength = this.bits * colors;\n this.colorSpace = function() {\n switch (this.colors) {\n case 1:\n return \"DeviceGray\";\n case 3:\n return \"DeviceRGB\";\n }\n }.call(this);\n this.imgData = new Uint8Array(this.imgData);\n return;\n default:\n this.pos += chunkSize;\n }\n this.pos += 4;\n if (this.pos > this.data.length) {\n throw new Error(\"Incomplete or corrupt PNG file\");\n }\n }\n }\n\n PNG.prototype.read = function(bytes) {\n var i, _i, _results;\n _results = [];\n for (\n i = _i = 0;\n 0 <= bytes ? _i < bytes : _i > bytes;\n i = 0 <= bytes ? ++_i : --_i\n ) {\n _results.push(this.data[this.pos++]);\n }\n return _results;\n };\n\n PNG.prototype.readUInt32 = function() {\n var b1, b2, b3, b4;\n b1 = this.data[this.pos++] << 24;\n b2 = this.data[this.pos++] << 16;\n b3 = this.data[this.pos++] << 8;\n b4 = this.data[this.pos++];\n return b1 | b2 | b3 | b4;\n };\n\n PNG.prototype.readUInt16 = function() {\n var b1, b2;\n b1 = this.data[this.pos++] << 8;\n b2 = this.data[this.pos++];\n return b1 | b2;\n };\n\n PNG.prototype.decodePixels = function(data) {\n var pixelBytes = this.pixelBitlength / 8;\n var fullPixels = new Uint8Array(this.width * this.height * pixelBytes);\n var pos = 0;\n var _this = this;\n\n if (data == null) {\n data = this.imgData;\n }\n if (data.length === 0) {\n return new Uint8Array(0);\n }\n\n data = unzlibSync(data);\n function pass(x0, y0, dx, dy) {\n var abyte,\n c,\n col,\n i,\n left,\n length,\n p,\n pa,\n paeth,\n pb,\n pc,\n pixels,\n row,\n scanlineLength,\n upper,\n upperLeft,\n _i,\n _j,\n _k,\n _l,\n _m;\n var w = Math.ceil((_this.width - x0) / dx),\n h = Math.ceil((_this.height - y0) / dy);\n var isFull = _this.width == w && _this.height == h;\n scanlineLength = pixelBytes * w;\n pixels = isFull ? fullPixels : new Uint8Array(scanlineLength * h);\n length = data.length;\n row = 0;\n c = 0;\n while (row < h && pos < length) {\n switch (data[pos++]) {\n case 0:\n for (i = _i = 0; _i < scanlineLength; i = _i += 1) {\n pixels[c++] = data[pos++];\n }\n break;\n case 1:\n for (i = _j = 0; _j < scanlineLength; i = _j += 1) {\n abyte = data[pos++];\n left = i < pixelBytes ? 0 : pixels[c - pixelBytes];\n pixels[c++] = (abyte + left) % 256;\n }\n break;\n case 2:\n for (i = _k = 0; _k < scanlineLength; i = _k += 1) {\n abyte = data[pos++];\n col = (i - (i % pixelBytes)) / pixelBytes;\n upper =\n row &&\n pixels[\n (row - 1) * scanlineLength +\n col * pixelBytes +\n (i % pixelBytes)\n ];\n pixels[c++] = (upper + abyte) % 256;\n }\n break;\n case 3:\n for (i = _l = 0; _l < scanlineLength; i = _l += 1) {\n abyte = data[pos++];\n col = (i - (i % pixelBytes)) / pixelBytes;\n left = i < pixelBytes ? 0 : pixels[c - pixelBytes];\n upper =\n row &&\n pixels[\n (row - 1) * scanlineLength +\n col * pixelBytes +\n (i % pixelBytes)\n ];\n pixels[c++] = (abyte + Math.floor((left + upper) / 2)) % 256;\n }\n break;\n case 4:\n for (i = _m = 0; _m < scanlineLength; i = _m += 1) {\n abyte = data[pos++];\n col = (i - (i % pixelBytes)) / pixelBytes;\n left = i < pixelBytes ? 0 : pixels[c - pixelBytes];\n if (row === 0) {\n upper = upperLeft = 0;\n } else {\n upper =\n pixels[\n (row - 1) * scanlineLength +\n col * pixelBytes +\n (i % pixelBytes)\n ];\n upperLeft =\n col &&\n pixels[\n (row - 1) * scanlineLength +\n (col - 1) * pixelBytes +\n (i % pixelBytes)\n ];\n }\n p = left + upper - upperLeft;\n pa = Math.abs(p - left);\n pb = Math.abs(p - upper);\n pc = Math.abs(p - upperLeft);\n if (pa <= pb && pa <= pc) {\n paeth = left;\n } else if (pb <= pc) {\n paeth = upper;\n } else {\n paeth = upperLeft;\n }\n pixels[c++] = (abyte + paeth) % 256;\n }\n break;\n default:\n throw new Error(\"Invalid filter algorithm: \" + data[pos - 1]);\n }\n if (!isFull) {\n var fullPos = ((y0 + row * dy) * _this.width + x0) * pixelBytes;\n var partPos = row * scanlineLength;\n for (i = 0; i < w; i += 1) {\n for (var j = 0; j < pixelBytes; j += 1)\n fullPixels[fullPos++] = pixels[partPos++];\n fullPos += (dx - 1) * pixelBytes;\n }\n }\n row++;\n }\n }\n if (_this.interlaceMethod == 1) {\n /*\n 1 6 4 6 2 6 4 6\n 7 7 7 7 7 7 7 7\n 5 6 5 6 5 6 5 6\n 7 7 7 7 7 7 7 7\n 3 6 4 6 3 6 4 6\n 7 7 7 7 7 7 7 7\n 5 6 5 6 5 6 5 6\n 7 7 7 7 7 7 7 7\n */\n pass(0, 0, 8, 8); // 1\n /* NOTE these seem to follow the pattern:\n * pass(x, 0, 2*x, 2*x);\n * pass(0, x, x, 2*x);\n * with x being 4, 2, 1.\n */\n pass(4, 0, 8, 8); // 2\n pass(0, 4, 4, 8); // 3\n\n pass(2, 0, 4, 4); // 4\n pass(0, 2, 2, 4); // 5\n\n pass(1, 0, 2, 2); // 6\n pass(0, 1, 1, 2); // 7\n } else {\n pass(0, 0, 1, 1);\n }\n return fullPixels;\n };\n\n PNG.prototype.decodePalette = function() {\n var c, i, length, palette, pos, ret, transparency, _i, _ref, _ref1;\n palette = this.palette;\n transparency = this.transparency.indexed || [];\n ret = new Uint8Array((transparency.length || 0) + palette.length);\n pos = 0;\n length = palette.length;\n c = 0;\n for (i = _i = 0, _ref = length; _i < _ref; i = _i += 3) {\n ret[pos++] = palette[i];\n ret[pos++] = palette[i + 1];\n ret[pos++] = palette[i + 2];\n ret[pos++] = (_ref1 = transparency[c++]) != null ? _ref1 : 255;\n }\n return ret;\n };\n\n PNG.prototype.copyToImageData = function(imageData, pixels) {\n var alpha, colors, data, i, input, j, k, length, palette, v, _ref;\n colors = this.colors;\n palette = null;\n alpha = this.hasAlphaChannel;\n if (this.palette.length) {\n palette =\n (_ref = this._decodedPalette) != null\n ? _ref\n : (this._decodedPalette = this.decodePalette());\n colors = 4;\n alpha = true;\n }\n data = imageData.data || imageData;\n length = data.length;\n input = palette || pixels;\n i = j = 0;\n if (colors === 1) {\n while (i < length) {\n k = palette ? pixels[i / 4] * 4 : j;\n v = input[k++];\n data[i++] = v;\n data[i++] = v;\n data[i++] = v;\n data[i++] = alpha ? input[k++] : 255;\n j = k;\n }\n } else {\n while (i < length) {\n k = palette ? pixels[i / 4] * 4 : j;\n data[i++] = input[k++];\n data[i++] = input[k++];\n data[i++] = input[k++];\n data[i++] = alpha ? input[k++] : 255;\n j = k;\n }\n }\n };\n\n PNG.prototype.decode = function() {\n var ret;\n ret = new Uint8Array(this.width * this.height * 4);\n this.copyToImageData(ret, this.decodePixels());\n return ret;\n };\n\n var hasBrowserCanvas = function() {\n if (Object.prototype.toString.call(globalObject) === \"[object Window]\") {\n try {\n scratchCanvas = globalObject.document.createElement(\"canvas\");\n scratchCtx = scratchCanvas.getContext(\"2d\");\n } catch (e) {\n return false;\n }\n return true;\n }\n return false;\n };\n\n hasBrowserCanvas();\n\n makeImage = function(imageData) {\n if (hasBrowserCanvas() === true) {\n var img;\n scratchCtx.width = imageData.width;\n scratchCtx.height = imageData.height;\n scratchCtx.clearRect(0, 0, imageData.width, imageData.height);\n scratchCtx.putImageData(imageData, 0, 0);\n img = new Image();\n img.src = scratchCanvas.toDataURL();\n return img;\n }\n throw new Error(\"This method requires a Browser with Canvas-capability.\");\n };\n\n PNG.prototype.decodeFrames = function(ctx) {\n var frame, i, imageData, pixels, _i, _len, _ref, _results;\n if (!this.animation) {\n return;\n }\n _ref = this.animation.frames;\n _results = [];\n for (i = _i = 0, _len = _ref.length; _i < _len; i = ++_i) {\n frame = _ref[i];\n imageData = ctx.createImageData(frame.width, frame.height);\n pixels = this.decodePixels(new Uint8Array(frame.data));\n this.copyToImageData(imageData, pixels);\n frame.imageData = imageData;\n _results.push((frame.image = makeImage(imageData)));\n }\n return _results;\n };\n\n PNG.prototype.renderFrame = function(ctx, number) {\n var frame, frames, prev;\n frames = this.animation.frames;\n frame = frames[number];\n prev = frames[number - 1];\n if (number === 0) {\n ctx.clearRect(0, 0, this.width, this.height);\n }\n if (\n (prev != null ? prev.disposeOp : void 0) === APNG_DISPOSE_OP_BACKGROUND\n ) {\n ctx.clearRect(prev.xOffset, prev.yOffset, prev.width, prev.height);\n } else if (\n (prev != null ? prev.disposeOp : void 0) === APNG_DISPOSE_OP_PREVIOUS\n ) {\n ctx.putImageData(prev.imageData, prev.xOffset, prev.yOffset);\n }\n if (frame.blendOp === APNG_BLEND_OP_SOURCE) {\n ctx.clearRect(frame.xOffset, frame.yOffset, frame.width, frame.height);\n }\n return ctx.drawImage(frame.image, frame.xOffset, frame.yOffset);\n };\n\n PNG.prototype.animate = function(ctx) {\n var doFrame,\n frameNumber,\n frames,\n numFrames,\n numPlays,\n _ref,\n _this = this;\n frameNumber = 0;\n (_ref = this.animation),\n (numFrames = _ref.numFrames),\n (frames = _ref.frames),\n (numPlays = _ref.numPlays);\n return (doFrame = function() {\n var f, frame;\n f = frameNumber++ % numFrames;\n frame = frames[f];\n _this.renderFrame(ctx, f);\n if (numFrames > 1 && frameNumber / numFrames < numPlays) {\n return (_this.animation._timeout = setTimeout(doFrame, frame.delay));\n }\n })();\n };\n\n PNG.prototype.stopAnimation = function() {\n var _ref;\n return clearTimeout(\n (_ref = this.animation) != null ? _ref._timeout : void 0\n );\n };\n\n PNG.prototype.render = function(canvas) {\n var ctx, data;\n if (canvas._png) {\n canvas._png.stopAnimation();\n }\n canvas._png = this;\n canvas.width = this.width;\n canvas.height = this.height;\n ctx = canvas.getContext(\"2d\");\n if (this.animation) {\n this.decodeFrames(ctx);\n return this.animate(ctx);\n } else {\n data = ctx.createImageData(this.width, this.height);\n this.copyToImageData(data, this.decodePixels());\n return ctx.putImageData(data, 0, 0);\n }\n };\n\n return PNG;\n})();\n\nexport { PNG };\n","/** @license\n * MIT license.\n * Copyright (c) 2012 Willow Systems Corporation, https://github.com/willowsystems\n * 2014 Diego Casorran, https://github.com/diegocr\n *\n * Permission is hereby granted, free of charge, to any person obtaining\n * a copy of this software and associated documentation files (the\n * \"Software\"), to deal in the Software without restriction, including\n * without limitation the rights to use, copy, modify, merge, publish,\n * distribute, sublicense, and/or sell copies of the Software, and to\n * permit persons to whom the Software is furnished to do so, subject to\n * the following conditions:\n *\n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\n * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\n * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\n * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n * ====================================================================\n */\n\nimport { jsPDF } from \"../jspdf.js\";\n\n/**\n * jsPDF split_text_to_size plugin\n *\n * @name split_text_to_size\n * @module\n */\n(function(API) {\n \"use strict\";\n /**\n * Returns an array of length matching length of the 'word' string, with each\n * cell occupied by the width of the char in that position.\n *\n * @name getCharWidthsArray\n * @function\n * @param {string} text\n * @param {Object} options\n * @returns {Array}\n */\n var getCharWidthsArray = (API.getCharWidthsArray = function(text, options) {\n options = options || {};\n\n var activeFont = options.font || this.internal.getFont();\n var fontSize = options.fontSize || this.internal.getFontSize();\n var charSpace = options.charSpace || this.internal.getCharSpace();\n\n var widths = options.widths\n ? options.widths\n : activeFont.metadata.Unicode.widths;\n var widthsFractionOf = widths.fof ? widths.fof : 1;\n var kerning = options.kerning\n ? options.kerning\n : activeFont.metadata.Unicode.kerning;\n var kerningFractionOf = kerning.fof ? kerning.fof : 1;\n var doKerning = options.doKerning === false ? false : true;\n var kerningValue = 0;\n\n var i;\n var length = text.length;\n var char_code;\n var prior_char_code = 0; //for kerning\n var default_char_width = widths[0] || widthsFractionOf;\n var output = [];\n\n for (i = 0; i < length; i++) {\n char_code = text.charCodeAt(i);\n\n if (typeof activeFont.metadata.widthOfString === \"function\") {\n output.push(\n (activeFont.metadata.widthOfGlyph(\n activeFont.metadata.characterToGlyph(char_code)\n ) +\n charSpace * (1000 / fontSize) || 0) / 1000\n );\n } else {\n if (\n doKerning &&\n typeof kerning[char_code] === \"object\" &&\n !isNaN(parseInt(kerning[char_code][prior_char_code], 10))\n ) {\n kerningValue =\n kerning[char_code][prior_char_code] / kerningFractionOf;\n } else {\n kerningValue = 0;\n }\n output.push(\n (widths[char_code] || default_char_width) / widthsFractionOf +\n kerningValue\n );\n }\n prior_char_code = char_code;\n }\n\n return output;\n });\n\n /**\n * Returns a widths of string in a given font, if the font size is set as 1 point.\n *\n * In other words, this is \"proportional\" value. For 1 unit of font size, the length\n * of the string will be that much.\n *\n * Multiply by font size to get actual width in *points*\n * Then divide by 72 to get inches or divide by (72/25.6) to get 'mm' etc.\n *\n * @name getStringUnitWidth\n * @public\n * @function\n * @param {string} text\n * @param {string} options\n * @returns {number} result\n */\n var getStringUnitWidth = (API.getStringUnitWidth = function(text, options) {\n options = options || {};\n\n var fontSize = options.fontSize || this.internal.getFontSize();\n var font = options.font || this.internal.getFont();\n var charSpace = options.charSpace || this.internal.getCharSpace();\n var result = 0;\n\n if (API.processArabic) {\n text = API.processArabic(text);\n }\n\n if (typeof font.metadata.widthOfString === \"function\") {\n result =\n font.metadata.widthOfString(text, fontSize, charSpace) / fontSize;\n } else {\n result = getCharWidthsArray\n .apply(this, arguments)\n .reduce(function(pv, cv) {\n return pv + cv;\n }, 0);\n }\n return result;\n });\n\n /**\n returns array of lines\n */\n var splitLongWord = function(word, widths_array, firstLineMaxLen, maxLen) {\n var answer = [];\n\n // 1st, chop off the piece that can fit on the hanging line.\n var i = 0,\n l = word.length,\n workingLen = 0;\n while (i !== l && workingLen + widths_array[i] < firstLineMaxLen) {\n workingLen += widths_array[i];\n i++;\n }\n // this is first line.\n answer.push(word.slice(0, i));\n\n // 2nd. Split the rest into maxLen pieces.\n var startOfLine = i;\n workingLen = 0;\n while (i !== l) {\n if (workingLen + widths_array[i] > maxLen) {\n answer.push(word.slice(startOfLine, i));\n workingLen = 0;\n startOfLine = i;\n }\n workingLen += widths_array[i];\n i++;\n }\n if (startOfLine !== i) {\n answer.push(word.slice(startOfLine, i));\n }\n\n return answer;\n };\n\n // Note, all sizing inputs for this function must be in \"font measurement units\"\n // By default, for PDF, it's \"point\".\n var splitParagraphIntoLines = function(text, maxlen, options) {\n // at this time works only on Western scripts, ones with space char\n // separating the words. Feel free to expand.\n\n if (!options) {\n options = {};\n }\n\n var line = [],\n lines = [line],\n line_length = options.textIndent || 0,\n separator_length = 0,\n current_word_length = 0,\n word,\n widths_array,\n words = text.split(\" \"),\n spaceCharWidth = getCharWidthsArray.apply(this, [\" \", options])[0],\n i,\n l,\n tmp,\n lineIndent;\n\n if (options.lineIndent === -1) {\n lineIndent = words[0].length + 2;\n } else {\n lineIndent = options.lineIndent || 0;\n }\n if (lineIndent) {\n var pad = Array(lineIndent).join(\" \"),\n wrds = [];\n words.map(function(wrd) {\n wrd = wrd.split(/\\s*\\n/);\n if (wrd.length > 1) {\n wrds = wrds.concat(\n wrd.map(function(wrd, idx) {\n return (idx && wrd.length ? \"\\n\" : \"\") + wrd;\n })\n );\n } else {\n wrds.push(wrd[0]);\n }\n });\n words = wrds;\n lineIndent = getStringUnitWidth.apply(this, [pad, options]);\n }\n\n for (i = 0, l = words.length; i < l; i++) {\n var force = 0;\n\n word = words[i];\n if (lineIndent && word[0] == \"\\n\") {\n word = word.substr(1);\n force = 1;\n }\n widths_array = getCharWidthsArray.apply(this, [word, options]);\n current_word_length = widths_array.reduce(function(pv, cv) {\n return pv + cv;\n }, 0);\n\n if (\n line_length + separator_length + current_word_length > maxlen ||\n force\n ) {\n if (current_word_length > maxlen) {\n // this happens when you have space-less long URLs for example.\n // we just chop these to size. We do NOT insert hiphens\n tmp = splitLongWord.apply(this, [\n word,\n widths_array,\n maxlen - (line_length + separator_length),\n maxlen\n ]);\n // first line we add to existing line object\n line.push(tmp.shift()); // it's ok to have extra space indicator there\n // last line we make into new line object\n line = [tmp.pop()];\n // lines in the middle we apped to lines object as whole lines\n while (tmp.length) {\n lines.push([tmp.shift()]); // single fragment occupies whole line\n }\n current_word_length = widths_array\n .slice(word.length - (line[0] ? line[0].length : 0))\n .reduce(function(pv, cv) {\n return pv + cv;\n }, 0);\n } else {\n // just put it on a new line\n line = [word];\n }\n\n // now we attach new line to lines\n lines.push(line);\n line_length = current_word_length + lineIndent;\n separator_length = spaceCharWidth;\n } else {\n line.push(word);\n\n line_length += separator_length + current_word_length;\n separator_length = spaceCharWidth;\n }\n }\n\n var postProcess;\n if (lineIndent) {\n postProcess = function(ln, idx) {\n return (idx ? pad : \"\") + ln.join(\" \");\n };\n } else {\n postProcess = function(ln) {\n return ln.join(\" \");\n };\n }\n\n return lines.map(postProcess);\n };\n\n /**\n * Splits a given string into an array of strings. Uses 'size' value\n * (in measurement units declared as default for the jsPDF instance)\n * and the font's \"widths\" and \"Kerning\" tables, where available, to\n * determine display length of a given string for a given font.\n *\n * We use character's 100% of unit size (height) as width when Width\n * table or other default width is not available.\n *\n * @name splitTextToSize\n * @public\n * @function\n * @param {string} text Unencoded, regular JavaScript (Unicode, UTF-16 / UCS-2) string.\n * @param {number} size Nominal number, measured in units default to this instance of jsPDF.\n * @param {Object} options Optional flags needed for chopper to do the right thing.\n * @returns {Array} array Array with strings chopped to size.\n */\n API.splitTextToSize = function(text, maxlen, options) {\n \"use strict\";\n\n options = options || {};\n\n var fsize = options.fontSize || this.internal.getFontSize(),\n newOptions = function(options) {\n var widths = {\n 0: 1\n },\n kerning = {};\n\n if (!options.widths || !options.kerning) {\n var f = this.internal.getFont(options.fontName, options.fontStyle),\n encoding = \"Unicode\";\n // NOT UTF8, NOT UTF16BE/LE, NOT UCS2BE/LE\n // Actual JavaScript-native String's 16bit char codes used.\n // no multi-byte logic here\n\n if (f.metadata[encoding]) {\n return {\n widths: f.metadata[encoding].widths || widths,\n kerning: f.metadata[encoding].kerning || kerning\n };\n } else {\n return {\n font: f.metadata,\n fontSize: this.internal.getFontSize(),\n charSpace: this.internal.getCharSpace()\n };\n }\n } else {\n return {\n widths: options.widths,\n kerning: options.kerning\n };\n }\n }.call(this, options);\n\n // first we split on end-of-line chars\n var paragraphs;\n if (Array.isArray(text)) {\n paragraphs = text;\n } else {\n paragraphs = String(text).split(/\\r?\\n/);\n }\n\n // now we convert size (max length of line) into \"font size units\"\n // at present time, the \"font size unit\" is always 'point'\n // 'proportional' means, \"in proportion to font size\"\n var fontUnit_maxLen = (1.0 * this.internal.scaleFactor * maxlen) / fsize;\n // at this time, fsize is always in \"points\" regardless of the default measurement unit of the doc.\n // this may change in the future?\n // until then, proportional_maxlen is likely to be in 'points'\n\n // If first line is to be indented (shorter or longer) than maxLen\n // we indicate that by using CSS-style \"text-indent\" option.\n // here it's in font units too (which is likely 'points')\n // it can be negative (which makes the first line longer than maxLen)\n newOptions.textIndent = options.textIndent\n ? (options.textIndent * 1.0 * this.internal.scaleFactor) / fsize\n : 0;\n newOptions.lineIndent = options.lineIndent;\n\n var i,\n l,\n output = [];\n for (i = 0, l = paragraphs.length; i < l; i++) {\n output = output.concat(\n splitParagraphIntoLines.apply(this, [\n paragraphs[i],\n fontUnit_maxLen,\n newOptions\n ])\n );\n }\n\n return output;\n };\n})(jsPDF.API);\n","/**\n * @license\n * (c) Dean McNamee , 2013.\n *\n * https://github.com/deanm/omggif\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING\n * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS\n * IN THE SOFTWARE.\n *\n * omggif is a JavaScript implementation of a GIF 89a encoder and decoder,\n * including animation and compression. It does not rely on any specific\n * underlying system, so should run in the browser, Node, or Plask.\n */\n\n\"use strict\";\n\nimport { console } from \"./console.js\";\n\nfunction GifWriter(buf, width, height, gopts) {\n var p = 0;\n\n var gopts = gopts === undefined ? {} : gopts;\n var loop_count = gopts.loop === undefined ? null : gopts.loop;\n var global_palette = gopts.palette === undefined ? null : gopts.palette;\n\n if (width <= 0 || height <= 0 || width > 65535 || height > 65535)\n throw new Error(\"Width/Height invalid.\");\n\n function check_palette_and_num_colors(palette) {\n var num_colors = palette.length;\n if (num_colors < 2 || num_colors > 256 || num_colors & (num_colors - 1)) {\n throw new Error(\n \"Invalid code/color length, must be power of 2 and 2 .. 256.\"\n );\n }\n return num_colors;\n }\n\n // - Header.\n buf[p++] = 0x47;\n buf[p++] = 0x49;\n buf[p++] = 0x46; // GIF\n buf[p++] = 0x38;\n buf[p++] = 0x39;\n buf[p++] = 0x61; // 89a\n\n // Handling of Global Color Table (palette) and background index.\n var gp_num_colors_pow2 = 0;\n var background = 0;\n if (global_palette !== null) {\n var gp_num_colors = check_palette_and_num_colors(global_palette);\n while ((gp_num_colors >>= 1)) ++gp_num_colors_pow2;\n gp_num_colors = 1 << gp_num_colors_pow2;\n --gp_num_colors_pow2;\n if (gopts.background !== undefined) {\n background = gopts.background;\n if (background >= gp_num_colors)\n throw new Error(\"Background index out of range.\");\n // The GIF spec states that a background index of 0 should be ignored, so\n // this is probably a mistake and you really want to set it to another\n // slot in the palette. But actually in the end most browsers, etc end\n // up ignoring this almost completely (including for dispose background).\n if (background === 0)\n throw new Error(\"Background index explicitly passed as 0.\");\n }\n }\n\n // - Logical Screen Descriptor.\n // NOTE(deanm): w/h apparently ignored by implementations, but set anyway.\n buf[p++] = width & 0xff;\n buf[p++] = (width >> 8) & 0xff;\n buf[p++] = height & 0xff;\n buf[p++] = (height >> 8) & 0xff;\n // NOTE: Indicates 0-bpp original color resolution (unused?).\n buf[p++] = (global_palette !== null ? 0x80 : 0) | gp_num_colors_pow2; // Global Color Table Flag. // NOTE: No sort flag (unused?).\n buf[p++] = background; // Background Color Index.\n buf[p++] = 0; // Pixel aspect ratio (unused?).\n\n // - Global Color Table\n if (global_palette !== null) {\n for (var i = 0, il = global_palette.length; i < il; ++i) {\n var rgb = global_palette[i];\n buf[p++] = (rgb >> 16) & 0xff;\n buf[p++] = (rgb >> 8) & 0xff;\n buf[p++] = rgb & 0xff;\n }\n }\n\n if (loop_count !== null) {\n // Netscape block for looping.\n if (loop_count < 0 || loop_count > 65535)\n throw new Error(\"Loop count invalid.\");\n // Extension code, label, and length.\n buf[p++] = 0x21;\n buf[p++] = 0xff;\n buf[p++] = 0x0b;\n // NETSCAPE2.0\n buf[p++] = 0x4e;\n buf[p++] = 0x45;\n buf[p++] = 0x54;\n buf[p++] = 0x53;\n buf[p++] = 0x43;\n buf[p++] = 0x41;\n buf[p++] = 0x50;\n buf[p++] = 0x45;\n buf[p++] = 0x32;\n buf[p++] = 0x2e;\n buf[p++] = 0x30;\n // Sub-block\n buf[p++] = 0x03;\n buf[p++] = 0x01;\n buf[p++] = loop_count & 0xff;\n buf[p++] = (loop_count >> 8) & 0xff;\n buf[p++] = 0x00; // Terminator.\n }\n\n var ended = false;\n\n this.addFrame = function(x, y, w, h, indexed_pixels, opts) {\n if (ended === true) {\n --p;\n ended = false;\n } // Un-end.\n\n opts = opts === undefined ? {} : opts;\n\n // TODO(deanm): Bounds check x, y. Do they need to be within the virtual\n // canvas width/height, I imagine?\n if (x < 0 || y < 0 || x > 65535 || y > 65535)\n throw new Error(\"x/y invalid.\");\n\n if (w <= 0 || h <= 0 || w > 65535 || h > 65535)\n throw new Error(\"Width/Height invalid.\");\n\n if (indexed_pixels.length < w * h)\n throw new Error(\"Not enough pixels for the frame size.\");\n\n var using_local_palette = true;\n var palette = opts.palette;\n if (palette === undefined || palette === null) {\n using_local_palette = false;\n palette = global_palette;\n }\n\n if (palette === undefined || palette === null)\n throw new Error(\"Must supply either a local or global palette.\");\n\n var num_colors = check_palette_and_num_colors(palette);\n\n // Compute the min_code_size (power of 2), destroying num_colors.\n var min_code_size = 0;\n while ((num_colors >>= 1)) ++min_code_size;\n num_colors = 1 << min_code_size; // Now we can easily get it back.\n\n var delay = opts.delay === undefined ? 0 : opts.delay;\n\n // From the spec:\n // 0 - No disposal specified. The decoder is\n // not required to take any action.\n // 1 - Do not dispose. The graphic is to be left\n // in place.\n // 2 - Restore to background color. The area used by the\n // graphic must be restored to the background color.\n // 3 - Restore to previous. The decoder is required to\n // restore the area overwritten by the graphic with\n // what was there prior to rendering the graphic.\n // 4-7 - To be defined.\n // NOTE(deanm): Dispose background doesn't really work, apparently most\n // browsers ignore the background palette index and clear to transparency.\n var disposal = opts.disposal === undefined ? 0 : opts.disposal;\n if (disposal < 0 || disposal > 3)\n // 4-7 is reserved.\n throw new Error(\"Disposal out of range.\");\n\n var use_transparency = false;\n var transparent_index = 0;\n if (opts.transparent !== undefined && opts.transparent !== null) {\n use_transparency = true;\n transparent_index = opts.transparent;\n if (transparent_index < 0 || transparent_index >= num_colors)\n throw new Error(\"Transparent color index.\");\n }\n\n if (disposal !== 0 || use_transparency || delay !== 0) {\n // - Graphics Control Extension\n buf[p++] = 0x21;\n buf[p++] = 0xf9; // Extension / Label.\n buf[p++] = 4; // Byte size.\n\n buf[p++] = (disposal << 2) | (use_transparency === true ? 1 : 0);\n buf[p++] = delay & 0xff;\n buf[p++] = (delay >> 8) & 0xff;\n buf[p++] = transparent_index; // Transparent color index.\n buf[p++] = 0; // Block Terminator.\n }\n\n // - Image Descriptor\n buf[p++] = 0x2c; // Image Seperator.\n buf[p++] = x & 0xff;\n buf[p++] = (x >> 8) & 0xff; // Left.\n buf[p++] = y & 0xff;\n buf[p++] = (y >> 8) & 0xff; // Top.\n buf[p++] = w & 0xff;\n buf[p++] = (w >> 8) & 0xff;\n buf[p++] = h & 0xff;\n buf[p++] = (h >> 8) & 0xff;\n // NOTE: No sort flag (unused?).\n // TODO(deanm): Support interlace.\n buf[p++] = using_local_palette === true ? 0x80 | (min_code_size - 1) : 0;\n\n // - Local Color Table\n if (using_local_palette === true) {\n for (var i = 0, il = palette.length; i < il; ++i) {\n var rgb = palette[i];\n buf[p++] = (rgb >> 16) & 0xff;\n buf[p++] = (rgb >> 8) & 0xff;\n buf[p++] = rgb & 0xff;\n }\n }\n\n p = GifWriterOutputLZWCodeStream(\n buf,\n p,\n min_code_size < 2 ? 2 : min_code_size,\n indexed_pixels\n );\n\n return p;\n };\n\n this.end = function() {\n if (ended === false) {\n buf[p++] = 0x3b; // Trailer.\n ended = true;\n }\n return p;\n };\n\n this.getOutputBuffer = function() {\n return buf;\n };\n this.setOutputBuffer = function(v) {\n buf = v;\n };\n this.getOutputBufferPosition = function() {\n return p;\n };\n this.setOutputBufferPosition = function(v) {\n p = v;\n };\n}\n\n// Main compression routine, palette indexes -> LZW code stream.\n// |index_stream| must have at least one entry.\nfunction GifWriterOutputLZWCodeStream(buf, p, min_code_size, index_stream) {\n buf[p++] = min_code_size;\n var cur_subblock = p++; // Pointing at the length field.\n\n var clear_code = 1 << min_code_size;\n var code_mask = clear_code - 1;\n var eoi_code = clear_code + 1;\n var next_code = eoi_code + 1;\n\n var cur_code_size = min_code_size + 1; // Number of bits per code.\n var cur_shift = 0;\n // We have at most 12-bit codes, so we should have to hold a max of 19\n // bits here (and then we would write out).\n var cur = 0;\n\n function emit_bytes_to_buffer(bit_block_size) {\n while (cur_shift >= bit_block_size) {\n buf[p++] = cur & 0xff;\n cur >>= 8;\n cur_shift -= 8;\n if (p === cur_subblock + 256) {\n // Finished a subblock.\n buf[cur_subblock] = 255;\n cur_subblock = p++;\n }\n }\n }\n\n function emit_code(c) {\n cur |= c << cur_shift;\n cur_shift += cur_code_size;\n emit_bytes_to_buffer(8);\n }\n\n // I am not an expert on the topic, and I don't want to write a thesis.\n // However, it is good to outline here the basic algorithm and the few data\n // structures and optimizations here that make this implementation fast.\n // The basic idea behind LZW is to build a table of previously seen runs\n // addressed by a short id (herein called output code). All data is\n // referenced by a code, which represents one or more values from the\n // original input stream. All input bytes can be referenced as the same\n // value as an output code. So if you didn't want any compression, you\n // could more or less just output the original bytes as codes (there are\n // some details to this, but it is the idea). In order to achieve\n // compression, values greater then the input range (codes can be up to\n // 12-bit while input only 8-bit) represent a sequence of previously seen\n // inputs. The decompressor is able to build the same mapping while\n // decoding, so there is always a shared common knowledge between the\n // encoding and decoder, which is also important for \"timing\" aspects like\n // how to handle variable bit width code encoding.\n //\n // One obvious but very important consequence of the table system is there\n // is always a unique id (at most 12-bits) to map the runs. 'A' might be\n // 4, then 'AA' might be 10, 'AAA' 11, 'AAAA' 12, etc. This relationship\n // can be used for an effecient lookup strategy for the code mapping. We\n // need to know if a run has been seen before, and be able to map that run\n // to the output code. Since we start with known unique ids (input bytes),\n // and then from those build more unique ids (table entries), we can\n // continue this chain (almost like a linked list) to always have small\n // integer values that represent the current byte chains in the encoder.\n // This means instead of tracking the input bytes (AAAABCD) to know our\n // current state, we can track the table entry for AAAABC (it is guaranteed\n // to exist by the nature of the algorithm) and the next character D.\n // Therefor the tuple of (table_entry, byte) is guaranteed to also be\n // unique. This allows us to create a simple lookup key for mapping input\n // sequences to codes (table indices) without having to store or search\n // any of the code sequences. So if 'AAAA' has a table entry of 12, the\n // tuple of ('AAAA', K) for any input byte K will be unique, and can be our\n // key. This leads to a integer value at most 20-bits, which can always\n // fit in an SMI value and be used as a fast sparse array / object key.\n\n // Output code for the current contents of the index buffer.\n var ib_code = index_stream[0] & code_mask; // Load first input index.\n var code_table = {}; // Key'd on our 20-bit \"tuple\".\n\n emit_code(clear_code); // Spec says first code should be a clear code.\n\n // First index already loaded, process the rest of the stream.\n for (var i = 1, il = index_stream.length; i < il; ++i) {\n var k = index_stream[i] & code_mask;\n var cur_key = (ib_code << 8) | k; // (prev, k) unique tuple.\n var cur_code = code_table[cur_key]; // buffer + k.\n\n // Check if we have to create a new code table entry.\n if (cur_code === undefined) {\n // We don't have buffer + k.\n // Emit index buffer (without k).\n // This is an inline version of emit_code, because this is the core\n // writing routine of the compressor (and V8 cannot inline emit_code\n // because it is a closure here in a different context). Additionally\n // we can call emit_byte_to_buffer less often, because we can have\n // 30-bits (from our 31-bit signed SMI), and we know our codes will only\n // be 12-bits, so can safely have 18-bits there without overflow.\n // emit_code(ib_code);\n cur |= ib_code << cur_shift;\n cur_shift += cur_code_size;\n while (cur_shift >= 8) {\n buf[p++] = cur & 0xff;\n cur >>= 8;\n cur_shift -= 8;\n if (p === cur_subblock + 256) {\n // Finished a subblock.\n buf[cur_subblock] = 255;\n cur_subblock = p++;\n }\n }\n\n if (next_code === 4096) {\n // Table full, need a clear.\n emit_code(clear_code);\n next_code = eoi_code + 1;\n cur_code_size = min_code_size + 1;\n code_table = {};\n } else {\n // Table not full, insert a new entry.\n // Increase our variable bit code sizes if necessary. This is a bit\n // tricky as it is based on \"timing\" between the encoding and\n // decoder. From the encoders perspective this should happen after\n // we've already emitted the index buffer and are about to create the\n // first table entry that would overflow our current code bit size.\n if (next_code >= 1 << cur_code_size) ++cur_code_size;\n code_table[cur_key] = next_code++; // Insert into code table.\n }\n\n ib_code = k; // Index buffer to single input k.\n } else {\n ib_code = cur_code; // Index buffer to sequence in code table.\n }\n }\n\n emit_code(ib_code); // There will still be something in the index buffer.\n emit_code(eoi_code); // End Of Information.\n\n // Flush / finalize the sub-blocks stream to the buffer.\n emit_bytes_to_buffer(1);\n\n // Finish the sub-blocks, writing out any unfinished lengths and\n // terminating with a sub-block of length 0. If we have already started\n // but not yet used a sub-block it can just become the terminator.\n if (cur_subblock + 1 === p) {\n // Started but unused.\n buf[cur_subblock] = 0;\n } else {\n // Started and used, write length and additional terminator block.\n buf[cur_subblock] = p - cur_subblock - 1;\n buf[p++] = 0;\n }\n return p;\n}\n\nfunction GifReader(buf) {\n var p = 0;\n\n // - Header (GIF87a or GIF89a).\n if (\n buf[p++] !== 0x47 ||\n buf[p++] !== 0x49 ||\n buf[p++] !== 0x46 ||\n buf[p++] !== 0x38 ||\n ((buf[p++] + 1) & 0xfd) !== 0x38 ||\n buf[p++] !== 0x61\n ) {\n throw new Error(\"Invalid GIF 87a/89a header.\");\n }\n\n // - Logical Screen Descriptor.\n var width = buf[p++] | (buf[p++] << 8);\n var height = buf[p++] | (buf[p++] << 8);\n var pf0 = buf[p++]; // .\n var global_palette_flag = pf0 >> 7;\n var num_global_colors_pow2 = pf0 & 0x7;\n var num_global_colors = 1 << (num_global_colors_pow2 + 1);\n var background = buf[p++];\n buf[p++]; // Pixel aspect ratio (unused?).\n\n var global_palette_offset = null;\n var global_palette_size = null;\n\n if (global_palette_flag) {\n global_palette_offset = p;\n global_palette_size = num_global_colors;\n p += num_global_colors * 3; // Seek past palette.\n }\n\n var no_eof = true;\n\n var frames = [];\n\n var delay = 0;\n var transparent_index = null;\n var disposal = 0; // 0 - No disposal specified.\n var loop_count = null;\n\n this.width = width;\n this.height = height;\n\n while (no_eof && p < buf.length) {\n switch (buf[p++]) {\n case 0x21: // Graphics Control Extension Block\n switch (buf[p++]) {\n case 0xff: // Application specific block\n // Try if it's a Netscape block (with animation loop counter).\n if (\n buf[p] !== 0x0b || // 21 FF already read, check block size.\n // NETSCAPE2.0\n (buf[p + 1] == 0x4e &&\n buf[p + 2] == 0x45 &&\n buf[p + 3] == 0x54 &&\n buf[p + 4] == 0x53 &&\n buf[p + 5] == 0x43 &&\n buf[p + 6] == 0x41 &&\n buf[p + 7] == 0x50 &&\n buf[p + 8] == 0x45 &&\n buf[p + 9] == 0x32 &&\n buf[p + 10] == 0x2e &&\n buf[p + 11] == 0x30 &&\n // Sub-block\n buf[p + 12] == 0x03 &&\n buf[p + 13] == 0x01 &&\n buf[p + 16] == 0)\n ) {\n p += 14;\n loop_count = buf[p++] | (buf[p++] << 8);\n p++; // Skip terminator.\n } else {\n // We don't know what it is, just try to get past it.\n p += 12;\n while (true) {\n // Seek through subblocks.\n var block_size = buf[p++];\n // Bad block size (ex: undefined from an out of bounds read).\n if (!(block_size >= 0)) throw Error(\"Invalid block size\");\n if (block_size === 0) break; // 0 size is terminator\n p += block_size;\n }\n }\n break;\n\n case 0xf9: // Graphics Control Extension\n if (buf[p++] !== 0x4 || buf[p + 4] !== 0)\n throw new Error(\"Invalid graphics extension block.\");\n var pf1 = buf[p++];\n delay = buf[p++] | (buf[p++] << 8);\n transparent_index = buf[p++];\n if ((pf1 & 1) === 0) transparent_index = null;\n disposal = (pf1 >> 2) & 0x7;\n p++; // Skip terminator.\n break;\n\n case 0xfe: // Comment Extension.\n while (true) {\n // Seek through subblocks.\n var block_size = buf[p++];\n // Bad block size (ex: undefined from an out of bounds read).\n if (!(block_size >= 0)) throw Error(\"Invalid block size\");\n if (block_size === 0) break; // 0 size is terminator\n // console.log(buf.slice(p, p+block_size).toString('ascii'));\n p += block_size;\n }\n break;\n\n default:\n throw new Error(\n \"Unknown graphic control label: 0x\" + buf[p - 1].toString(16)\n );\n }\n break;\n\n case 0x2c: // Image Descriptor.\n var x = buf[p++] | (buf[p++] << 8);\n var y = buf[p++] | (buf[p++] << 8);\n var w = buf[p++] | (buf[p++] << 8);\n var h = buf[p++] | (buf[p++] << 8);\n var pf2 = buf[p++];\n var local_palette_flag = pf2 >> 7;\n var interlace_flag = (pf2 >> 6) & 1;\n var num_local_colors_pow2 = pf2 & 0x7;\n var num_local_colors = 1 << (num_local_colors_pow2 + 1);\n var palette_offset = global_palette_offset;\n var palette_size = global_palette_size;\n var has_local_palette = false;\n if (local_palette_flag) {\n var has_local_palette = true;\n palette_offset = p; // Override with local palette.\n palette_size = num_local_colors;\n p += num_local_colors * 3; // Seek past palette.\n }\n\n var data_offset = p;\n\n p++; // codesize\n while (true) {\n var block_size = buf[p++];\n // Bad block size (ex: undefined from an out of bounds read).\n if (!(block_size >= 0)) throw Error(\"Invalid block size\");\n if (block_size === 0) break; // 0 size is terminator\n p += block_size;\n }\n\n frames.push({\n x: x,\n y: y,\n width: w,\n height: h,\n has_local_palette: has_local_palette,\n palette_offset: palette_offset,\n palette_size: palette_size,\n data_offset: data_offset,\n data_length: p - data_offset,\n transparent_index: transparent_index,\n interlaced: !!interlace_flag,\n delay: delay,\n disposal: disposal\n });\n break;\n\n case 0x3b: // Trailer Marker (end of file).\n no_eof = false;\n break;\n\n default:\n throw new Error(\"Unknown gif block: 0x\" + buf[p - 1].toString(16));\n break;\n }\n }\n\n this.numFrames = function() {\n return frames.length;\n };\n\n this.loopCount = function() {\n return loop_count;\n };\n\n this.frameInfo = function(frame_num) {\n if (frame_num < 0 || frame_num >= frames.length)\n throw new Error(\"Frame index out of range.\");\n return frames[frame_num];\n };\n\n this.decodeAndBlitFrameBGRA = function(frame_num, pixels) {\n var frame = this.frameInfo(frame_num);\n var num_pixels = frame.width * frame.height;\n var index_stream = new Uint8Array(num_pixels); // At most 8-bit indices.\n GifReaderLZWOutputIndexStream(\n buf,\n frame.data_offset,\n index_stream,\n num_pixels\n );\n var palette_offset = frame.palette_offset;\n\n // NOTE(deanm): It seems to be much faster to compare index to 256 than\n // to === null. Not sure why, but CompareStub_EQ_STRICT shows up high in\n // the profile, not sure if it's related to using a Uint8Array.\n var trans = frame.transparent_index;\n if (trans === null) trans = 256;\n\n // We are possibly just blitting to a portion of the entire frame.\n // That is a subrect within the framerect, so the additional pixels\n // must be skipped over after we finished a scanline.\n var framewidth = frame.width;\n var framestride = width - framewidth;\n var xleft = framewidth; // Number of subrect pixels left in scanline.\n\n // Output indices of the top left and bottom right corners of the subrect.\n var opbeg = (frame.y * width + frame.x) * 4;\n var opend = ((frame.y + frame.height) * width + frame.x) * 4;\n var op = opbeg;\n\n var scanstride = framestride * 4;\n\n // Use scanstride to skip past the rows when interlacing. This is skipping\n // 7 rows for the first two passes, then 3 then 1.\n if (frame.interlaced === true) {\n scanstride += width * 4 * 7; // Pass 1.\n }\n\n var interlaceskip = 8; // Tracking the row interval in the current pass.\n\n for (var i = 0, il = index_stream.length; i < il; ++i) {\n var index = index_stream[i];\n\n if (xleft === 0) {\n // Beginning of new scan line\n op += scanstride;\n xleft = framewidth;\n if (op >= opend) {\n // Catch the wrap to switch passes when interlacing.\n scanstride = framestride * 4 + width * 4 * (interlaceskip - 1);\n // interlaceskip / 2 * 4 is interlaceskip << 1.\n op = opbeg + (framewidth + framestride) * (interlaceskip << 1);\n interlaceskip >>= 1;\n }\n }\n\n if (index === trans) {\n op += 4;\n } else {\n var r = buf[palette_offset + index * 3];\n var g = buf[palette_offset + index * 3 + 1];\n var b = buf[palette_offset + index * 3 + 2];\n pixels[op++] = b;\n pixels[op++] = g;\n pixels[op++] = r;\n pixels[op++] = 255;\n }\n --xleft;\n }\n };\n\n // I will go to copy and paste hell one day...\n this.decodeAndBlitFrameRGBA = function(frame_num, pixels) {\n var frame = this.frameInfo(frame_num);\n var num_pixels = frame.width * frame.height;\n var index_stream = new Uint8Array(num_pixels); // At most 8-bit indices.\n GifReaderLZWOutputIndexStream(\n buf,\n frame.data_offset,\n index_stream,\n num_pixels\n );\n var palette_offset = frame.palette_offset;\n\n // NOTE(deanm): It seems to be much faster to compare index to 256 than\n // to === null. Not sure why, but CompareStub_EQ_STRICT shows up high in\n // the profile, not sure if it's related to using a Uint8Array.\n var trans = frame.transparent_index;\n if (trans === null) trans = 256;\n\n // We are possibly just blitting to a portion of the entire frame.\n // That is a subrect within the framerect, so the additional pixels\n // must be skipped over after we finished a scanline.\n var framewidth = frame.width;\n var framestride = width - framewidth;\n var xleft = framewidth; // Number of subrect pixels left in scanline.\n\n // Output indices of the top left and bottom right corners of the subrect.\n var opbeg = (frame.y * width + frame.x) * 4;\n var opend = ((frame.y + frame.height) * width + frame.x) * 4;\n var op = opbeg;\n\n var scanstride = framestride * 4;\n\n // Use scanstride to skip past the rows when interlacing. This is skipping\n // 7 rows for the first two passes, then 3 then 1.\n if (frame.interlaced === true) {\n scanstride += width * 4 * 7; // Pass 1.\n }\n\n var interlaceskip = 8; // Tracking the row interval in the current pass.\n\n for (var i = 0, il = index_stream.length; i < il; ++i) {\n var index = index_stream[i];\n\n if (xleft === 0) {\n // Beginning of new scan line\n op += scanstride;\n xleft = framewidth;\n if (op >= opend) {\n // Catch the wrap to switch passes when interlacing.\n scanstride = framestride * 4 + width * 4 * (interlaceskip - 1);\n // interlaceskip / 2 * 4 is interlaceskip << 1.\n op = opbeg + (framewidth + framestride) * (interlaceskip << 1);\n interlaceskip >>= 1;\n }\n }\n\n if (index === trans) {\n op += 4;\n } else {\n var r = buf[palette_offset + index * 3];\n var g = buf[palette_offset + index * 3 + 1];\n var b = buf[palette_offset + index * 3 + 2];\n pixels[op++] = r;\n pixels[op++] = g;\n pixels[op++] = b;\n pixels[op++] = 255;\n }\n --xleft;\n }\n };\n}\n\nfunction GifReaderLZWOutputIndexStream(code_stream, p, output, output_length) {\n var min_code_size = code_stream[p++];\n\n var clear_code = 1 << min_code_size;\n var eoi_code = clear_code + 1;\n var next_code = eoi_code + 1;\n\n var cur_code_size = min_code_size + 1; // Number of bits per code.\n // NOTE: This shares the same name as the encoder, but has a different\n // meaning here. Here this masks each code coming from the code stream.\n var code_mask = (1 << cur_code_size) - 1;\n var cur_shift = 0;\n var cur = 0;\n\n var op = 0; // Output pointer.\n\n var subblock_size = code_stream[p++];\n\n // TODO(deanm): Would using a TypedArray be any faster? At least it would\n // solve the fast mode / backing store uncertainty.\n // var code_table = Array(4096);\n var code_table = new Int32Array(4096); // Can be signed, we only use 20 bits.\n\n var prev_code = null; // Track code-1.\n\n while (true) {\n // Read up to two bytes, making sure we always 12-bits for max sized code.\n while (cur_shift < 16) {\n if (subblock_size === 0) break; // No more data to be read.\n\n cur |= code_stream[p++] << cur_shift;\n cur_shift += 8;\n\n if (subblock_size === 1) {\n // Never let it get to 0 to hold logic above.\n subblock_size = code_stream[p++]; // Next subblock.\n } else {\n --subblock_size;\n }\n }\n\n // TODO(deanm): We should never really get here, we should have received\n // and EOI.\n if (cur_shift < cur_code_size) break;\n\n var code = cur & code_mask;\n cur >>= cur_code_size;\n cur_shift -= cur_code_size;\n\n // TODO(deanm): Maybe should check that the first code was a clear code,\n // at least this is what you're supposed to do. But actually our encoder\n // now doesn't emit a clear code first anyway.\n if (code === clear_code) {\n // We don't actually have to clear the table. This could be a good idea\n // for greater error checking, but we don't really do any anyway. We\n // will just track it with next_code and overwrite old entries.\n\n next_code = eoi_code + 1;\n cur_code_size = min_code_size + 1;\n code_mask = (1 << cur_code_size) - 1;\n\n // Don't update prev_code ?\n prev_code = null;\n continue;\n } else if (code === eoi_code) {\n break;\n }\n\n // We have a similar situation as the decoder, where we want to store\n // variable length entries (code table entries), but we want to do in a\n // faster manner than an array of arrays. The code below stores sort of a\n // linked list within the code table, and then \"chases\" through it to\n // construct the dictionary entries. When a new entry is created, just the\n // last byte is stored, and the rest (prefix) of the entry is only\n // referenced by its table entry. Then the code chases through the\n // prefixes until it reaches a single byte code. We have to chase twice,\n // first to compute the length, and then to actually copy the data to the\n // output (backwards, since we know the length). The alternative would be\n // storing something in an intermediate stack, but that doesn't make any\n // more sense. I implemented an approach where it also stored the length\n // in the code table, although it's a bit tricky because you run out of\n // bits (12 + 12 + 8), but I didn't measure much improvements (the table\n // entries are generally not the long). Even when I created benchmarks for\n // very long table entries the complexity did not seem worth it.\n // The code table stores the prefix entry in 12 bits and then the suffix\n // byte in 8 bits, so each entry is 20 bits.\n\n var chase_code = code < next_code ? code : prev_code;\n\n // Chase what we will output, either {CODE} or {CODE-1}.\n var chase_length = 0;\n var chase = chase_code;\n while (chase > clear_code) {\n chase = code_table[chase] >> 8;\n ++chase_length;\n }\n\n var k = chase;\n\n var op_end = op + chase_length + (chase_code !== code ? 1 : 0);\n if (op_end > output_length) {\n console.log(\"Warning, gif stream longer than expected.\");\n return;\n }\n\n // Already have the first byte from the chase, might as well write it fast.\n output[op++] = k;\n\n op += chase_length;\n var b = op; // Track pointer, writing backwards.\n\n if (chase_code !== code)\n // The case of emitting {CODE-1} + k.\n output[op++] = k;\n\n chase = chase_code;\n while (chase_length--) {\n chase = code_table[chase];\n output[--b] = chase & 0xff; // Write backwards.\n chase >>= 8; // Pull down to the prefix code.\n }\n\n if (prev_code !== null && next_code < 4096) {\n code_table[next_code++] = (prev_code << 8) | k;\n // TODO(deanm): Figure out this clearing vs code growth logic better. I\n // have an feeling that it should just happen somewhere else, for now it\n // is awkward between when we grow past the max and then hit a clear code.\n // For now just check if we hit the max 12-bits (then a clear code should\n // follow, also of course encoded in 12-bits).\n if (next_code >= code_mask + 1 && cur_code_size < 12) {\n ++cur_code_size;\n code_mask = (code_mask << 1) | 1;\n }\n }\n\n prev_code = code;\n }\n\n if (op !== output_length) {\n console.log(\"Warning, gif stream shorter than expected.\");\n }\n\n return output;\n}\n\nexport { GifReader, GifWriter };\n","/**\n * @license\n Copyright (c) 2008, Adobe Systems Incorporated\n All rights reserved.\n\n Redistribution and use in source and binary forms, with or without \n modification, are permitted provided that the following conditions are\n met:\n\n * Redistributions of source code must retain the above copyright notice, \n this list of conditions and the following disclaimer.\n \n * Redistributions in binary form must reproduce the above copyright\n notice, this list of conditions and the following disclaimer in the \n documentation and/or other materials provided with the distribution.\n \n * Neither the name of Adobe Systems Incorporated nor the names of its \n contributors may be used to endorse or promote products derived from \n this software without specific prior written permission.\n\n THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS\n IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,\n THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR\n PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR \n CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,\n EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,\n PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR\n PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF\n LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING\n NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS\n SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n*/\n/*\nJPEG encoder ported to JavaScript and optimized by Andreas Ritter, www.bytestrom.eu, 11/2009\n\nBasic GUI blocking jpeg encoder\n*/\n\nfunction JPEGEncoder(quality) {\n var ffloor = Math.floor;\n var YTable = new Array(64);\n var UVTable = new Array(64);\n var fdtbl_Y = new Array(64);\n var fdtbl_UV = new Array(64);\n var YDC_HT;\n var UVDC_HT;\n var YAC_HT;\n var UVAC_HT;\n\n var bitcode = new Array(65535);\n var category = new Array(65535);\n var outputfDCTQuant = new Array(64);\n var DU = new Array(64);\n var byteout = [];\n var bytenew = 0;\n var bytepos = 7;\n\n var YDU = new Array(64);\n var UDU = new Array(64);\n var VDU = new Array(64);\n var clt = new Array(256);\n var RGB_YUV_TABLE = new Array(2048);\n var currentQuality;\n\n var ZigZag = [\n 0,\n 1,\n 5,\n 6,\n 14,\n 15,\n 27,\n 28,\n 2,\n 4,\n 7,\n 13,\n 16,\n 26,\n 29,\n 42,\n 3,\n 8,\n 12,\n 17,\n 25,\n 30,\n 41,\n 43,\n 9,\n 11,\n 18,\n 24,\n 31,\n 40,\n 44,\n 53,\n 10,\n 19,\n 23,\n 32,\n 39,\n 45,\n 52,\n 54,\n 20,\n 22,\n 33,\n 38,\n 46,\n 51,\n 55,\n 60,\n 21,\n 34,\n 37,\n 47,\n 50,\n 56,\n 59,\n 61,\n 35,\n 36,\n 48,\n 49,\n 57,\n 58,\n 62,\n 63\n ];\n\n var std_dc_luminance_nrcodes = [\n 0,\n 0,\n 1,\n 5,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0\n ];\n var std_dc_luminance_values = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11];\n var std_ac_luminance_nrcodes = [\n 0,\n 0,\n 2,\n 1,\n 3,\n 3,\n 2,\n 4,\n 3,\n 5,\n 5,\n 4,\n 4,\n 0,\n 0,\n 1,\n 0x7d\n ];\n var std_ac_luminance_values = [\n 0x01,\n 0x02,\n 0x03,\n 0x00,\n 0x04,\n 0x11,\n 0x05,\n 0x12,\n 0x21,\n 0x31,\n 0x41,\n 0x06,\n 0x13,\n 0x51,\n 0x61,\n 0x07,\n 0x22,\n 0x71,\n 0x14,\n 0x32,\n 0x81,\n 0x91,\n 0xa1,\n 0x08,\n 0x23,\n 0x42,\n 0xb1,\n 0xc1,\n 0x15,\n 0x52,\n 0xd1,\n 0xf0,\n 0x24,\n 0x33,\n 0x62,\n 0x72,\n 0x82,\n 0x09,\n 0x0a,\n 0x16,\n 0x17,\n 0x18,\n 0x19,\n 0x1a,\n 0x25,\n 0x26,\n 0x27,\n 0x28,\n 0x29,\n 0x2a,\n 0x34,\n 0x35,\n 0x36,\n 0x37,\n 0x38,\n 0x39,\n 0x3a,\n 0x43,\n 0x44,\n 0x45,\n 0x46,\n 0x47,\n 0x48,\n 0x49,\n 0x4a,\n 0x53,\n 0x54,\n 0x55,\n 0x56,\n 0x57,\n 0x58,\n 0x59,\n 0x5a,\n 0x63,\n 0x64,\n 0x65,\n 0x66,\n 0x67,\n 0x68,\n 0x69,\n 0x6a,\n 0x73,\n 0x74,\n 0x75,\n 0x76,\n 0x77,\n 0x78,\n 0x79,\n 0x7a,\n 0x83,\n 0x84,\n 0x85,\n 0x86,\n 0x87,\n 0x88,\n 0x89,\n 0x8a,\n 0x92,\n 0x93,\n 0x94,\n 0x95,\n 0x96,\n 0x97,\n 0x98,\n 0x99,\n 0x9a,\n 0xa2,\n 0xa3,\n 0xa4,\n 0xa5,\n 0xa6,\n 0xa7,\n 0xa8,\n 0xa9,\n 0xaa,\n 0xb2,\n 0xb3,\n 0xb4,\n 0xb5,\n 0xb6,\n 0xb7,\n 0xb8,\n 0xb9,\n 0xba,\n 0xc2,\n 0xc3,\n 0xc4,\n 0xc5,\n 0xc6,\n 0xc7,\n 0xc8,\n 0xc9,\n 0xca,\n 0xd2,\n 0xd3,\n 0xd4,\n 0xd5,\n 0xd6,\n 0xd7,\n 0xd8,\n 0xd9,\n 0xda,\n 0xe1,\n 0xe2,\n 0xe3,\n 0xe4,\n 0xe5,\n 0xe6,\n 0xe7,\n 0xe8,\n 0xe9,\n 0xea,\n 0xf1,\n 0xf2,\n 0xf3,\n 0xf4,\n 0xf5,\n 0xf6,\n 0xf7,\n 0xf8,\n 0xf9,\n 0xfa\n ];\n\n var std_dc_chrominance_nrcodes = [\n 0,\n 0,\n 3,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 0,\n 0,\n 0,\n 0,\n 0\n ];\n var std_dc_chrominance_values = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11];\n var std_ac_chrominance_nrcodes = [\n 0,\n 0,\n 2,\n 1,\n 2,\n 4,\n 4,\n 3,\n 4,\n 7,\n 5,\n 4,\n 4,\n 0,\n 1,\n 2,\n 0x77\n ];\n var std_ac_chrominance_values = [\n 0x00,\n 0x01,\n 0x02,\n 0x03,\n 0x11,\n 0x04,\n 0x05,\n 0x21,\n 0x31,\n 0x06,\n 0x12,\n 0x41,\n 0x51,\n 0x07,\n 0x61,\n 0x71,\n 0x13,\n 0x22,\n 0x32,\n 0x81,\n 0x08,\n 0x14,\n 0x42,\n 0x91,\n 0xa1,\n 0xb1,\n 0xc1,\n 0x09,\n 0x23,\n 0x33,\n 0x52,\n 0xf0,\n 0x15,\n 0x62,\n 0x72,\n 0xd1,\n 0x0a,\n 0x16,\n 0x24,\n 0x34,\n 0xe1,\n 0x25,\n 0xf1,\n 0x17,\n 0x18,\n 0x19,\n 0x1a,\n 0x26,\n 0x27,\n 0x28,\n 0x29,\n 0x2a,\n 0x35,\n 0x36,\n 0x37,\n 0x38,\n 0x39,\n 0x3a,\n 0x43,\n 0x44,\n 0x45,\n 0x46,\n 0x47,\n 0x48,\n 0x49,\n 0x4a,\n 0x53,\n 0x54,\n 0x55,\n 0x56,\n 0x57,\n 0x58,\n 0x59,\n 0x5a,\n 0x63,\n 0x64,\n 0x65,\n 0x66,\n 0x67,\n 0x68,\n 0x69,\n 0x6a,\n 0x73,\n 0x74,\n 0x75,\n 0x76,\n 0x77,\n 0x78,\n 0x79,\n 0x7a,\n 0x82,\n 0x83,\n 0x84,\n 0x85,\n 0x86,\n 0x87,\n 0x88,\n 0x89,\n 0x8a,\n 0x92,\n 0x93,\n 0x94,\n 0x95,\n 0x96,\n 0x97,\n 0x98,\n 0x99,\n 0x9a,\n 0xa2,\n 0xa3,\n 0xa4,\n 0xa5,\n 0xa6,\n 0xa7,\n 0xa8,\n 0xa9,\n 0xaa,\n 0xb2,\n 0xb3,\n 0xb4,\n 0xb5,\n 0xb6,\n 0xb7,\n 0xb8,\n 0xb9,\n 0xba,\n 0xc2,\n 0xc3,\n 0xc4,\n 0xc5,\n 0xc6,\n 0xc7,\n 0xc8,\n 0xc9,\n 0xca,\n 0xd2,\n 0xd3,\n 0xd4,\n 0xd5,\n 0xd6,\n 0xd7,\n 0xd8,\n 0xd9,\n 0xda,\n 0xe2,\n 0xe3,\n 0xe4,\n 0xe5,\n 0xe6,\n 0xe7,\n 0xe8,\n 0xe9,\n 0xea,\n 0xf2,\n 0xf3,\n 0xf4,\n 0xf5,\n 0xf6,\n 0xf7,\n 0xf8,\n 0xf9,\n 0xfa\n ];\n\n function initQuantTables(sf) {\n var YQT = [\n 16,\n 11,\n 10,\n 16,\n 24,\n 40,\n 51,\n 61,\n 12,\n 12,\n 14,\n 19,\n 26,\n 58,\n 60,\n 55,\n 14,\n 13,\n 16,\n 24,\n 40,\n 57,\n 69,\n 56,\n 14,\n 17,\n 22,\n 29,\n 51,\n 87,\n 80,\n 62,\n 18,\n 22,\n 37,\n 56,\n 68,\n 109,\n 103,\n 77,\n 24,\n 35,\n 55,\n 64,\n 81,\n 104,\n 113,\n 92,\n 49,\n 64,\n 78,\n 87,\n 103,\n 121,\n 120,\n 101,\n 72,\n 92,\n 95,\n 98,\n 112,\n 100,\n 103,\n 99\n ];\n\n for (var i = 0; i < 64; i++) {\n var t = ffloor((YQT[i] * sf + 50) / 100);\n t = Math.min(Math.max(t, 1), 255);\n YTable[ZigZag[i]] = t;\n }\n var UVQT = [\n 17,\n 18,\n 24,\n 47,\n 99,\n 99,\n 99,\n 99,\n 18,\n 21,\n 26,\n 66,\n 99,\n 99,\n 99,\n 99,\n 24,\n 26,\n 56,\n 99,\n 99,\n 99,\n 99,\n 99,\n 47,\n 66,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99\n ];\n for (var j = 0; j < 64; j++) {\n var u = ffloor((UVQT[j] * sf + 50) / 100);\n u = Math.min(Math.max(u, 1), 255);\n UVTable[ZigZag[j]] = u;\n }\n var aasf = [\n 1.0,\n 1.387039845,\n 1.306562965,\n 1.175875602,\n 1.0,\n 0.785694958,\n 0.5411961,\n 0.275899379\n ];\n var k = 0;\n for (var row = 0; row < 8; row++) {\n for (var col = 0; col < 8; col++) {\n fdtbl_Y[k] = 1.0 / (YTable[ZigZag[k]] * aasf[row] * aasf[col] * 8.0);\n fdtbl_UV[k] = 1.0 / (UVTable[ZigZag[k]] * aasf[row] * aasf[col] * 8.0);\n k++;\n }\n }\n }\n\n function computeHuffmanTbl(nrcodes, std_table) {\n var codevalue = 0;\n var pos_in_table = 0;\n var HT = new Array();\n for (var k = 1; k <= 16; k++) {\n for (var j = 1; j <= nrcodes[k]; j++) {\n HT[std_table[pos_in_table]] = [];\n HT[std_table[pos_in_table]][0] = codevalue;\n HT[std_table[pos_in_table]][1] = k;\n pos_in_table++;\n codevalue++;\n }\n codevalue *= 2;\n }\n return HT;\n }\n\n function initHuffmanTbl() {\n YDC_HT = computeHuffmanTbl(\n std_dc_luminance_nrcodes,\n std_dc_luminance_values\n );\n UVDC_HT = computeHuffmanTbl(\n std_dc_chrominance_nrcodes,\n std_dc_chrominance_values\n );\n YAC_HT = computeHuffmanTbl(\n std_ac_luminance_nrcodes,\n std_ac_luminance_values\n );\n UVAC_HT = computeHuffmanTbl(\n std_ac_chrominance_nrcodes,\n std_ac_chrominance_values\n );\n }\n\n function initCategoryNumber() {\n var nrlower = 1;\n var nrupper = 2;\n for (var cat = 1; cat <= 15; cat++) {\n //Positive numbers\n for (var nr = nrlower; nr < nrupper; nr++) {\n category[32767 + nr] = cat;\n bitcode[32767 + nr] = [];\n bitcode[32767 + nr][1] = cat;\n bitcode[32767 + nr][0] = nr;\n }\n //Negative numbers\n for (var nrneg = -(nrupper - 1); nrneg <= -nrlower; nrneg++) {\n category[32767 + nrneg] = cat;\n bitcode[32767 + nrneg] = [];\n bitcode[32767 + nrneg][1] = cat;\n bitcode[32767 + nrneg][0] = nrupper - 1 + nrneg;\n }\n nrlower <<= 1;\n nrupper <<= 1;\n }\n }\n\n function initRGBYUVTable() {\n for (var i = 0; i < 256; i++) {\n RGB_YUV_TABLE[i] = 19595 * i;\n RGB_YUV_TABLE[(i + 256) >> 0] = 38470 * i;\n RGB_YUV_TABLE[(i + 512) >> 0] = 7471 * i + 0x8000;\n RGB_YUV_TABLE[(i + 768) >> 0] = -11059 * i;\n RGB_YUV_TABLE[(i + 1024) >> 0] = -21709 * i;\n RGB_YUV_TABLE[(i + 1280) >> 0] = 32768 * i + 0x807fff;\n RGB_YUV_TABLE[(i + 1536) >> 0] = -27439 * i;\n RGB_YUV_TABLE[(i + 1792) >> 0] = -5329 * i;\n }\n }\n\n // IO functions\n function writeBits(bs) {\n var value = bs[0];\n var posval = bs[1] - 1;\n while (posval >= 0) {\n if (value & (1 << posval)) {\n bytenew |= 1 << bytepos;\n }\n posval--;\n bytepos--;\n if (bytepos < 0) {\n if (bytenew == 0xff) {\n writeByte(0xff);\n writeByte(0);\n } else {\n writeByte(bytenew);\n }\n bytepos = 7;\n bytenew = 0;\n }\n }\n }\n\n function writeByte(value) {\n //byteout.push(clt[value]); // write char directly instead of converting later\n byteout.push(value);\n }\n\n function writeWord(value) {\n writeByte((value >> 8) & 0xff);\n writeByte(value & 0xff);\n }\n\n // DCT & quantization core\n function fDCTQuant(data, fdtbl) {\n var d0, d1, d2, d3, d4, d5, d6, d7;\n /* Pass 1: process rows. */\n var dataOff = 0;\n var i;\n var I8 = 8;\n var I64 = 64;\n for (i = 0; i < I8; ++i) {\n d0 = data[dataOff];\n d1 = data[dataOff + 1];\n d2 = data[dataOff + 2];\n d3 = data[dataOff + 3];\n d4 = data[dataOff + 4];\n d5 = data[dataOff + 5];\n d6 = data[dataOff + 6];\n d7 = data[dataOff + 7];\n\n var tmp0 = d0 + d7;\n var tmp7 = d0 - d7;\n var tmp1 = d1 + d6;\n var tmp6 = d1 - d6;\n var tmp2 = d2 + d5;\n var tmp5 = d2 - d5;\n var tmp3 = d3 + d4;\n var tmp4 = d3 - d4;\n\n /* Even part */\n var tmp10 = tmp0 + tmp3; /* phase 2 */\n var tmp13 = tmp0 - tmp3;\n var tmp11 = tmp1 + tmp2;\n var tmp12 = tmp1 - tmp2;\n\n data[dataOff] = tmp10 + tmp11; /* phase 3 */\n data[dataOff + 4] = tmp10 - tmp11;\n\n var z1 = (tmp12 + tmp13) * 0.707106781; /* c4 */\n data[dataOff + 2] = tmp13 + z1; /* phase 5 */\n data[dataOff + 6] = tmp13 - z1;\n\n /* Odd part */\n tmp10 = tmp4 + tmp5; /* phase 2 */\n tmp11 = tmp5 + tmp6;\n tmp12 = tmp6 + tmp7;\n\n /* The rotator is modified from fig 4-8 to avoid extra negations. */\n var z5 = (tmp10 - tmp12) * 0.382683433; /* c6 */\n var z2 = 0.5411961 * tmp10 + z5; /* c2-c6 */\n var z4 = 1.306562965 * tmp12 + z5; /* c2+c6 */\n var z3 = tmp11 * 0.707106781; /* c4 */\n\n var z11 = tmp7 + z3; /* phase 5 */\n var z13 = tmp7 - z3;\n\n data[dataOff + 5] = z13 + z2; /* phase 6 */\n data[dataOff + 3] = z13 - z2;\n data[dataOff + 1] = z11 + z4;\n data[dataOff + 7] = z11 - z4;\n\n dataOff += 8; /* advance pointer to next row */\n }\n\n /* Pass 2: process columns. */\n dataOff = 0;\n for (i = 0; i < I8; ++i) {\n d0 = data[dataOff];\n d1 = data[dataOff + 8];\n d2 = data[dataOff + 16];\n d3 = data[dataOff + 24];\n d4 = data[dataOff + 32];\n d5 = data[dataOff + 40];\n d6 = data[dataOff + 48];\n d7 = data[dataOff + 56];\n\n var tmp0p2 = d0 + d7;\n var tmp7p2 = d0 - d7;\n var tmp1p2 = d1 + d6;\n var tmp6p2 = d1 - d6;\n var tmp2p2 = d2 + d5;\n var tmp5p2 = d2 - d5;\n var tmp3p2 = d3 + d4;\n var tmp4p2 = d3 - d4;\n\n /* Even part */\n var tmp10p2 = tmp0p2 + tmp3p2; /* phase 2 */\n var tmp13p2 = tmp0p2 - tmp3p2;\n var tmp11p2 = tmp1p2 + tmp2p2;\n var tmp12p2 = tmp1p2 - tmp2p2;\n\n data[dataOff] = tmp10p2 + tmp11p2; /* phase 3 */\n data[dataOff + 32] = tmp10p2 - tmp11p2;\n\n var z1p2 = (tmp12p2 + tmp13p2) * 0.707106781; /* c4 */\n data[dataOff + 16] = tmp13p2 + z1p2; /* phase 5 */\n data[dataOff + 48] = tmp13p2 - z1p2;\n\n /* Odd part */\n tmp10p2 = tmp4p2 + tmp5p2; /* phase 2 */\n tmp11p2 = tmp5p2 + tmp6p2;\n tmp12p2 = tmp6p2 + tmp7p2;\n\n /* The rotator is modified from fig 4-8 to avoid extra negations. */\n var z5p2 = (tmp10p2 - tmp12p2) * 0.382683433; /* c6 */\n var z2p2 = 0.5411961 * tmp10p2 + z5p2; /* c2-c6 */\n var z4p2 = 1.306562965 * tmp12p2 + z5p2; /* c2+c6 */\n var z3p2 = tmp11p2 * 0.707106781; /* c4 */\n\n var z11p2 = tmp7p2 + z3p2; /* phase 5 */\n var z13p2 = tmp7p2 - z3p2;\n\n data[dataOff + 40] = z13p2 + z2p2; /* phase 6 */\n data[dataOff + 24] = z13p2 - z2p2;\n data[dataOff + 8] = z11p2 + z4p2;\n data[dataOff + 56] = z11p2 - z4p2;\n\n dataOff++; /* advance pointer to next column */\n }\n\n // Quantize/descale the coefficients\n var fDCTQuant;\n for (i = 0; i < I64; ++i) {\n // Apply the quantization and scaling factor & Round to nearest integer\n fDCTQuant = data[i] * fdtbl[i];\n outputfDCTQuant[i] =\n fDCTQuant > 0.0 ? (fDCTQuant + 0.5) | 0 : (fDCTQuant - 0.5) | 0;\n //outputfDCTQuant[i] = fround(fDCTQuant);\n }\n return outputfDCTQuant;\n }\n\n function writeAPP0() {\n writeWord(0xffe0); // marker\n writeWord(16); // length\n writeByte(0x4a); // J\n writeByte(0x46); // F\n writeByte(0x49); // I\n writeByte(0x46); // F\n writeByte(0); // = \"JFIF\",'\\0'\n writeByte(1); // versionhi\n writeByte(1); // versionlo\n writeByte(0); // xyunits\n writeWord(1); // xdensity\n writeWord(1); // ydensity\n writeByte(0); // thumbnwidth\n writeByte(0); // thumbnheight\n }\n\n function writeSOF0(width, height) {\n writeWord(0xffc0); // marker\n writeWord(17); // length, truecolor YUV JPG\n writeByte(8); // precision\n writeWord(height);\n writeWord(width);\n writeByte(3); // nrofcomponents\n writeByte(1); // IdY\n writeByte(0x11); // HVY\n writeByte(0); // QTY\n writeByte(2); // IdU\n writeByte(0x11); // HVU\n writeByte(1); // QTU\n writeByte(3); // IdV\n writeByte(0x11); // HVV\n writeByte(1); // QTV\n }\n\n function writeDQT() {\n writeWord(0xffdb); // marker\n writeWord(132); // length\n writeByte(0);\n for (var i = 0; i < 64; i++) {\n writeByte(YTable[i]);\n }\n writeByte(1);\n for (var j = 0; j < 64; j++) {\n writeByte(UVTable[j]);\n }\n }\n\n function writeDHT() {\n writeWord(0xffc4); // marker\n writeWord(0x01a2); // length\n\n writeByte(0); // HTYDCinfo\n for (var i = 0; i < 16; i++) {\n writeByte(std_dc_luminance_nrcodes[i + 1]);\n }\n for (var j = 0; j <= 11; j++) {\n writeByte(std_dc_luminance_values[j]);\n }\n\n writeByte(0x10); // HTYACinfo\n for (var k = 0; k < 16; k++) {\n writeByte(std_ac_luminance_nrcodes[k + 1]);\n }\n for (var l = 0; l <= 161; l++) {\n writeByte(std_ac_luminance_values[l]);\n }\n\n writeByte(1); // HTUDCinfo\n for (var m = 0; m < 16; m++) {\n writeByte(std_dc_chrominance_nrcodes[m + 1]);\n }\n for (var n = 0; n <= 11; n++) {\n writeByte(std_dc_chrominance_values[n]);\n }\n\n writeByte(0x11); // HTUACinfo\n for (var o = 0; o < 16; o++) {\n writeByte(std_ac_chrominance_nrcodes[o + 1]);\n }\n for (var p = 0; p <= 161; p++) {\n writeByte(std_ac_chrominance_values[p]);\n }\n }\n\n function writeSOS() {\n writeWord(0xffda); // marker\n writeWord(12); // length\n writeByte(3); // nrofcomponents\n writeByte(1); // IdY\n writeByte(0); // HTY\n writeByte(2); // IdU\n writeByte(0x11); // HTU\n writeByte(3); // IdV\n writeByte(0x11); // HTV\n writeByte(0); // Ss\n writeByte(0x3f); // Se\n writeByte(0); // Bf\n }\n\n function processDU(CDU, fdtbl, DC, HTDC, HTAC) {\n var EOB = HTAC[0x00];\n var M16zeroes = HTAC[0xf0];\n var pos;\n var I16 = 16;\n var I63 = 63;\n var I64 = 64;\n var DU_DCT = fDCTQuant(CDU, fdtbl);\n //ZigZag reorder\n for (var j = 0; j < I64; ++j) {\n DU[ZigZag[j]] = DU_DCT[j];\n }\n var Diff = DU[0] - DC;\n DC = DU[0];\n //Encode DC\n if (Diff == 0) {\n writeBits(HTDC[0]); // Diff might be 0\n } else {\n pos = 32767 + Diff;\n writeBits(HTDC[category[pos]]);\n writeBits(bitcode[pos]);\n }\n //Encode ACs\n var end0pos = 63; // was const... which is crazy\n while (end0pos > 0 && DU[end0pos] == 0) {\n end0pos--;\n }\n //end0pos = first element in reverse order !=0\n if (end0pos == 0) {\n writeBits(EOB);\n return DC;\n }\n var i = 1;\n var lng;\n while (i <= end0pos) {\n var startpos = i;\n while (DU[i] == 0 && i <= end0pos) {\n ++i;\n }\n var nrzeroes = i - startpos;\n if (nrzeroes >= I16) {\n lng = nrzeroes >> 4;\n for (var nrmarker = 1; nrmarker <= lng; ++nrmarker)\n writeBits(M16zeroes);\n nrzeroes = nrzeroes & 0xf;\n }\n pos = 32767 + DU[i];\n writeBits(HTAC[(nrzeroes << 4) + category[pos]]);\n writeBits(bitcode[pos]);\n i++;\n }\n if (end0pos != I63) {\n writeBits(EOB);\n }\n return DC;\n }\n\n function initCharLookupTable() {\n var sfcc = String.fromCharCode;\n for (var i = 0; i < 256; i++) {\n ///// ACHTUNG // 255\n clt[i] = sfcc(i);\n }\n }\n\n this.encode = function(\n image,\n quality // image data object\n ) {\n if (quality) setQuality(quality);\n\n // Initialize bit writer\n byteout = new Array();\n bytenew = 0;\n bytepos = 7;\n\n // Add JPEG headers\n writeWord(0xffd8); // SOI\n writeAPP0();\n writeDQT();\n writeSOF0(image.width, image.height);\n writeDHT();\n writeSOS();\n\n // Encode 8x8 macroblocks\n var DCY = 0;\n var DCU = 0;\n var DCV = 0;\n\n bytenew = 0;\n bytepos = 7;\n\n this.encode.displayName = \"_encode_\";\n\n var imageData = image.data;\n var width = image.width;\n var height = image.height;\n\n var quadWidth = width * 4;\n\n var x,\n y = 0;\n var r, g, b;\n var start, p, col, row, pos;\n while (y < height) {\n x = 0;\n while (x < quadWidth) {\n start = quadWidth * y + x;\n col = -1;\n row = 0;\n\n for (pos = 0; pos < 64; pos++) {\n row = pos >> 3; // /8\n col = (pos & 7) * 4; // %8\n p = start + row * quadWidth + col;\n\n if (y + row >= height) {\n // padding bottom\n p -= quadWidth * (y + 1 + row - height);\n }\n\n if (x + col >= quadWidth) {\n // padding right\n p -= x + col - quadWidth + 4;\n }\n\n r = imageData[p++];\n g = imageData[p++];\n b = imageData[p++];\n\n /* // calculate YUV values dynamically\n\t\t\t\t\tYDU[pos]=((( 0.29900)*r+( 0.58700)*g+( 0.11400)*b))-128; //-0x80\n\t\t\t\t\tUDU[pos]=(((-0.16874)*r+(-0.33126)*g+( 0.50000)*b));\n\t\t\t\t\tVDU[pos]=((( 0.50000)*r+(-0.41869)*g+(-0.08131)*b));\n\t\t\t\t\t*/\n\n // use lookup table (slightly faster)\n YDU[pos] =\n ((RGB_YUV_TABLE[r] +\n RGB_YUV_TABLE[(g + 256) >> 0] +\n RGB_YUV_TABLE[(b + 512) >> 0]) >>\n 16) -\n 128;\n UDU[pos] =\n ((RGB_YUV_TABLE[(r + 768) >> 0] +\n RGB_YUV_TABLE[(g + 1024) >> 0] +\n RGB_YUV_TABLE[(b + 1280) >> 0]) >>\n 16) -\n 128;\n VDU[pos] =\n ((RGB_YUV_TABLE[(r + 1280) >> 0] +\n RGB_YUV_TABLE[(g + 1536) >> 0] +\n RGB_YUV_TABLE[(b + 1792) >> 0]) >>\n 16) -\n 128;\n }\n\n DCY = processDU(YDU, fdtbl_Y, DCY, YDC_HT, YAC_HT);\n DCU = processDU(UDU, fdtbl_UV, DCU, UVDC_HT, UVAC_HT);\n DCV = processDU(VDU, fdtbl_UV, DCV, UVDC_HT, UVAC_HT);\n x += 32;\n }\n y += 8;\n }\n\n ////////////////////////////////////////////////////////////////\n\n // Do the bit alignment of the EOI marker\n if (bytepos >= 0) {\n var fillbits = [];\n fillbits[1] = bytepos + 1;\n fillbits[0] = (1 << (bytepos + 1)) - 1;\n writeBits(fillbits);\n }\n\n writeWord(0xffd9); //EOI\n\n return new Uint8Array(byteout);\n };\n\n function setQuality(quality) {\n quality = Math.min(Math.max(quality, 1), 100);\n\n if (currentQuality == quality) return; // don't recalc if unchanged\n\n var sf =\n quality < 50 ? Math.floor(5000 / quality) : Math.floor(200 - quality * 2);\n\n initQuantTables(sf);\n currentQuality = quality;\n //console.log('Quality set to: '+quality +'%');\n }\n\n function init() {\n quality = quality || 50;\n // Create tables\n initCharLookupTable();\n initHuffmanTbl();\n initCategoryNumber();\n initRGBYUVTable();\n\n setQuality(quality);\n }\n init();\n}\n\nexport { JPEGEncoder };\n","/**\n * @author shaozilee\n *\n * Bmp format decoder,support 1bit 4bit 8bit 24bit bmp\n *\n */\n\nimport { console } from \"./console.js\";\n\nfunction BmpDecoder(buffer, is_with_alpha) {\n this.pos = 0;\n this.buffer = buffer;\n this.datav = new DataView(buffer.buffer);\n this.is_with_alpha = !!is_with_alpha;\n this.bottom_up = true;\n this.flag =\n String.fromCharCode(this.buffer[0]) + String.fromCharCode(this.buffer[1]);\n this.pos += 2;\n if ([\"BM\", \"BA\", \"CI\", \"CP\", \"IC\", \"PT\"].indexOf(this.flag) === -1)\n throw new Error(\"Invalid BMP File\");\n this.parseHeader();\n this.parseBGR();\n}\n\nBmpDecoder.prototype.parseHeader = function() {\n this.fileSize = this.datav.getUint32(this.pos, true);\n this.pos += 4;\n this.reserved = this.datav.getUint32(this.pos, true);\n this.pos += 4;\n this.offset = this.datav.getUint32(this.pos, true);\n this.pos += 4;\n this.headerSize = this.datav.getUint32(this.pos, true);\n this.pos += 4;\n this.width = this.datav.getUint32(this.pos, true);\n this.pos += 4;\n this.height = this.datav.getInt32(this.pos, true);\n this.pos += 4;\n this.planes = this.datav.getUint16(this.pos, true);\n this.pos += 2;\n this.bitPP = this.datav.getUint16(this.pos, true);\n this.pos += 2;\n this.compress = this.datav.getUint32(this.pos, true);\n this.pos += 4;\n this.rawSize = this.datav.getUint32(this.pos, true);\n this.pos += 4;\n this.hr = this.datav.getUint32(this.pos, true);\n this.pos += 4;\n this.vr = this.datav.getUint32(this.pos, true);\n this.pos += 4;\n this.colors = this.datav.getUint32(this.pos, true);\n this.pos += 4;\n this.importantColors = this.datav.getUint32(this.pos, true);\n this.pos += 4;\n\n if (this.bitPP === 16 && this.is_with_alpha) {\n this.bitPP = 15;\n }\n if (this.bitPP < 15) {\n var len = this.colors === 0 ? 1 << this.bitPP : this.colors;\n this.palette = new Array(len);\n for (var i = 0; i < len; i++) {\n var blue = this.datav.getUint8(this.pos++, true);\n var green = this.datav.getUint8(this.pos++, true);\n var red = this.datav.getUint8(this.pos++, true);\n var quad = this.datav.getUint8(this.pos++, true);\n this.palette[i] = {\n red: red,\n green: green,\n blue: blue,\n quad: quad\n };\n }\n }\n if (this.height < 0) {\n this.height *= -1;\n this.bottom_up = false;\n }\n};\n\nBmpDecoder.prototype.parseBGR = function() {\n this.pos = this.offset;\n try {\n var bitn = \"bit\" + this.bitPP;\n var len = this.width * this.height * 4;\n this.data = new Uint8Array(len);\n\n this[bitn]();\n } catch (e) {\n console.log(\"bit decode error:\" + e);\n }\n};\n\nBmpDecoder.prototype.bit1 = function() {\n var xlen = Math.ceil(this.width / 8);\n var mode = xlen % 4;\n var y;\n for (y = this.height - 1; y >= 0; y--) {\n var line = this.bottom_up ? y : this.height - 1 - y;\n for (var x = 0; x < xlen; x++) {\n var b = this.datav.getUint8(this.pos++, true);\n var location = line * this.width * 4 + x * 8 * 4;\n for (var i = 0; i < 8; i++) {\n if (x * 8 + i < this.width) {\n var rgb = this.palette[(b >> (7 - i)) & 0x1];\n this.data[location + i * 4] = rgb.blue;\n this.data[location + i * 4 + 1] = rgb.green;\n this.data[location + i * 4 + 2] = rgb.red;\n this.data[location + i * 4 + 3] = 0xff;\n } else {\n break;\n }\n }\n }\n\n if (mode !== 0) {\n this.pos += 4 - mode;\n }\n }\n};\n\nBmpDecoder.prototype.bit4 = function() {\n var xlen = Math.ceil(this.width / 2);\n var mode = xlen % 4;\n for (var y = this.height - 1; y >= 0; y--) {\n var line = this.bottom_up ? y : this.height - 1 - y;\n for (var x = 0; x < xlen; x++) {\n var b = this.datav.getUint8(this.pos++, true);\n var location = line * this.width * 4 + x * 2 * 4;\n\n var before = b >> 4;\n var after = b & 0x0f;\n\n var rgb = this.palette[before];\n this.data[location] = rgb.blue;\n this.data[location + 1] = rgb.green;\n this.data[location + 2] = rgb.red;\n this.data[location + 3] = 0xff;\n\n if (x * 2 + 1 >= this.width) break;\n\n rgb = this.palette[after];\n this.data[location + 4] = rgb.blue;\n this.data[location + 4 + 1] = rgb.green;\n this.data[location + 4 + 2] = rgb.red;\n this.data[location + 4 + 3] = 0xff;\n }\n\n if (mode !== 0) {\n this.pos += 4 - mode;\n }\n }\n};\n\nBmpDecoder.prototype.bit8 = function() {\n var mode = this.width % 4;\n for (var y = this.height - 1; y >= 0; y--) {\n var line = this.bottom_up ? y : this.height - 1 - y;\n for (var x = 0; x < this.width; x++) {\n var b = this.datav.getUint8(this.pos++, true);\n var location = line * this.width * 4 + x * 4;\n if (b < this.palette.length) {\n var rgb = this.palette[b];\n this.data[location] = rgb.red;\n this.data[location + 1] = rgb.green;\n this.data[location + 2] = rgb.blue;\n this.data[location + 3] = 0xff;\n } else {\n this.data[location] = 0xff;\n this.data[location + 1] = 0xff;\n this.data[location + 2] = 0xff;\n this.data[location + 3] = 0xff;\n }\n }\n if (mode !== 0) {\n this.pos += 4 - mode;\n }\n }\n};\n\nBmpDecoder.prototype.bit15 = function() {\n var dif_w = this.width % 3;\n var _11111 = parseInt(\"11111\", 2),\n _1_5 = _11111;\n for (var y = this.height - 1; y >= 0; y--) {\n var line = this.bottom_up ? y : this.height - 1 - y;\n for (var x = 0; x < this.width; x++) {\n var B = this.datav.getUint16(this.pos, true);\n this.pos += 2;\n var blue = (((B & _1_5) / _1_5) * 255) | 0;\n var green = ((((B >> 5) & _1_5) / _1_5) * 255) | 0;\n var red = ((((B >> 10) & _1_5) / _1_5) * 255) | 0;\n var alpha = B >> 15 ? 0xff : 0x00;\n\n var location = line * this.width * 4 + x * 4;\n this.data[location] = red;\n this.data[location + 1] = green;\n this.data[location + 2] = blue;\n this.data[location + 3] = alpha;\n }\n //skip extra bytes\n this.pos += dif_w;\n }\n};\n\nBmpDecoder.prototype.bit16 = function() {\n var dif_w = this.width % 3;\n var _11111 = parseInt(\"11111\", 2),\n _1_5 = _11111;\n var _111111 = parseInt(\"111111\", 2),\n _1_6 = _111111;\n for (var y = this.height - 1; y >= 0; y--) {\n var line = this.bottom_up ? y : this.height - 1 - y;\n for (var x = 0; x < this.width; x++) {\n var B = this.datav.getUint16(this.pos, true);\n this.pos += 2;\n var alpha = 0xff;\n var blue = (((B & _1_5) / _1_5) * 255) | 0;\n var green = ((((B >> 5) & _1_6) / _1_6) * 255) | 0;\n var red = (((B >> 11) / _1_5) * 255) | 0;\n\n var location = line * this.width * 4 + x * 4;\n this.data[location] = red;\n this.data[location + 1] = green;\n this.data[location + 2] = blue;\n this.data[location + 3] = alpha;\n }\n //skip extra bytes\n this.pos += dif_w;\n }\n};\n\nBmpDecoder.prototype.bit24 = function() {\n //when height > 0\n for (var y = this.height - 1; y >= 0; y--) {\n var line = this.bottom_up ? y : this.height - 1 - y;\n for (var x = 0; x < this.width; x++) {\n var blue = this.datav.getUint8(this.pos++, true);\n var green = this.datav.getUint8(this.pos++, true);\n var red = this.datav.getUint8(this.pos++, true);\n var location = line * this.width * 4 + x * 4;\n this.data[location] = red;\n this.data[location + 1] = green;\n this.data[location + 2] = blue;\n this.data[location + 3] = 0xff;\n }\n //skip extra bytes\n this.pos += this.width % 4;\n }\n};\n\n/**\n * add 32bit decode func\n * @author soubok\n */\nBmpDecoder.prototype.bit32 = function() {\n //when height > 0\n for (var y = this.height - 1; y >= 0; y--) {\n var line = this.bottom_up ? y : this.height - 1 - y;\n for (var x = 0; x < this.width; x++) {\n var blue = this.datav.getUint8(this.pos++, true);\n var green = this.datav.getUint8(this.pos++, true);\n var red = this.datav.getUint8(this.pos++, true);\n var alpha = this.datav.getUint8(this.pos++, true);\n var location = line * this.width * 4 + x * 4;\n this.data[location] = red;\n this.data[location + 1] = green;\n this.data[location + 2] = blue;\n this.data[location + 3] = alpha;\n }\n //skip extra bytes\n //this.pos += (this.width % 4);\n }\n};\n\nBmpDecoder.prototype.getData = function() {\n return this.data;\n};\n\nexport { BmpDecoder };\n","function WebPDecoder(imageData) {\n /** @license\n * Copyright 2011 Google Inc.\n *\n * This code is licensed under the same terms as WebM:\n * Software License Agreement: http://www.webmproject.org/license/software/\n * Additional IP Rights Grant: http://www.webmproject.org/license/additional/\n * -----------------------------------------------------------------------------\n *\n * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\" AND\n * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED\n * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.\n * IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,\n * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,\n * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY\n * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING\n * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,\n * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n *\n * -----------------------------------------------------------------------------\n *\n * Copyright 2011-2017 Dominik Homberger\n * Libwebp Javascript / libwebpjs - the libwebp implementation in javascript (v0.6.0)\n *\n * Author: Dominik Homberger (dominik.homberger@gmail.com)\n */\n\n var self = this;\n var UpsampleRgbLinePair,\n UpsampleBgrLinePair,\n UpsampleRgbaLinePair,\n UpsampleBgraLinePair,\n UpsampleArgbLinePair,\n UpsampleArgbLinePair,\n UpsampleRgba4444LinePair,\n UpsampleRgb565LinePair;\n\n function x(F) {\n if (!F) throw Error(\"assert :P\");\n }\n function fa(F, L, J) {\n for (var H = 0; 4 > H; H++) if (F[L + H] != J.charCodeAt(H)) return !0;\n return !1;\n }\n function I(F, L, J, H, Z) {\n for (var O = 0; O < Z; O++) F[L + O] = J[H + O];\n }\n function M(F, L, J, H) {\n for (var Z = 0; Z < H; Z++) F[L + Z] = J;\n }\n function V(F) {\n return new Int32Array(F);\n }\n function wa(F, L) {\n for (var J = [], H = 0; H < F; H++) J.push(new L());\n return J;\n }\n function wb() {\n function F(J, H, Z) {\n for (var O = Z[H], L = 0; L < O; L++) {\n J.push(Z.length > H + 1 ? [] : 0);\n if (Z.length < H + 1) break;\n F(J[L], H + 1, Z);\n }\n }\n var L = [];\n F(L, 0, [3, 11]);\n return L;\n }\n function Ed(F, L) {\n function J(H, O, F) {\n for (var Z = F[O], ma = 0; ma < Z; ma++) {\n H.push(F.length > O + 1 ? [] : new L());\n if (F.length < O + 1) break;\n J(H[ma], O + 1, F);\n }\n }\n var H = [];\n J(H, 0, F);\n return H;\n }\n var _WebPDecoder = function() {\n var self = this;\n function F() {\n V(55);\n }\n function L(a, b) {\n for (var c = (1 << (b - 1)) >>> 0; a & c; ) c >>>= 1;\n return c ? (a & (c - 1)) + c : a;\n }\n function J(a, b, c, d, e) {\n x(!(d % c));\n do (d -= c), (a[b + d] = e);\n while (0 < d);\n }\n function H(a, b, c, d, e, f) {\n var g = b,\n h = 1 << c,\n k,\n l,\n m = V(16),\n n = V(16);\n x(0 != e);\n x(null != d);\n x(null != a);\n x(0 < c);\n for (l = 0; l < e; ++l) {\n if (15 < d[l]) return 0;\n ++m[d[l]];\n }\n if (m[0] == e) return 0;\n n[1] = 0;\n for (k = 1; 15 > k; ++k) {\n if (m[k] > 1 << k) return 0;\n n[k + 1] = n[k] + m[k];\n }\n for (l = 0; l < e; ++l) (k = d[l]), 0 < d[l] && (f[n[k]++] = l);\n if (1 == n[15])\n return (d = new O()), (d.g = 0), (d.value = f[0]), J(a, g, 1, h, d), h;\n var r = -1,\n q = h - 1,\n t = 0,\n v = 1,\n p = 1,\n u,\n w = 1 << c;\n l = 0;\n k = 1;\n for (e = 2; k <= c; ++k, e <<= 1) {\n p <<= 1;\n v += p;\n p -= m[k];\n if (0 > p) return 0;\n for (; 0 < m[k]; --m[k])\n (d = new O()),\n (d.g = k),\n (d.value = f[l++]),\n J(a, g + t, e, w, d),\n (t = L(t, k));\n }\n k = c + 1;\n for (e = 2; 15 >= k; ++k, e <<= 1) {\n p <<= 1;\n v += p;\n p -= m[k];\n if (0 > p) return 0;\n for (; 0 < m[k]; --m[k]) {\n d = new O();\n if ((t & q) != r) {\n g += w;\n r = k;\n for (u = 1 << (r - c); 15 > r; ) {\n u -= m[r];\n if (0 >= u) break;\n ++r;\n u <<= 1;\n }\n u = r - c;\n w = 1 << u;\n h += w;\n r = t & q;\n a[b + r].g = u + c;\n a[b + r].value = g - b - r;\n }\n d.g = k - c;\n d.value = f[l++];\n J(a, g + (t >> c), e, w, d);\n t = L(t, k);\n }\n }\n return v != 2 * n[15] - 1 ? 0 : h;\n }\n function Z(a, b, c, d, e) {\n x(2328 >= e);\n if (512 >= e) var f = V(512);\n else if (((f = V(e)), null == f)) return 0;\n return H(a, b, c, d, e, f);\n }\n function O() {\n this.value = this.g = 0;\n }\n function Fd() {\n this.value = this.g = 0;\n }\n function Ub() {\n this.G = wa(5, O);\n this.H = V(5);\n this.jc = this.Qb = this.qb = this.nd = 0;\n this.pd = wa(xb, Fd);\n }\n function ma(a, b, c, d) {\n x(null != a);\n x(null != b);\n x(2147483648 > d);\n a.Ca = 254;\n a.I = 0;\n a.b = -8;\n a.Ka = 0;\n a.oa = b;\n a.pa = c;\n a.Jd = b;\n a.Yc = c + d;\n a.Zc = 4 <= d ? c + d - 4 + 1 : c;\n Qa(a);\n }\n function na(a, b) {\n for (var c = 0; 0 < b--; ) c |= K(a, 128) << b;\n return c;\n }\n function ca(a, b) {\n var c = na(a, b);\n return G(a) ? -c : c;\n }\n function cb(a, b, c, d) {\n var e,\n f = 0;\n x(null != a);\n x(null != b);\n x(4294967288 > d);\n a.Sb = d;\n a.Ra = 0;\n a.u = 0;\n a.h = 0;\n 4 < d && (d = 4);\n for (e = 0; e < d; ++e) f += b[c + e] << (8 * e);\n a.Ra = f;\n a.bb = d;\n a.oa = b;\n a.pa = c;\n }\n function Vb(a) {\n for (; 8 <= a.u && a.bb < a.Sb; )\n (a.Ra >>>= 8),\n (a.Ra += (a.oa[a.pa + a.bb] << (ob - 8)) >>> 0),\n ++a.bb,\n (a.u -= 8);\n db(a) && ((a.h = 1), (a.u = 0));\n }\n function D(a, b) {\n x(0 <= b);\n if (!a.h && b <= Gd) {\n var c = pb(a) & Hd[b];\n a.u += b;\n Vb(a);\n return c;\n }\n a.h = 1;\n return (a.u = 0);\n }\n function Wb() {\n this.b = this.Ca = this.I = 0;\n this.oa = [];\n this.pa = 0;\n this.Jd = [];\n this.Yc = 0;\n this.Zc = [];\n this.Ka = 0;\n }\n function Ra() {\n this.Ra = 0;\n this.oa = [];\n this.h = this.u = this.bb = this.Sb = this.pa = 0;\n }\n function pb(a) {\n return (a.Ra >>> (a.u & (ob - 1))) >>> 0;\n }\n function db(a) {\n x(a.bb <= a.Sb);\n return a.h || (a.bb == a.Sb && a.u > ob);\n }\n function qb(a, b) {\n a.u = b;\n a.h = db(a);\n }\n function Sa(a) {\n a.u >= Xb && (x(a.u >= Xb), Vb(a));\n }\n function Qa(a) {\n x(null != a && null != a.oa);\n a.pa < a.Zc\n ? ((a.I = (a.oa[a.pa++] | (a.I << 8)) >>> 0), (a.b += 8))\n : (x(null != a && null != a.oa),\n a.pa < a.Yc\n ? ((a.b += 8), (a.I = a.oa[a.pa++] | (a.I << 8)))\n : a.Ka\n ? (a.b = 0)\n : ((a.I <<= 8), (a.b += 8), (a.Ka = 1)));\n }\n function G(a) {\n return na(a, 1);\n }\n function K(a, b) {\n var c = a.Ca;\n 0 > a.b && Qa(a);\n var d = a.b,\n e = (c * b) >>> 8,\n f = (a.I >>> d > e) + 0;\n f ? ((c -= e), (a.I -= ((e + 1) << d) >>> 0)) : (c = e + 1);\n d = c;\n for (e = 0; 256 <= d; ) (e += 8), (d >>= 8);\n d = 7 ^ (e + Id[d]);\n a.b -= d;\n a.Ca = (c << d) - 1;\n return f;\n }\n function ra(a, b, c) {\n a[b + 0] = (c >> 24) & 255;\n a[b + 1] = (c >> 16) & 255;\n a[b + 2] = (c >> 8) & 255;\n a[b + 3] = (c >> 0) & 255;\n }\n function Ta(a, b) {\n return (a[b + 0] << 0) | (a[b + 1] << 8);\n }\n function Yb(a, b) {\n return Ta(a, b) | (a[b + 2] << 16);\n }\n function Ha(a, b) {\n return Ta(a, b) | (Ta(a, b + 2) << 16);\n }\n function Zb(a, b) {\n var c = 1 << b;\n x(null != a);\n x(0 < b);\n a.X = V(c);\n if (null == a.X) return 0;\n a.Mb = 32 - b;\n a.Xa = b;\n return 1;\n }\n function $b(a, b) {\n x(null != a);\n x(null != b);\n x(a.Xa == b.Xa);\n I(b.X, 0, a.X, 0, 1 << b.Xa);\n }\n function ac() {\n this.X = [];\n this.Xa = this.Mb = 0;\n }\n function bc(a, b, c, d) {\n x(null != c);\n x(null != d);\n var e = c[0],\n f = d[0];\n 0 == e && (e = (a * f + b / 2) / b);\n 0 == f && (f = (b * e + a / 2) / a);\n if (0 >= e || 0 >= f) return 0;\n c[0] = e;\n d[0] = f;\n return 1;\n }\n function xa(a, b) {\n return (a + (1 << b) - 1) >>> b;\n }\n function yb(a, b) {\n return (\n (((((a & 4278255360) + (b & 4278255360)) >>> 0) & 4278255360) +\n ((((a & 16711935) + (b & 16711935)) >>> 0) & 16711935)) >>>\n 0\n );\n }\n function X(a, b) {\n self[b] = function(b, d, e, f, g, h, k) {\n var c;\n for (c = 0; c < g; ++c) {\n var m = self[a](h[k + c - 1], e, f + c);\n h[k + c] = yb(b[d + c], m);\n }\n };\n }\n function Jd() {\n this.ud = this.hd = this.jd = 0;\n }\n function aa(a, b) {\n return ((((a ^ b) & 4278124286) >>> 1) + (a & b)) >>> 0;\n }\n function sa(a) {\n if (0 <= a && 256 > a) return a;\n if (0 > a) return 0;\n if (255 < a) return 255;\n }\n function eb(a, b) {\n return sa(a + ((a - b + 0.5) >> 1));\n }\n function Ia(a, b, c) {\n return Math.abs(b - c) - Math.abs(a - c);\n }\n function cc(a, b, c, d, e, f, g) {\n d = f[g - 1];\n for (c = 0; c < e; ++c) f[g + c] = d = yb(a[b + c], d);\n }\n function Kd(a, b, c, d, e) {\n var f;\n for (f = 0; f < c; ++f) {\n var g = a[b + f],\n h = (g >> 8) & 255,\n k = g & 16711935,\n k = k + ((h << 16) + h),\n k = k & 16711935;\n d[e + f] = ((g & 4278255360) + k) >>> 0;\n }\n }\n function dc(a, b) {\n b.jd = (a >> 0) & 255;\n b.hd = (a >> 8) & 255;\n b.ud = (a >> 16) & 255;\n }\n function Ld(a, b, c, d, e, f) {\n var g;\n for (g = 0; g < d; ++g) {\n var h = b[c + g],\n k = h >>> 8,\n l = h >>> 16,\n m = h,\n l = l + ((((a.jd << 24) >> 24) * ((k << 24) >> 24)) >>> 5),\n l = l & 255,\n m = m + ((((a.hd << 24) >> 24) * ((k << 24) >> 24)) >>> 5),\n m = m + ((((a.ud << 24) >> 24) * ((l << 24) >> 24)) >>> 5),\n m = m & 255;\n e[f + g] = (h & 4278255360) + (l << 16) + m;\n }\n }\n function ec(a, b, c, d, e) {\n self[b] = function(a, b, c, k, l, m, n, r, q) {\n for (k = n; k < r; ++k)\n for (n = 0; n < q; ++n) l[m++] = e(c[d(a[b++])]);\n };\n self[a] = function(a, b, h, k, l, m, n) {\n var f = 8 >> a.b,\n g = a.Ea,\n t = a.K[0],\n v = a.w;\n if (8 > f)\n for (a = (1 << a.b) - 1, v = (1 << f) - 1; b < h; ++b) {\n var p = 0,\n u;\n for (u = 0; u < g; ++u)\n u & a || (p = d(k[l++])), (m[n++] = e(t[p & v])), (p >>= f);\n }\n else self[\"VP8LMapColor\" + c](k, l, t, v, m, n, b, h, g);\n };\n }\n function Md(a, b, c, d, e) {\n for (c = b + c; b < c; ) {\n var f = a[b++];\n d[e++] = (f >> 16) & 255;\n d[e++] = (f >> 8) & 255;\n d[e++] = (f >> 0) & 255;\n }\n }\n function Nd(a, b, c, d, e) {\n for (c = b + c; b < c; ) {\n var f = a[b++];\n d[e++] = (f >> 16) & 255;\n d[e++] = (f >> 8) & 255;\n d[e++] = (f >> 0) & 255;\n d[e++] = (f >> 24) & 255;\n }\n }\n function Od(a, b, c, d, e) {\n for (c = b + c; b < c; ) {\n var f = a[b++],\n g = ((f >> 16) & 240) | ((f >> 12) & 15),\n f = ((f >> 0) & 240) | ((f >> 28) & 15);\n d[e++] = g;\n d[e++] = f;\n }\n }\n function Pd(a, b, c, d, e) {\n for (c = b + c; b < c; ) {\n var f = a[b++],\n g = ((f >> 16) & 248) | ((f >> 13) & 7),\n f = ((f >> 5) & 224) | ((f >> 3) & 31);\n d[e++] = g;\n d[e++] = f;\n }\n }\n function Qd(a, b, c, d, e) {\n for (c = b + c; b < c; ) {\n var f = a[b++];\n d[e++] = (f >> 0) & 255;\n d[e++] = (f >> 8) & 255;\n d[e++] = (f >> 16) & 255;\n }\n }\n function fb(a, b, c, d, e, f) {\n if (0 == f)\n for (c = b + c; b < c; )\n (f = a[b++]),\n ra(\n d,\n ((f[0] >> 24) |\n ((f[1] >> 8) & 65280) |\n ((f[2] << 8) & 16711680) |\n (f[3] << 24)) >>>\n 0\n ),\n (e += 32);\n else I(d, e, a, b, c);\n }\n function gb(a, b) {\n self[b][0] = self[a + \"0\"];\n self[b][1] = self[a + \"1\"];\n self[b][2] = self[a + \"2\"];\n self[b][3] = self[a + \"3\"];\n self[b][4] = self[a + \"4\"];\n self[b][5] = self[a + \"5\"];\n self[b][6] = self[a + \"6\"];\n self[b][7] = self[a + \"7\"];\n self[b][8] = self[a + \"8\"];\n self[b][9] = self[a + \"9\"];\n self[b][10] = self[a + \"10\"];\n self[b][11] = self[a + \"11\"];\n self[b][12] = self[a + \"12\"];\n self[b][13] = self[a + \"13\"];\n self[b][14] = self[a + \"0\"];\n self[b][15] = self[a + \"0\"];\n }\n function hb(a) {\n return a == zb || a == Ab || a == Ja || a == Bb;\n }\n function Rd() {\n this.eb = [];\n this.size = this.A = this.fb = 0;\n }\n function Sd() {\n this.y = [];\n this.f = [];\n this.ea = [];\n this.F = [];\n this.Tc = this.Ed = this.Cd = this.Fd = this.lb = this.Db = this.Ab = this.fa = this.J = this.W = this.N = this.O = 0;\n }\n function Cb() {\n this.Rd = this.height = this.width = this.S = 0;\n this.f = {};\n this.f.RGBA = new Rd();\n this.f.kb = new Sd();\n this.sd = null;\n }\n function Td() {\n this.width = [0];\n this.height = [0];\n this.Pd = [0];\n this.Qd = [0];\n this.format = [0];\n }\n function Ud() {\n this.Id = this.fd = this.Md = this.hb = this.ib = this.da = this.bd = this.cd = this.j = this.v = this.Da = this.Sd = this.ob = 0;\n }\n function Vd(a) {\n alert(\"todo:WebPSamplerProcessPlane\");\n return a.T;\n }\n function Wd(a, b) {\n var c = a.T,\n d = b.ba.f.RGBA,\n e = d.eb,\n f = d.fb + a.ka * d.A,\n g = P[b.ba.S],\n h = a.y,\n k = a.O,\n l = a.f,\n m = a.N,\n n = a.ea,\n r = a.W,\n q = b.cc,\n t = b.dc,\n v = b.Mc,\n p = b.Nc,\n u = a.ka,\n w = a.ka + a.T,\n y = a.U,\n A = (y + 1) >> 1;\n 0 == u\n ? g(h, k, null, null, l, m, n, r, l, m, n, r, e, f, null, null, y)\n : (g(b.ec, b.fc, h, k, q, t, v, p, l, m, n, r, e, f - d.A, e, f, y),\n ++c);\n for (; u + 2 < w; u += 2)\n (q = l),\n (t = m),\n (v = n),\n (p = r),\n (m += a.Rc),\n (r += a.Rc),\n (f += 2 * d.A),\n (k += 2 * a.fa),\n g(h, k - a.fa, h, k, q, t, v, p, l, m, n, r, e, f - d.A, e, f, y);\n k += a.fa;\n a.j + w < a.o\n ? (I(b.ec, b.fc, h, k, y),\n I(b.cc, b.dc, l, m, A),\n I(b.Mc, b.Nc, n, r, A),\n c--)\n : w & 1 ||\n g(\n h,\n k,\n null,\n null,\n l,\n m,\n n,\n r,\n l,\n m,\n n,\n r,\n e,\n f + d.A,\n null,\n null,\n y\n );\n return c;\n }\n function Xd(a, b, c) {\n var d = a.F,\n e = [a.J];\n if (null != d) {\n var f = a.U,\n g = b.ba.S,\n h = g == ya || g == Ja;\n b = b.ba.f.RGBA;\n var k = [0],\n l = a.ka;\n k[0] = a.T;\n a.Kb &&\n (0 == l ? --k[0] : (--l, (e[0] -= a.width)),\n a.j + a.ka + a.T == a.o && (k[0] = a.o - a.j - l));\n var m = b.eb,\n l = b.fb + l * b.A;\n a = fc(d, e[0], a.width, f, k, m, l + (h ? 0 : 3), b.A);\n x(c == k);\n a && hb(g) && za(m, l, h, f, k, b.A);\n }\n return 0;\n }\n function gc(a) {\n var b = a.ma,\n c = b.ba.S,\n d = 11 > c,\n e = c == Ua || c == Va || c == ya || c == Db || 12 == c || hb(c);\n b.memory = null;\n b.Ib = null;\n b.Jb = null;\n b.Nd = null;\n if (!hc(b.Oa, a, e ? 11 : 12)) return 0;\n e && hb(c) && ic();\n if (a.da) alert(\"todo:use_scaling\");\n else {\n if (d) {\n if (((b.Ib = Vd), a.Kb)) {\n c = (a.U + 1) >> 1;\n b.memory = V(a.U + 2 * c);\n if (null == b.memory) return 0;\n b.ec = b.memory;\n b.fc = 0;\n b.cc = b.ec;\n b.dc = b.fc + a.U;\n b.Mc = b.cc;\n b.Nc = b.dc + c;\n b.Ib = Wd;\n ic();\n }\n } else alert(\"todo:EmitYUV\");\n e && ((b.Jb = Xd), d && Aa());\n }\n if (d && !jc) {\n for (a = 0; 256 > a; ++a)\n (Yd[a] = (89858 * (a - 128) + Ba) >> Wa),\n (Zd[a] = -22014 * (a - 128) + Ba),\n ($d[a] = -45773 * (a - 128)),\n (ae[a] = (113618 * (a - 128) + Ba) >> Wa);\n for (a = ta; a < Eb; ++a)\n (b = (76283 * (a - 16) + Ba) >> Wa),\n (be[a - ta] = ga(b, 255)),\n (ce[a - ta] = ga((b + 8) >> 4, 15));\n jc = 1;\n }\n return 1;\n }\n function kc(a) {\n var b = a.ma,\n c = a.U,\n d = a.T;\n x(!(a.ka & 1));\n if (0 >= c || 0 >= d) return 0;\n c = b.Ib(a, b);\n null != b.Jb && b.Jb(a, b, c);\n b.Dc += c;\n return 1;\n }\n function lc(a) {\n a.ma.memory = null;\n }\n function mc(a, b, c, d) {\n if (47 != D(a, 8)) return 0;\n b[0] = D(a, 14) + 1;\n c[0] = D(a, 14) + 1;\n d[0] = D(a, 1);\n return 0 != D(a, 3) ? 0 : !a.h;\n }\n function ib(a, b) {\n if (4 > a) return a + 1;\n var c = (a - 2) >> 1;\n return ((2 + (a & 1)) << c) + D(b, c) + 1;\n }\n function nc(a, b) {\n if (120 < b) return b - 120;\n var c = de[b - 1],\n c = (c >> 4) * a + (8 - (c & 15));\n return 1 <= c ? c : 1;\n }\n function ua(a, b, c) {\n var d = pb(c);\n b += d & 255;\n var e = a[b].g - 8;\n 0 < e &&\n (qb(c, c.u + 8),\n (d = pb(c)),\n (b += a[b].value),\n (b += d & ((1 << e) - 1)));\n qb(c, c.u + a[b].g);\n return a[b].value;\n }\n function ub(a, b, c) {\n c.g += a.g;\n c.value += (a.value << b) >>> 0;\n x(8 >= c.g);\n return a.g;\n }\n function ha(a, b, c) {\n var d = a.xc;\n b = 0 == d ? 0 : a.vc[a.md * (c >> d) + (b >> d)];\n x(b < a.Wb);\n return a.Ya[b];\n }\n function oc(a, b, c, d) {\n var e = a.ab,\n f = a.c * b,\n g = a.C;\n b = g + b;\n var h = c,\n k = d;\n d = a.Ta;\n for (c = a.Ua; 0 < e--; ) {\n var l = a.gc[e],\n m = g,\n n = b,\n r = h,\n q = k,\n k = d,\n h = c,\n t = l.Ea;\n x(m < n);\n x(n <= l.nc);\n switch (l.hc) {\n case 2:\n pc(r, q, (n - m) * t, k, h);\n break;\n case 0:\n var v = l,\n p = m,\n u = n,\n w = k,\n y = h,\n A = v.Ea;\n 0 == p &&\n (ee(r, q, null, null, 1, w, y),\n cc(r, q + 1, 0, 0, A - 1, w, y + 1),\n (q += A),\n (y += A),\n ++p);\n for (\n var E = 1 << v.b,\n B = E - 1,\n C = xa(A, v.b),\n N = v.K,\n v = v.w + (p >> v.b) * C;\n p < u;\n\n ) {\n var z = N,\n Q = v,\n S = 1;\n for (fe(r, q, w, y - A, 1, w, y); S < A; ) {\n var K = qc[(z[Q++] >> 8) & 15],\n D = (S & ~B) + E;\n D > A && (D = A);\n K(r, q + +S, w, y + S - A, D - S, w, y + S);\n S = D;\n }\n q += A;\n y += A;\n ++p;\n p & B || (v += C);\n }\n n != l.nc && I(k, h - t, k, h + (n - m - 1) * t, t);\n break;\n case 1:\n t = r;\n u = q;\n r = l.Ea;\n q = 1 << l.b;\n w = q - 1;\n y = r & ~w;\n A = r - y;\n p = xa(r, l.b);\n E = l.K;\n for (l = l.w + (m >> l.b) * p; m < n; ) {\n B = E;\n C = l;\n N = new Jd();\n v = u + y;\n for (z = u + r; u < v; )\n dc(B[C++], N), Fb(N, t, u, q, k, h), (u += q), (h += q);\n u < z &&\n (dc(B[C++], N), Fb(N, t, u, A, k, h), (u += A), (h += A));\n ++m;\n m & w || (l += p);\n }\n break;\n case 3:\n if (r == k && q == h && 0 < l.b) {\n y = (n - m) * xa(l.Ea, l.b);\n t = h + (n - m) * t - y;\n u = k;\n r = t;\n q = k;\n w = h;\n A = y;\n p = [];\n for (y = A - 1; 0 <= y; --y) p[y] = q[w + y];\n for (y = A - 1; 0 <= y; --y) u[r + y] = p[y];\n rc(l, m, n, k, t, k, h);\n } else rc(l, m, n, r, q, k, h);\n }\n h = d;\n k = c;\n }\n k != c && I(d, c, h, k, f);\n }\n function ge(a, b) {\n var c = a.V,\n d = a.Ba + a.c * a.C,\n e = b - a.C;\n x(b <= a.l.o);\n x(16 >= e);\n if (0 < e) {\n var f = a.l,\n g = a.Ta,\n h = a.Ua,\n k = f.width;\n oc(a, e, c, d);\n h = [h];\n c = a.C;\n d = b;\n e = h;\n x(c < d);\n x(f.v < f.va);\n d > f.o && (d = f.o);\n if (c < f.j) {\n var l = f.j - c,\n c = f.j;\n e[0] += l * k;\n }\n c >= d\n ? (c = 0)\n : ((e[0] += 4 * f.v),\n (f.ka = c - f.j),\n (f.U = f.va - f.v),\n (f.T = d - c),\n (c = 1));\n if (c) {\n h = h[0];\n c = a.ca;\n if (11 > c.S) {\n for (\n var m = c.f.RGBA,\n d = c.S,\n e = f.U,\n f = f.T,\n l = m.eb,\n n = m.A,\n r = f,\n m = m.fb + a.Ma * m.A;\n 0 < r--;\n\n ) {\n var q = g,\n t = h,\n v = e,\n p = l,\n u = m;\n switch (d) {\n case Ca:\n sc(q, t, v, p, u);\n break;\n case Ua:\n Gb(q, t, v, p, u);\n break;\n case zb:\n Gb(q, t, v, p, u);\n za(p, u, 0, v, 1, 0);\n break;\n case tc:\n uc(q, t, v, p, u);\n break;\n case Va:\n fb(q, t, v, p, u, 1);\n break;\n case Ab:\n fb(q, t, v, p, u, 1);\n za(p, u, 0, v, 1, 0);\n break;\n case ya:\n fb(q, t, v, p, u, 0);\n break;\n case Ja:\n fb(q, t, v, p, u, 0);\n za(p, u, 1, v, 1, 0);\n break;\n case Db:\n Hb(q, t, v, p, u);\n break;\n case Bb:\n Hb(q, t, v, p, u);\n vc(p, u, v, 1, 0);\n break;\n case wc:\n xc(q, t, v, p, u);\n break;\n default:\n x(0);\n }\n h += k;\n m += n;\n }\n a.Ma += f;\n } else alert(\"todo:EmitRescaledRowsYUVA\");\n x(a.Ma <= c.height);\n }\n }\n a.C = b;\n x(a.C <= a.i);\n }\n function yc(a) {\n var b;\n if (0 < a.ua) return 0;\n for (b = 0; b < a.Wb; ++b) {\n var c = a.Ya[b].G,\n d = a.Ya[b].H;\n if (\n 0 < c[1][d[1] + 0].g ||\n 0 < c[2][d[2] + 0].g ||\n 0 < c[3][d[3] + 0].g\n )\n return 0;\n }\n return 1;\n }\n function zc(a, b, c, d, e, f) {\n if (0 != a.Z) {\n var g = a.qd,\n h = a.rd;\n for (x(null != ia[a.Z]); b < c; ++b)\n ia[a.Z](g, h, d, e, d, e, f), (g = d), (h = e), (e += f);\n a.qd = g;\n a.rd = h;\n }\n }\n function Ib(a, b) {\n var c = a.l.ma,\n d = 0 == c.Z || 1 == c.Z ? a.l.j : a.C,\n d = a.C < d ? d : a.C;\n x(b <= a.l.o);\n if (b > d) {\n var e = a.l.width,\n f = c.ca,\n g = c.tb + e * d,\n h = a.V,\n k = a.Ba + a.c * d,\n l = a.gc;\n x(1 == a.ab);\n x(3 == l[0].hc);\n he(l[0], d, b, h, k, f, g);\n zc(c, d, b, f, g, e);\n }\n a.C = a.Ma = b;\n }\n function Jb(a, b, c, d, e, f, g) {\n var h = a.$ / d,\n k = a.$ % d,\n l = a.m,\n m = a.s,\n n = c + a.$,\n r = n;\n e = c + d * e;\n var q = c + d * f,\n t = 280 + m.ua,\n v = a.Pb ? h : 16777216,\n p = 0 < m.ua ? m.Wa : null,\n u = m.wc,\n w = n < q ? ha(m, k, h) : null;\n x(a.C < f);\n x(q <= e);\n var y = !1;\n a: for (;;) {\n for (; y || n < q; ) {\n var A = 0;\n if (h >= v) {\n var v = a,\n E = n - c;\n x(v.Pb);\n v.wd = v.m;\n v.xd = E;\n 0 < v.s.ua && $b(v.s.Wa, v.s.vb);\n v = h + ie;\n }\n k & u || (w = ha(m, k, h));\n x(null != w);\n w.Qb && ((b[n] = w.qb), (y = !0));\n if (!y)\n if ((Sa(l), w.jc)) {\n var A = l,\n E = b,\n B = n,\n C = w.pd[pb(A) & (xb - 1)];\n x(w.jc);\n 256 > C.g\n ? (qb(A, A.u + C.g), (E[B] = C.value), (A = 0))\n : (qb(A, A.u + C.g - 256), x(256 <= C.value), (A = C.value));\n 0 == A && (y = !0);\n } else A = ua(w.G[0], w.H[0], l);\n if (l.h) break;\n if (y || 256 > A) {\n if (!y)\n if (w.nd) b[n] = (w.qb | (A << 8)) >>> 0;\n else {\n Sa(l);\n y = ua(w.G[1], w.H[1], l);\n Sa(l);\n E = ua(w.G[2], w.H[2], l);\n B = ua(w.G[3], w.H[3], l);\n if (l.h) break;\n b[n] = ((B << 24) | (y << 16) | (A << 8) | E) >>> 0;\n }\n y = !1;\n ++n;\n ++k;\n if (\n k >= d &&\n ((k = 0),\n ++h,\n null != g && h <= f && !(h % 16) && g(a, h),\n null != p)\n )\n for (; r < n; )\n (A = b[r++]),\n (p.X[((506832829 * A) & 4294967295) >>> p.Mb] = A);\n } else if (280 > A) {\n A = ib(A - 256, l);\n E = ua(w.G[4], w.H[4], l);\n Sa(l);\n E = ib(E, l);\n E = nc(d, E);\n if (l.h) break;\n if (n - c < E || e - n < A) break a;\n else for (B = 0; B < A; ++B) b[n + B] = b[n + B - E];\n n += A;\n for (k += A; k >= d; )\n (k -= d), ++h, null != g && h <= f && !(h % 16) && g(a, h);\n x(n <= e);\n k & u && (w = ha(m, k, h));\n if (null != p)\n for (; r < n; )\n (A = b[r++]),\n (p.X[((506832829 * A) & 4294967295) >>> p.Mb] = A);\n } else if (A < t) {\n y = A - 280;\n for (x(null != p); r < n; )\n (A = b[r++]), (p.X[((506832829 * A) & 4294967295) >>> p.Mb] = A);\n A = n;\n E = p;\n x(!(y >>> E.Xa));\n b[A] = E.X[y];\n y = !0;\n } else break a;\n y || x(l.h == db(l));\n }\n if (a.Pb && l.h && n < e)\n x(a.m.h),\n (a.a = 5),\n (a.m = a.wd),\n (a.$ = a.xd),\n 0 < a.s.ua && $b(a.s.vb, a.s.Wa);\n else if (l.h) break a;\n else null != g && g(a, h > f ? f : h), (a.a = 0), (a.$ = n - c);\n return 1;\n }\n a.a = 3;\n return 0;\n }\n function Ac(a) {\n x(null != a);\n a.vc = null;\n a.yc = null;\n a.Ya = null;\n var b = a.Wa;\n null != b && (b.X = null);\n a.vb = null;\n x(null != a);\n }\n function Bc() {\n var a = new je();\n if (null == a) return null;\n a.a = 0;\n a.xb = Cc;\n gb(\"Predictor\", \"VP8LPredictors\");\n gb(\"Predictor\", \"VP8LPredictors_C\");\n gb(\"PredictorAdd\", \"VP8LPredictorsAdd\");\n gb(\"PredictorAdd\", \"VP8LPredictorsAdd_C\");\n pc = Kd;\n Fb = Ld;\n sc = Md;\n Gb = Nd;\n Hb = Od;\n xc = Pd;\n uc = Qd;\n self.VP8LMapColor32b = ke;\n self.VP8LMapColor8b = le;\n return a;\n }\n function rb(a, b, c, d, e) {\n var f = 1,\n g = [a],\n h = [b],\n k = d.m,\n l = d.s,\n m = null,\n n = 0;\n a: for (;;) {\n if (c)\n for (; f && D(k, 1); ) {\n var r = g,\n q = h,\n t = d,\n v = 1,\n p = t.m,\n u = t.gc[t.ab],\n w = D(p, 2);\n if (t.Oc & (1 << w)) f = 0;\n else {\n t.Oc |= 1 << w;\n u.hc = w;\n u.Ea = r[0];\n u.nc = q[0];\n u.K = [null];\n ++t.ab;\n x(4 >= t.ab);\n switch (w) {\n case 0:\n case 1:\n u.b = D(p, 3) + 2;\n v = rb(xa(u.Ea, u.b), xa(u.nc, u.b), 0, t, u.K);\n u.K = u.K[0];\n break;\n case 3:\n var y = D(p, 8) + 1,\n A = 16 < y ? 0 : 4 < y ? 1 : 2 < y ? 2 : 3;\n r[0] = xa(u.Ea, A);\n u.b = A;\n var v = rb(y, 1, 0, t, u.K),\n E;\n if ((E = v)) {\n var B,\n C = y,\n N = u,\n z = 1 << (8 >> N.b),\n Q = V(z);\n if (null == Q) E = 0;\n else {\n var S = N.K[0],\n K = N.w;\n Q[0] = N.K[0][0];\n for (B = 1; B < 1 * C; ++B) Q[B] = yb(S[K + B], Q[B - 1]);\n for (; B < 4 * z; ++B) Q[B] = 0;\n N.K[0] = null;\n N.K[0] = Q;\n E = 1;\n }\n }\n v = E;\n break;\n case 2:\n break;\n default:\n x(0);\n }\n f = v;\n }\n }\n g = g[0];\n h = h[0];\n if (f && D(k, 1) && ((n = D(k, 4)), (f = 1 <= n && 11 >= n), !f)) {\n d.a = 3;\n break a;\n }\n var H;\n if ((H = f))\n b: {\n var F = d,\n G = g,\n L = h,\n J = n,\n T = c,\n Da,\n ba,\n X = F.m,\n R = F.s,\n P = [null],\n U,\n W = 1,\n aa = 0,\n na = me[J];\n c: for (;;) {\n if (T && D(X, 1)) {\n var ca = D(X, 3) + 2,\n ga = xa(G, ca),\n ka = xa(L, ca),\n qa = ga * ka;\n if (!rb(ga, ka, 0, F, P)) break c;\n P = P[0];\n R.xc = ca;\n for (Da = 0; Da < qa; ++Da) {\n var ia = (P[Da] >> 8) & 65535;\n P[Da] = ia;\n ia >= W && (W = ia + 1);\n }\n }\n if (X.h) break c;\n for (ba = 0; 5 > ba; ++ba) {\n var Y = Dc[ba];\n !ba && 0 < J && (Y += 1 << J);\n aa < Y && (aa = Y);\n }\n var ma = wa(W * na, O);\n var ua = W,\n va = wa(ua, Ub);\n if (null == va) var la = null;\n else x(65536 >= ua), (la = va);\n var ha = V(aa);\n if (null == la || null == ha || null == ma) {\n F.a = 1;\n break c;\n }\n var pa = ma;\n for (Da = U = 0; Da < W; ++Da) {\n var ja = la[Da],\n da = ja.G,\n ea = ja.H,\n Fa = 0,\n ra = 1,\n Ha = 0;\n for (ba = 0; 5 > ba; ++ba) {\n Y = Dc[ba];\n da[ba] = pa;\n ea[ba] = U;\n !ba && 0 < J && (Y += 1 << J);\n d: {\n var sa,\n za = Y,\n ta = F,\n oa = ha,\n db = pa,\n eb = U,\n Ia = 0,\n Ka = ta.m,\n fb = D(Ka, 1);\n M(oa, 0, 0, za);\n if (fb) {\n var gb = D(Ka, 1) + 1,\n hb = D(Ka, 1),\n Ja = D(Ka, 0 == hb ? 1 : 8);\n oa[Ja] = 1;\n 2 == gb && ((Ja = D(Ka, 8)), (oa[Ja] = 1));\n var ya = 1;\n } else {\n var Ua = V(19),\n Va = D(Ka, 4) + 4;\n if (19 < Va) {\n ta.a = 3;\n var Aa = 0;\n break d;\n }\n for (sa = 0; sa < Va; ++sa) Ua[ne[sa]] = D(Ka, 3);\n var Ba = void 0,\n sb = void 0,\n Wa = ta,\n ib = Ua,\n Ca = za,\n Xa = oa,\n Oa = 0,\n La = Wa.m,\n Ya = 8,\n Za = wa(128, O);\n e: for (;;) {\n if (!Z(Za, 0, 7, ib, 19)) break e;\n if (D(La, 1)) {\n var kb = 2 + 2 * D(La, 3),\n Ba = 2 + D(La, kb);\n if (Ba > Ca) break e;\n } else Ba = Ca;\n for (sb = 0; sb < Ca && Ba--; ) {\n Sa(La);\n var $a = Za[0 + (pb(La) & 127)];\n qb(La, La.u + $a.g);\n var jb = $a.value;\n if (16 > jb) (Xa[sb++] = jb), 0 != jb && (Ya = jb);\n else {\n var lb = 16 == jb,\n ab = jb - 16,\n mb = oe[ab],\n bb = D(La, pe[ab]) + mb;\n if (sb + bb > Ca) break e;\n else\n for (var nb = lb ? Ya : 0; 0 < bb--; )\n Xa[sb++] = nb;\n }\n }\n Oa = 1;\n break e;\n }\n Oa || (Wa.a = 3);\n ya = Oa;\n }\n (ya = ya && !Ka.h) && (Ia = Z(db, eb, 8, oa, za));\n ya && 0 != Ia ? (Aa = Ia) : ((ta.a = 3), (Aa = 0));\n }\n if (0 == Aa) break c;\n ra && 1 == qe[ba] && (ra = 0 == pa[U].g);\n Fa += pa[U].g;\n U += Aa;\n if (3 >= ba) {\n var Pa = ha[0],\n tb;\n for (tb = 1; tb < Y; ++tb) ha[tb] > Pa && (Pa = ha[tb]);\n Ha += Pa;\n }\n }\n ja.nd = ra;\n ja.Qb = 0;\n ra &&\n ((ja.qb =\n ((da[3][ea[3] + 0].value << 24) |\n (da[1][ea[1] + 0].value << 16) |\n da[2][ea[2] + 0].value) >>>\n 0),\n 0 == Fa &&\n 256 > da[0][ea[0] + 0].value &&\n ((ja.Qb = 1), (ja.qb += da[0][ea[0] + 0].value << 8)));\n ja.jc = !ja.Qb && 6 > Ha;\n if (ja.jc) {\n var Ga,\n Ea = ja;\n for (Ga = 0; Ga < xb; ++Ga) {\n var Ma = Ga,\n Na = Ea.pd[Ma],\n vb = Ea.G[0][Ea.H[0] + Ma];\n 256 <= vb.value\n ? ((Na.g = vb.g + 256), (Na.value = vb.value))\n : ((Na.g = 0),\n (Na.value = 0),\n (Ma >>= ub(vb, 8, Na)),\n (Ma >>= ub(Ea.G[1][Ea.H[1] + Ma], 16, Na)),\n (Ma >>= ub(Ea.G[2][Ea.H[2] + Ma], 0, Na)),\n ub(Ea.G[3][Ea.H[3] + Ma], 24, Na));\n }\n }\n }\n R.vc = P;\n R.Wb = W;\n R.Ya = la;\n R.yc = ma;\n H = 1;\n break b;\n }\n H = 0;\n }\n f = H;\n if (!f) {\n d.a = 3;\n break a;\n }\n if (0 < n) {\n if (((l.ua = 1 << n), !Zb(l.Wa, n))) {\n d.a = 1;\n f = 0;\n break a;\n }\n } else l.ua = 0;\n var Qa = d,\n cb = g,\n ob = h,\n Ra = Qa.s,\n Ta = Ra.xc;\n Qa.c = cb;\n Qa.i = ob;\n Ra.md = xa(cb, Ta);\n Ra.wc = 0 == Ta ? -1 : (1 << Ta) - 1;\n if (c) {\n d.xb = re;\n break a;\n }\n m = V(g * h);\n if (null == m) {\n d.a = 1;\n f = 0;\n break a;\n }\n f = (f = Jb(d, m, 0, g, h, h, null)) && !k.h;\n break a;\n }\n f\n ? (null != e ? (e[0] = m) : (x(null == m), x(c)), (d.$ = 0), c || Ac(l))\n : Ac(l);\n return f;\n }\n function Ec(a, b) {\n var c = a.c * a.i,\n d = c + b + 16 * b;\n x(a.c <= b);\n a.V = V(d);\n if (null == a.V) return (a.Ta = null), (a.Ua = 0), (a.a = 1), 0;\n a.Ta = a.V;\n a.Ua = a.Ba + c + b;\n return 1;\n }\n function se(a, b) {\n var c = a.C,\n d = b - c,\n e = a.V,\n f = a.Ba + a.c * c;\n for (x(b <= a.l.o); 0 < d; ) {\n var g = 16 < d ? 16 : d,\n h = a.l.ma,\n k = a.l.width,\n l = k * g,\n m = h.ca,\n n = h.tb + k * c,\n r = a.Ta,\n q = a.Ua;\n oc(a, g, e, f);\n Fc(r, q, m, n, l);\n zc(h, c, c + g, m, n, k);\n d -= g;\n e += g * a.c;\n c += g;\n }\n x(c == b);\n a.C = a.Ma = b;\n }\n function te(a, b) {\n var c = [0],\n d = [0],\n e = [0];\n a: for (;;) {\n if (null == a) return 0;\n if (null == b) return (a.a = 2), 0;\n a.l = b;\n a.a = 0;\n cb(a.m, b.data, b.w, b.ha);\n if (!mc(a.m, c, d, e)) {\n a.a = 3;\n break a;\n }\n a.xb = Cc;\n b.width = c[0];\n b.height = d[0];\n if (!rb(c[0], d[0], 1, a, null)) break a;\n return 1;\n }\n x(0 != a.a);\n return 0;\n }\n function ue() {\n this.ub = this.yd = this.td = this.Rb = 0;\n }\n function ve() {\n this.Kd = this.Ld = this.Ud = this.Td = this.i = this.c = 0;\n }\n function we() {\n this.Fb = this.Bb = this.Cb = 0;\n this.Zb = V(4);\n this.Lb = V(4);\n }\n function Gc() {\n this.Yb = wb();\n }\n function xe() {\n this.jb = V(3);\n this.Wc = Ed([4, 8], Gc);\n this.Xc = Ed([4, 17], Gc);\n }\n function ye() {\n this.Pc = this.wb = this.Tb = this.zd = 0;\n this.vd = new V(4);\n this.od = new V(4);\n }\n function Xa() {\n this.ld = this.La = this.dd = this.tc = 0;\n }\n function Hc() {\n this.Na = this.la = 0;\n }\n function ze() {\n this.Sc = [0, 0];\n this.Eb = [0, 0];\n this.Qc = [0, 0];\n this.ia = this.lc = 0;\n }\n function Kb() {\n this.ad = V(384);\n this.Za = 0;\n this.Ob = V(16);\n this.$b = this.Ad = this.ia = this.Gc = this.Hc = this.Dd = 0;\n }\n function Ae() {\n this.uc = this.M = this.Nb = 0;\n this.wa = Array(new Xa());\n this.Y = 0;\n this.ya = Array(new Kb());\n this.aa = 0;\n this.l = new Oa();\n }\n function Ic() {\n this.y = V(16);\n this.f = V(8);\n this.ea = V(8);\n }\n function Be() {\n this.cb = this.a = 0;\n this.sc = \"\";\n this.m = new Wb();\n this.Od = new ue();\n this.Kc = new ve();\n this.ed = new ye();\n this.Qa = new we();\n this.Ic = this.$c = this.Aa = 0;\n this.D = new Ae();\n this.Xb = this.Va = this.Hb = this.zb = this.yb = this.Ub = this.za = 0;\n this.Jc = wa(8, Wb);\n this.ia = 0;\n new F();\n this.pb = wa(4, ze);\n this.Pa = new xe();\n this.Bd = this.kc = 0;\n this.Ac = [];\n this.Bc = 0;\n this.zc = [0, 0, 0, 0];\n this.Gd = Array(new Ic());\n this.Hd = 0;\n this.rb = Array(new Hc());\n this.sb = 0;\n this.wa = Array(new Xa());\n this.Y = 0;\n this.oc = [];\n this.pc = 0;\n this.sa = [];\n this.ta = 0;\n this.qa = [];\n this.ra = 0;\n this.Ha = [];\n this.B = this.R = this.Ia = 0;\n this.Ec = [];\n this.M = this.ja = this.Vb = this.Fc = 0;\n this.ya = Array(new Kb());\n this.L = this.aa = 0;\n this.gd = Ed([4, 2], Xa);\n this.ga = null;\n this.Fa = [];\n this.Cc = this.qc = this.P = 0;\n this.Gb = [];\n this.Uc = 0;\n this.mb = [];\n this.nb = 0;\n this.rc = [];\n this.Ga = this.Vc = 0;\n }\n function ga(a, b) {\n return 0 > a ? 0 : a > b ? b : a;\n }\n function Oa() {\n this.T = this.U = this.ka = this.height = this.width = 0;\n this.y = [];\n this.f = [];\n this.ea = [];\n this.Rc = this.fa = this.W = this.N = this.O = 0;\n this.ma = \"void\";\n this.put = \"VP8IoPutHook\";\n this.ac = \"VP8IoSetupHook\";\n this.bc = \"VP8IoTeardownHook\";\n this.ha = this.Kb = 0;\n this.data = [];\n this.hb = this.ib = this.da = this.o = this.j = this.va = this.v = this.Da = this.ob = this.w = 0;\n this.F = [];\n this.J = 0;\n }\n function Ce() {\n var a = new Be();\n null != a &&\n ((a.a = 0), (a.sc = \"OK\"), (a.cb = 0), (a.Xb = 0), oa || (oa = De));\n return a;\n }\n function T(a, b, c) {\n 0 == a.a && ((a.a = b), (a.sc = c), (a.cb = 0));\n return 0;\n }\n function Jc(a, b, c) {\n return 3 <= c && 157 == a[b + 0] && 1 == a[b + 1] && 42 == a[b + 2];\n }\n function Kc(a, b) {\n if (null == a) return 0;\n a.a = 0;\n a.sc = \"OK\";\n if (null == b) return T(a, 2, \"null VP8Io passed to VP8GetHeaders()\");\n var c = b.data;\n var d = b.w;\n var e = b.ha;\n if (4 > e) return T(a, 7, \"Truncated header.\");\n var f = c[d + 0] | (c[d + 1] << 8) | (c[d + 2] << 16);\n var g = a.Od;\n g.Rb = !(f & 1);\n g.td = (f >> 1) & 7;\n g.yd = (f >> 4) & 1;\n g.ub = f >> 5;\n if (3 < g.td) return T(a, 3, \"Incorrect keyframe parameters.\");\n if (!g.yd) return T(a, 4, \"Frame not displayable.\");\n d += 3;\n e -= 3;\n var h = a.Kc;\n if (g.Rb) {\n if (7 > e) return T(a, 7, \"cannot parse picture header\");\n if (!Jc(c, d, e)) return T(a, 3, \"Bad code word\");\n h.c = ((c[d + 4] << 8) | c[d + 3]) & 16383;\n h.Td = c[d + 4] >> 6;\n h.i = ((c[d + 6] << 8) | c[d + 5]) & 16383;\n h.Ud = c[d + 6] >> 6;\n d += 7;\n e -= 7;\n a.za = (h.c + 15) >> 4;\n a.Ub = (h.i + 15) >> 4;\n b.width = h.c;\n b.height = h.i;\n b.Da = 0;\n b.j = 0;\n b.v = 0;\n b.va = b.width;\n b.o = b.height;\n b.da = 0;\n b.ib = b.width;\n b.hb = b.height;\n b.U = b.width;\n b.T = b.height;\n f = a.Pa;\n M(f.jb, 0, 255, f.jb.length);\n f = a.Qa;\n x(null != f);\n f.Cb = 0;\n f.Bb = 0;\n f.Fb = 1;\n M(f.Zb, 0, 0, f.Zb.length);\n M(f.Lb, 0, 0, f.Lb);\n }\n if (g.ub > e) return T(a, 7, \"bad partition length\");\n f = a.m;\n ma(f, c, d, g.ub);\n d += g.ub;\n e -= g.ub;\n g.Rb && ((h.Ld = G(f)), (h.Kd = G(f)));\n h = a.Qa;\n var k = a.Pa,\n l;\n x(null != f);\n x(null != h);\n h.Cb = G(f);\n if (h.Cb) {\n h.Bb = G(f);\n if (G(f)) {\n h.Fb = G(f);\n for (l = 0; 4 > l; ++l) h.Zb[l] = G(f) ? ca(f, 7) : 0;\n for (l = 0; 4 > l; ++l) h.Lb[l] = G(f) ? ca(f, 6) : 0;\n }\n if (h.Bb) for (l = 0; 3 > l; ++l) k.jb[l] = G(f) ? na(f, 8) : 255;\n } else h.Bb = 0;\n if (f.Ka) return T(a, 3, \"cannot parse segment header\");\n h = a.ed;\n h.zd = G(f);\n h.Tb = na(f, 6);\n h.wb = na(f, 3);\n h.Pc = G(f);\n if (h.Pc && G(f)) {\n for (k = 0; 4 > k; ++k) G(f) && (h.vd[k] = ca(f, 6));\n for (k = 0; 4 > k; ++k) G(f) && (h.od[k] = ca(f, 6));\n }\n a.L = 0 == h.Tb ? 0 : h.zd ? 1 : 2;\n if (f.Ka) return T(a, 3, \"cannot parse filter header\");\n l = d;\n var m = e;\n e = l;\n d = l + m;\n h = m;\n a.Xb = (1 << na(a.m, 2)) - 1;\n k = a.Xb;\n if (m < 3 * k) c = 7;\n else {\n l += 3 * k;\n h -= 3 * k;\n for (m = 0; m < k; ++m) {\n var n = c[e + 0] | (c[e + 1] << 8) | (c[e + 2] << 16);\n n > h && (n = h);\n ma(a.Jc[+m], c, l, n);\n l += n;\n h -= n;\n e += 3;\n }\n ma(a.Jc[+k], c, l, h);\n c = l < d ? 0 : 5;\n }\n if (0 != c) return T(a, c, \"cannot parse partitions\");\n l = a.m;\n c = na(l, 7);\n e = G(l) ? ca(l, 4) : 0;\n d = G(l) ? ca(l, 4) : 0;\n h = G(l) ? ca(l, 4) : 0;\n k = G(l) ? ca(l, 4) : 0;\n l = G(l) ? ca(l, 4) : 0;\n m = a.Qa;\n for (n = 0; 4 > n; ++n) {\n if (m.Cb) {\n var r = m.Zb[n];\n m.Fb || (r += c);\n } else if (0 < n) {\n a.pb[n] = a.pb[0];\n continue;\n } else r = c;\n var q = a.pb[n];\n q.Sc[0] = Lb[ga(r + e, 127)];\n q.Sc[1] = Mb[ga(r + 0, 127)];\n q.Eb[0] = 2 * Lb[ga(r + d, 127)];\n q.Eb[1] = (101581 * Mb[ga(r + h, 127)]) >> 16;\n 8 > q.Eb[1] && (q.Eb[1] = 8);\n q.Qc[0] = Lb[ga(r + k, 117)];\n q.Qc[1] = Mb[ga(r + l, 127)];\n q.lc = r + l;\n }\n if (!g.Rb) return T(a, 4, \"Not a key frame.\");\n G(f);\n g = a.Pa;\n for (c = 0; 4 > c; ++c) {\n for (e = 0; 8 > e; ++e)\n for (d = 0; 3 > d; ++d)\n for (h = 0; 11 > h; ++h)\n (k = K(f, Ee[c][e][d][h]) ? na(f, 8) : Fe[c][e][d][h]),\n (g.Wc[c][e].Yb[d][h] = k);\n for (e = 0; 17 > e; ++e) g.Xc[c][e] = g.Wc[c][Ge[e]];\n }\n a.kc = G(f);\n a.kc && (a.Bd = na(f, 8));\n return (a.cb = 1);\n }\n function De(a, b, c, d, e, f, g) {\n var h = b[e].Yb[c];\n for (c = 0; 16 > e; ++e) {\n if (!K(a, h[c + 0])) return e;\n for (; !K(a, h[c + 1]); )\n if (((h = b[++e].Yb[0]), (c = 0), 16 == e)) return 16;\n var k = b[e + 1].Yb;\n if (K(a, h[c + 2])) {\n var l = a,\n m = h,\n n = c;\n var r = 0;\n if (K(l, m[n + 3]))\n if (K(l, m[n + 6])) {\n h = 0;\n r = K(l, m[n + 8]);\n m = K(l, m[n + 9 + r]);\n n = 2 * r + m;\n r = 0;\n for (m = He[n]; m[h]; ++h) r += r + K(l, m[h]);\n r += 3 + (8 << n);\n } else\n K(l, m[n + 7])\n ? ((r = 7 + 2 * K(l, 165)), (r += K(l, 145)))\n : (r = 5 + K(l, 159));\n else K(l, m[n + 4]) ? (r = 3 + K(l, m[n + 5])) : (r = 2);\n h = k[2];\n } else (r = 1), (h = k[1]);\n k = g + Ie[e];\n l = a;\n 0 > l.b && Qa(l);\n var m = l.b,\n n = l.Ca >> 1,\n q = (n - (l.I >> m)) >> 31;\n --l.b;\n l.Ca += q;\n l.Ca |= 1;\n l.I -= ((n + 1) & q) << m;\n f[k] = ((r ^ q) - q) * d[(0 < e) + 0];\n }\n return 16;\n }\n function Lc(a) {\n var b = a.rb[a.sb - 1];\n b.la = 0;\n b.Na = 0;\n M(a.zc, 0, 0, a.zc.length);\n a.ja = 0;\n }\n function Je(a, b) {\n for (a.M = 0; a.M < a.Va; ++a.M) {\n var c = a.Jc[a.M & a.Xb],\n d = a.m,\n e = a,\n f;\n for (f = 0; f < e.za; ++f) {\n var g = d;\n var h = e;\n var k = h.Ac,\n l = h.Bc + 4 * f,\n m = h.zc,\n n = h.ya[h.aa + f];\n h.Qa.Bb\n ? (n.$b = K(g, h.Pa.jb[0])\n ? 2 + K(g, h.Pa.jb[2])\n : K(g, h.Pa.jb[1]))\n : (n.$b = 0);\n h.kc && (n.Ad = K(g, h.Bd));\n n.Za = !K(g, 145) + 0;\n if (n.Za) {\n var r = n.Ob,\n q = 0;\n for (h = 0; 4 > h; ++h) {\n var t = m[0 + h];\n var v;\n for (v = 0; 4 > v; ++v) {\n t = Ke[k[l + v]][t];\n for (var p = Mc[K(g, t[0])]; 0 < p; )\n p = Mc[2 * p + K(g, t[p])];\n t = -p;\n k[l + v] = t;\n }\n I(r, q, k, l, 4);\n q += 4;\n m[0 + h] = t;\n }\n } else\n (t = K(g, 156) ? (K(g, 128) ? 1 : 3) : K(g, 163) ? 2 : 0),\n (n.Ob[0] = t),\n M(k, l, t, 4),\n M(m, 0, t, 4);\n n.Dd = K(g, 142) ? (K(g, 114) ? (K(g, 183) ? 1 : 3) : 2) : 0;\n }\n if (e.m.Ka) return T(a, 7, \"Premature end-of-partition0 encountered.\");\n for (; a.ja < a.za; ++a.ja) {\n d = a;\n e = c;\n g = d.rb[d.sb - 1];\n k = d.rb[d.sb + d.ja];\n f = d.ya[d.aa + d.ja];\n if ((l = d.kc ? f.Ad : 0))\n (g.la = k.la = 0),\n f.Za || (g.Na = k.Na = 0),\n (f.Hc = 0),\n (f.Gc = 0),\n (f.ia = 0);\n else {\n var u,\n w,\n g = k,\n k = e,\n l = d.Pa.Xc,\n m = d.ya[d.aa + d.ja],\n n = d.pb[m.$b];\n h = m.ad;\n r = 0;\n q = d.rb[d.sb - 1];\n t = v = 0;\n M(h, r, 0, 384);\n if (m.Za) {\n var y = 0;\n var A = l[3];\n } else {\n p = V(16);\n var E = g.Na + q.Na;\n E = oa(k, l[1], E, n.Eb, 0, p, 0);\n g.Na = q.Na = (0 < E) + 0;\n if (1 < E) Nc(p, 0, h, r);\n else {\n var B = (p[0] + 3) >> 3;\n for (p = 0; 256 > p; p += 16) h[r + p] = B;\n }\n y = 1;\n A = l[0];\n }\n var C = g.la & 15;\n var N = q.la & 15;\n for (p = 0; 4 > p; ++p) {\n var z = N & 1;\n for (B = w = 0; 4 > B; ++B)\n (E = z + (C & 1)),\n (E = oa(k, A, E, n.Sc, y, h, r)),\n (z = E > y),\n (C = (C >> 1) | (z << 7)),\n (w = (w << 2) | (3 < E ? 3 : 1 < E ? 2 : 0 != h[r + 0])),\n (r += 16);\n C >>= 4;\n N = (N >> 1) | (z << 7);\n v = ((v << 8) | w) >>> 0;\n }\n A = C;\n y = N >> 4;\n for (u = 0; 4 > u; u += 2) {\n w = 0;\n C = g.la >> (4 + u);\n N = q.la >> (4 + u);\n for (p = 0; 2 > p; ++p) {\n z = N & 1;\n for (B = 0; 2 > B; ++B)\n (E = z + (C & 1)),\n (E = oa(k, l[2], E, n.Qc, 0, h, r)),\n (z = 0 < E),\n (C = (C >> 1) | (z << 3)),\n (w = (w << 2) | (3 < E ? 3 : 1 < E ? 2 : 0 != h[r + 0])),\n (r += 16);\n C >>= 2;\n N = (N >> 1) | (z << 5);\n }\n t |= w << (4 * u);\n A |= (C << 4) << u;\n y |= (N & 240) << u;\n }\n g.la = A;\n q.la = y;\n m.Hc = v;\n m.Gc = t;\n m.ia = t & 43690 ? 0 : n.ia;\n l = !(v | t);\n }\n 0 < d.L &&\n ((d.wa[d.Y + d.ja] = d.gd[f.$b][f.Za]),\n (d.wa[d.Y + d.ja].La |= !l));\n if (e.Ka) return T(a, 7, \"Premature end-of-file encountered.\");\n }\n Lc(a);\n c = a;\n d = b;\n e = 1;\n f = c.D;\n g = 0 < c.L && c.M >= c.zb && c.M <= c.Va;\n if (0 == c.Aa)\n a: {\n (f.M = c.M), (f.uc = g), Oc(c, f), (e = 1);\n w = c.D;\n f = w.Nb;\n t = Ya[c.L];\n g = t * c.R;\n k = (t / 2) * c.B;\n p = 16 * f * c.R;\n B = 8 * f * c.B;\n l = c.sa;\n m = c.ta - g + p;\n n = c.qa;\n h = c.ra - k + B;\n r = c.Ha;\n q = c.Ia - k + B;\n C = w.M;\n N = 0 == C;\n v = C >= c.Va - 1;\n 2 == c.Aa && Oc(c, w);\n if (w.uc)\n for (E = c, z = E.D.M, x(E.D.uc), w = E.yb; w < E.Hb; ++w) {\n var Q = E;\n y = w;\n A = z;\n var S = Q.D,\n D = S.Nb;\n u = Q.R;\n var S = S.wa[S.Y + y],\n F = Q.sa,\n H = Q.ta + 16 * D * u + 16 * y,\n J = S.dd,\n G = S.tc;\n if (0 != G)\n if ((x(3 <= G), 1 == Q.L))\n 0 < y && Pc(F, H, u, G + 4),\n S.La && Qc(F, H, u, G),\n 0 < A && Rc(F, H, u, G + 4),\n S.La && Sc(F, H, u, G);\n else {\n var L = Q.B,\n O = Q.qa,\n P = Q.ra + 8 * D * L + 8 * y,\n R = Q.Ha,\n Q = Q.Ia + 8 * D * L + 8 * y,\n D = S.ld;\n 0 < y &&\n (Tc(F, H, u, G + 4, J, D),\n Uc(O, P, R, Q, L, G + 4, J, D));\n S.La && (Vc(F, H, u, G, J, D), Wc(O, P, R, Q, L, G, J, D));\n 0 < A &&\n (Xc(F, H, u, G + 4, J, D),\n Yc(O, P, R, Q, L, G + 4, J, D));\n S.La && (Zc(F, H, u, G, J, D), $c(O, P, R, Q, L, G, J, D));\n }\n }\n c.ia && alert(\"todo:DitherRow\");\n if (null != d.put) {\n w = 16 * C;\n C = 16 * (C + 1);\n N\n ? ((d.y = c.sa),\n (d.O = c.ta + p),\n (d.f = c.qa),\n (d.N = c.ra + B),\n (d.ea = c.Ha),\n (d.W = c.Ia + B))\n : ((w -= t),\n (d.y = l),\n (d.O = m),\n (d.f = n),\n (d.N = h),\n (d.ea = r),\n (d.W = q));\n v || (C -= t);\n C > d.o && (C = d.o);\n d.F = null;\n d.J = null;\n if (\n null != c.Fa &&\n 0 < c.Fa.length &&\n w < C &&\n ((d.J = Le(c, d, w, C - w)),\n (d.F = c.mb),\n null == d.F && 0 == d.F.length)\n ) {\n e = T(c, 3, \"Could not decode alpha data.\");\n break a;\n }\n w < d.j &&\n ((t = d.j - w),\n (w = d.j),\n x(!(t & 1)),\n (d.O += c.R * t),\n (d.N += c.B * (t >> 1)),\n (d.W += c.B * (t >> 1)),\n null != d.F && (d.J += d.width * t));\n w < C &&\n ((d.O += d.v),\n (d.N += d.v >> 1),\n (d.W += d.v >> 1),\n null != d.F && (d.J += d.v),\n (d.ka = w - d.j),\n (d.U = d.va - d.v),\n (d.T = C - w),\n (e = d.put(d)));\n }\n f + 1 != c.Ic ||\n v ||\n (I(c.sa, c.ta - g, l, m + 16 * c.R, g),\n I(c.qa, c.ra - k, n, h + 8 * c.B, k),\n I(c.Ha, c.Ia - k, r, q + 8 * c.B, k));\n }\n if (!e) return T(a, 6, \"Output aborted.\");\n }\n return 1;\n }\n function Me(a, b) {\n if (null == a) return 0;\n if (null == b) return T(a, 2, \"NULL VP8Io parameter in VP8Decode().\");\n if (!a.cb && !Kc(a, b)) return 0;\n x(a.cb);\n if (null == b.ac || b.ac(b)) {\n b.ob && (a.L = 0);\n var c = Ya[a.L];\n 2 == a.L\n ? ((a.yb = 0), (a.zb = 0))\n : ((a.yb = (b.v - c) >> 4),\n (a.zb = (b.j - c) >> 4),\n 0 > a.yb && (a.yb = 0),\n 0 > a.zb && (a.zb = 0));\n a.Va = (b.o + 15 + c) >> 4;\n a.Hb = (b.va + 15 + c) >> 4;\n a.Hb > a.za && (a.Hb = a.za);\n a.Va > a.Ub && (a.Va = a.Ub);\n if (0 < a.L) {\n var d = a.ed;\n for (c = 0; 4 > c; ++c) {\n var e;\n if (a.Qa.Cb) {\n var f = a.Qa.Lb[c];\n a.Qa.Fb || (f += d.Tb);\n } else f = d.Tb;\n for (e = 0; 1 >= e; ++e) {\n var g = a.gd[c][e],\n h = f;\n d.Pc && ((h += d.vd[0]), e && (h += d.od[0]));\n h = 0 > h ? 0 : 63 < h ? 63 : h;\n if (0 < h) {\n var k = h;\n 0 < d.wb &&\n ((k = 4 < d.wb ? k >> 2 : k >> 1),\n k > 9 - d.wb && (k = 9 - d.wb));\n 1 > k && (k = 1);\n g.dd = k;\n g.tc = 2 * h + k;\n g.ld = 40 <= h ? 2 : 15 <= h ? 1 : 0;\n } else g.tc = 0;\n g.La = e;\n }\n }\n }\n c = 0;\n } else T(a, 6, \"Frame setup failed\"), (c = a.a);\n if ((c = 0 == c)) {\n if (c) {\n a.$c = 0;\n 0 < a.Aa || (a.Ic = Ne);\n b: {\n c = a.Ic;\n var k = a.za,\n d = 4 * k,\n l = 32 * k,\n m = k + 1,\n n = 0 < a.L ? k * (0 < a.Aa ? 2 : 1) : 0,\n r = (2 == a.Aa ? 2 : 1) * k;\n e = ((3 * (16 * c + Ya[a.L])) / 2) * l;\n f = null != a.Fa && 0 < a.Fa.length ? a.Kc.c * a.Kc.i : 0;\n g = d + 832 + e + f;\n if (g != g) c = 0;\n else {\n if (g > a.Vb) {\n a.Vb = 0;\n a.Ec = V(g);\n a.Fc = 0;\n if (null == a.Ec) {\n c = T(a, 1, \"no memory during frame initialization.\");\n break b;\n }\n a.Vb = g;\n }\n g = a.Ec;\n h = a.Fc;\n a.Ac = g;\n a.Bc = h;\n h += d;\n a.Gd = wa(l, Ic);\n a.Hd = 0;\n a.rb = wa(m + 1, Hc);\n a.sb = 1;\n a.wa = n ? wa(n, Xa) : null;\n a.Y = 0;\n a.D.Nb = 0;\n a.D.wa = a.wa;\n a.D.Y = a.Y;\n 0 < a.Aa && (a.D.Y += k);\n x(!0);\n a.oc = g;\n a.pc = h;\n h += 832;\n a.ya = wa(r, Kb);\n a.aa = 0;\n a.D.ya = a.ya;\n a.D.aa = a.aa;\n 2 == a.Aa && (a.D.aa += k);\n a.R = 16 * k;\n a.B = 8 * k;\n l = Ya[a.L];\n k = l * a.R;\n l = (l / 2) * a.B;\n a.sa = g;\n a.ta = h + k;\n a.qa = a.sa;\n a.ra = a.ta + 16 * c * a.R + l;\n a.Ha = a.qa;\n a.Ia = a.ra + 8 * c * a.B + l;\n a.$c = 0;\n h += e;\n a.mb = f ? g : null;\n a.nb = f ? h : null;\n x(h + f <= a.Fc + a.Vb);\n Lc(a);\n M(a.Ac, a.Bc, 0, d);\n c = 1;\n }\n }\n if (c) {\n b.ka = 0;\n b.y = a.sa;\n b.O = a.ta;\n b.f = a.qa;\n b.N = a.ra;\n b.ea = a.Ha;\n b.Vd = a.Ia;\n b.fa = a.R;\n b.Rc = a.B;\n b.F = null;\n b.J = 0;\n if (!ad) {\n for (c = -255; 255 >= c; ++c) bd[255 + c] = 0 > c ? -c : c;\n for (c = -1020; 1020 >= c; ++c)\n cd[1020 + c] = -128 > c ? -128 : 127 < c ? 127 : c;\n for (c = -112; 112 >= c; ++c)\n dd[112 + c] = -16 > c ? -16 : 15 < c ? 15 : c;\n for (c = -255; 510 >= c; ++c)\n ed[255 + c] = 0 > c ? 0 : 255 < c ? 255 : c;\n ad = 1;\n }\n Nc = Oe;\n Za = Pe;\n Nb = Qe;\n pa = Re;\n Ob = Se;\n fd = Te;\n Xc = Ue;\n Tc = Ve;\n Yc = We;\n Uc = Xe;\n Zc = Ye;\n Vc = Ze;\n $c = $e;\n Wc = af;\n Rc = gd;\n Pc = hd;\n Sc = bf;\n Qc = cf;\n W[0] = df;\n W[1] = ef;\n W[2] = ff;\n W[3] = gf;\n W[4] = hf;\n W[5] = jf;\n W[6] = kf;\n W[7] = lf;\n W[8] = mf;\n W[9] = nf;\n Y[0] = of;\n Y[1] = pf;\n Y[2] = qf;\n Y[3] = rf;\n Y[4] = sf;\n Y[5] = tf;\n Y[6] = uf;\n ka[0] = vf;\n ka[1] = wf;\n ka[2] = xf;\n ka[3] = yf;\n ka[4] = zf;\n ka[5] = Af;\n ka[6] = Bf;\n c = 1;\n } else c = 0;\n }\n c && (c = Je(a, b));\n null != b.bc && b.bc(b);\n c &= 1;\n }\n if (!c) return 0;\n a.cb = 0;\n return c;\n }\n function qa(a, b, c, d, e) {\n e = a[b + c + 32 * d] + (e >> 3);\n a[b + c + 32 * d] = e & -256 ? (0 > e ? 0 : 255) : e;\n }\n function kb(a, b, c, d, e, f) {\n qa(a, b, 0, c, d + e);\n qa(a, b, 1, c, d + f);\n qa(a, b, 2, c, d - f);\n qa(a, b, 3, c, d - e);\n }\n function da(a) {\n return ((20091 * a) >> 16) + a;\n }\n function id(a, b, c, d) {\n var e = 0,\n f;\n var g = V(16);\n for (f = 0; 4 > f; ++f) {\n var h = a[b + 0] + a[b + 8];\n var k = a[b + 0] - a[b + 8];\n var l = ((35468 * a[b + 4]) >> 16) - da(a[b + 12]);\n var m = da(a[b + 4]) + ((35468 * a[b + 12]) >> 16);\n g[e + 0] = h + m;\n g[e + 1] = k + l;\n g[e + 2] = k - l;\n g[e + 3] = h - m;\n e += 4;\n b++;\n }\n for (f = e = 0; 4 > f; ++f)\n (a = g[e + 0] + 4),\n (h = a + g[e + 8]),\n (k = a - g[e + 8]),\n (l = ((35468 * g[e + 4]) >> 16) - da(g[e + 12])),\n (m = da(g[e + 4]) + ((35468 * g[e + 12]) >> 16)),\n qa(c, d, 0, 0, h + m),\n qa(c, d, 1, 0, k + l),\n qa(c, d, 2, 0, k - l),\n qa(c, d, 3, 0, h - m),\n e++,\n (d += 32);\n }\n function Te(a, b, c, d) {\n var e = a[b + 0] + 4,\n f = (35468 * a[b + 4]) >> 16,\n g = da(a[b + 4]),\n h = (35468 * a[b + 1]) >> 16;\n a = da(a[b + 1]);\n kb(c, d, 0, e + g, a, h);\n kb(c, d, 1, e + f, a, h);\n kb(c, d, 2, e - f, a, h);\n kb(c, d, 3, e - g, a, h);\n }\n function Pe(a, b, c, d, e) {\n id(a, b, c, d);\n e && id(a, b + 16, c, d + 4);\n }\n function Qe(a, b, c, d) {\n Za(a, b + 0, c, d, 1);\n Za(a, b + 32, c, d + 128, 1);\n }\n function Re(a, b, c, d) {\n a = a[b + 0] + 4;\n var e;\n for (e = 0; 4 > e; ++e) for (b = 0; 4 > b; ++b) qa(c, d, b, e, a);\n }\n function Se(a, b, c, d) {\n a[b + 0] && pa(a, b + 0, c, d);\n a[b + 16] && pa(a, b + 16, c, d + 4);\n a[b + 32] && pa(a, b + 32, c, d + 128);\n a[b + 48] && pa(a, b + 48, c, d + 128 + 4);\n }\n function Oe(a, b, c, d) {\n var e = V(16),\n f;\n for (f = 0; 4 > f; ++f) {\n var g = a[b + 0 + f] + a[b + 12 + f];\n var h = a[b + 4 + f] + a[b + 8 + f];\n var k = a[b + 4 + f] - a[b + 8 + f];\n var l = a[b + 0 + f] - a[b + 12 + f];\n e[0 + f] = g + h;\n e[8 + f] = g - h;\n e[4 + f] = l + k;\n e[12 + f] = l - k;\n }\n for (f = 0; 4 > f; ++f)\n (a = e[0 + 4 * f] + 3),\n (g = a + e[3 + 4 * f]),\n (h = e[1 + 4 * f] + e[2 + 4 * f]),\n (k = e[1 + 4 * f] - e[2 + 4 * f]),\n (l = a - e[3 + 4 * f]),\n (c[d + 0] = (g + h) >> 3),\n (c[d + 16] = (l + k) >> 3),\n (c[d + 32] = (g - h) >> 3),\n (c[d + 48] = (l - k) >> 3),\n (d += 64);\n }\n function Pb(a, b, c) {\n var d = b - 32,\n e = R,\n f = 255 - a[d - 1],\n g;\n for (g = 0; g < c; ++g) {\n var h = e,\n k = f + a[b - 1],\n l;\n for (l = 0; l < c; ++l) a[b + l] = h[k + a[d + l]];\n b += 32;\n }\n }\n function ef(a, b) {\n Pb(a, b, 4);\n }\n function wf(a, b) {\n Pb(a, b, 8);\n }\n function pf(a, b) {\n Pb(a, b, 16);\n }\n function qf(a, b) {\n var c;\n for (c = 0; 16 > c; ++c) I(a, b + 32 * c, a, b - 32, 16);\n }\n function rf(a, b) {\n var c;\n for (c = 16; 0 < c; --c) M(a, b, a[b - 1], 16), (b += 32);\n }\n function $a(a, b, c) {\n var d;\n for (d = 0; 16 > d; ++d) M(b, c + 32 * d, a, 16);\n }\n function of(a, b) {\n var c = 16,\n d;\n for (d = 0; 16 > d; ++d) c += a[b - 1 + 32 * d] + a[b + d - 32];\n $a(c >> 5, a, b);\n }\n function sf(a, b) {\n var c = 8,\n d;\n for (d = 0; 16 > d; ++d) c += a[b - 1 + 32 * d];\n $a(c >> 4, a, b);\n }\n function tf(a, b) {\n var c = 8,\n d;\n for (d = 0; 16 > d; ++d) c += a[b + d - 32];\n $a(c >> 4, a, b);\n }\n function uf(a, b) {\n $a(128, a, b);\n }\n function z(a, b, c) {\n return (a + 2 * b + c + 2) >> 2;\n }\n function ff(a, b) {\n var c = b - 32,\n c = new Uint8Array([\n z(a[c - 1], a[c + 0], a[c + 1]),\n z(a[c + 0], a[c + 1], a[c + 2]),\n z(a[c + 1], a[c + 2], a[c + 3]),\n z(a[c + 2], a[c + 3], a[c + 4])\n ]),\n d;\n for (d = 0; 4 > d; ++d) I(a, b + 32 * d, c, 0, c.length);\n }\n function gf(a, b) {\n var c = a[b - 1],\n d = a[b - 1 + 32],\n e = a[b - 1 + 64],\n f = a[b - 1 + 96];\n ra(a, b + 0, 16843009 * z(a[b - 1 - 32], c, d));\n ra(a, b + 32, 16843009 * z(c, d, e));\n ra(a, b + 64, 16843009 * z(d, e, f));\n ra(a, b + 96, 16843009 * z(e, f, f));\n }\n function df(a, b) {\n var c = 4,\n d;\n for (d = 0; 4 > d; ++d) c += a[b + d - 32] + a[b - 1 + 32 * d];\n c >>= 3;\n for (d = 0; 4 > d; ++d) M(a, b + 32 * d, c, 4);\n }\n function hf(a, b) {\n var c = a[b - 1 + 0],\n d = a[b - 1 + 32],\n e = a[b - 1 + 64],\n f = a[b - 1 - 32],\n g = a[b + 0 - 32],\n h = a[b + 1 - 32],\n k = a[b + 2 - 32],\n l = a[b + 3 - 32];\n a[b + 0 + 96] = z(d, e, a[b - 1 + 96]);\n a[b + 1 + 96] = a[b + 0 + 64] = z(c, d, e);\n a[b + 2 + 96] = a[b + 1 + 64] = a[b + 0 + 32] = z(f, c, d);\n a[b + 3 + 96] = a[b + 2 + 64] = a[b + 1 + 32] = a[b + 0 + 0] = z(g, f, c);\n a[b + 3 + 64] = a[b + 2 + 32] = a[b + 1 + 0] = z(h, g, f);\n a[b + 3 + 32] = a[b + 2 + 0] = z(k, h, g);\n a[b + 3 + 0] = z(l, k, h);\n }\n function kf(a, b) {\n var c = a[b + 1 - 32],\n d = a[b + 2 - 32],\n e = a[b + 3 - 32],\n f = a[b + 4 - 32],\n g = a[b + 5 - 32],\n h = a[b + 6 - 32],\n k = a[b + 7 - 32];\n a[b + 0 + 0] = z(a[b + 0 - 32], c, d);\n a[b + 1 + 0] = a[b + 0 + 32] = z(c, d, e);\n a[b + 2 + 0] = a[b + 1 + 32] = a[b + 0 + 64] = z(d, e, f);\n a[b + 3 + 0] = a[b + 2 + 32] = a[b + 1 + 64] = a[b + 0 + 96] = z(e, f, g);\n a[b + 3 + 32] = a[b + 2 + 64] = a[b + 1 + 96] = z(f, g, h);\n a[b + 3 + 64] = a[b + 2 + 96] = z(g, h, k);\n a[b + 3 + 96] = z(h, k, k);\n }\n function jf(a, b) {\n var c = a[b - 1 + 0],\n d = a[b - 1 + 32],\n e = a[b - 1 + 64],\n f = a[b - 1 - 32],\n g = a[b + 0 - 32],\n h = a[b + 1 - 32],\n k = a[b + 2 - 32],\n l = a[b + 3 - 32];\n a[b + 0 + 0] = a[b + 1 + 64] = (f + g + 1) >> 1;\n a[b + 1 + 0] = a[b + 2 + 64] = (g + h + 1) >> 1;\n a[b + 2 + 0] = a[b + 3 + 64] = (h + k + 1) >> 1;\n a[b + 3 + 0] = (k + l + 1) >> 1;\n a[b + 0 + 96] = z(e, d, c);\n a[b + 0 + 64] = z(d, c, f);\n a[b + 0 + 32] = a[b + 1 + 96] = z(c, f, g);\n a[b + 1 + 32] = a[b + 2 + 96] = z(f, g, h);\n a[b + 2 + 32] = a[b + 3 + 96] = z(g, h, k);\n a[b + 3 + 32] = z(h, k, l);\n }\n function lf(a, b) {\n var c = a[b + 0 - 32],\n d = a[b + 1 - 32],\n e = a[b + 2 - 32],\n f = a[b + 3 - 32],\n g = a[b + 4 - 32],\n h = a[b + 5 - 32],\n k = a[b + 6 - 32],\n l = a[b + 7 - 32];\n a[b + 0 + 0] = (c + d + 1) >> 1;\n a[b + 1 + 0] = a[b + 0 + 64] = (d + e + 1) >> 1;\n a[b + 2 + 0] = a[b + 1 + 64] = (e + f + 1) >> 1;\n a[b + 3 + 0] = a[b + 2 + 64] = (f + g + 1) >> 1;\n a[b + 0 + 32] = z(c, d, e);\n a[b + 1 + 32] = a[b + 0 + 96] = z(d, e, f);\n a[b + 2 + 32] = a[b + 1 + 96] = z(e, f, g);\n a[b + 3 + 32] = a[b + 2 + 96] = z(f, g, h);\n a[b + 3 + 64] = z(g, h, k);\n a[b + 3 + 96] = z(h, k, l);\n }\n function nf(a, b) {\n var c = a[b - 1 + 0],\n d = a[b - 1 + 32],\n e = a[b - 1 + 64],\n f = a[b - 1 + 96];\n a[b + 0 + 0] = (c + d + 1) >> 1;\n a[b + 2 + 0] = a[b + 0 + 32] = (d + e + 1) >> 1;\n a[b + 2 + 32] = a[b + 0 + 64] = (e + f + 1) >> 1;\n a[b + 1 + 0] = z(c, d, e);\n a[b + 3 + 0] = a[b + 1 + 32] = z(d, e, f);\n a[b + 3 + 32] = a[b + 1 + 64] = z(e, f, f);\n a[b + 3 + 64] = a[b + 2 + 64] = a[b + 0 + 96] = a[b + 1 + 96] = a[\n b + 2 + 96\n ] = a[b + 3 + 96] = f;\n }\n function mf(a, b) {\n var c = a[b - 1 + 0],\n d = a[b - 1 + 32],\n e = a[b - 1 + 64],\n f = a[b - 1 + 96],\n g = a[b - 1 - 32],\n h = a[b + 0 - 32],\n k = a[b + 1 - 32],\n l = a[b + 2 - 32];\n a[b + 0 + 0] = a[b + 2 + 32] = (c + g + 1) >> 1;\n a[b + 0 + 32] = a[b + 2 + 64] = (d + c + 1) >> 1;\n a[b + 0 + 64] = a[b + 2 + 96] = (e + d + 1) >> 1;\n a[b + 0 + 96] = (f + e + 1) >> 1;\n a[b + 3 + 0] = z(h, k, l);\n a[b + 2 + 0] = z(g, h, k);\n a[b + 1 + 0] = a[b + 3 + 32] = z(c, g, h);\n a[b + 1 + 32] = a[b + 3 + 64] = z(d, c, g);\n a[b + 1 + 64] = a[b + 3 + 96] = z(e, d, c);\n a[b + 1 + 96] = z(f, e, d);\n }\n function xf(a, b) {\n var c;\n for (c = 0; 8 > c; ++c) I(a, b + 32 * c, a, b - 32, 8);\n }\n function yf(a, b) {\n var c;\n for (c = 0; 8 > c; ++c) M(a, b, a[b - 1], 8), (b += 32);\n }\n function lb(a, b, c) {\n var d;\n for (d = 0; 8 > d; ++d) M(b, c + 32 * d, a, 8);\n }\n function vf(a, b) {\n var c = 8,\n d;\n for (d = 0; 8 > d; ++d) c += a[b + d - 32] + a[b - 1 + 32 * d];\n lb(c >> 4, a, b);\n }\n function Af(a, b) {\n var c = 4,\n d;\n for (d = 0; 8 > d; ++d) c += a[b + d - 32];\n lb(c >> 3, a, b);\n }\n function zf(a, b) {\n var c = 4,\n d;\n for (d = 0; 8 > d; ++d) c += a[b - 1 + 32 * d];\n lb(c >> 3, a, b);\n }\n function Bf(a, b) {\n lb(128, a, b);\n }\n function ab(a, b, c) {\n var d = a[b - c],\n e = a[b + 0],\n f = 3 * (e - d) + Qb[1020 + a[b - 2 * c] - a[b + c]],\n g = mb[112 + ((f + 4) >> 3)];\n a[b - c] = R[255 + d + mb[112 + ((f + 3) >> 3)]];\n a[b + 0] = R[255 + e - g];\n }\n function jd(a, b, c, d) {\n var e = a[b + 0],\n f = a[b + c];\n return U[255 + a[b - 2 * c] - a[b - c]] > d || U[255 + f - e] > d;\n }\n function kd(a, b, c, d) {\n return (\n 4 * U[255 + a[b - c] - a[b + 0]] + U[255 + a[b - 2 * c] - a[b + c]] <= d\n );\n }\n function ld(a, b, c, d, e) {\n var f = a[b - 3 * c],\n g = a[b - 2 * c],\n h = a[b - c],\n k = a[b + 0],\n l = a[b + c],\n m = a[b + 2 * c],\n n = a[b + 3 * c];\n return 4 * U[255 + h - k] + U[255 + g - l] > d\n ? 0\n : U[255 + a[b - 4 * c] - f] <= e &&\n U[255 + f - g] <= e &&\n U[255 + g - h] <= e &&\n U[255 + n - m] <= e &&\n U[255 + m - l] <= e &&\n U[255 + l - k] <= e;\n }\n function gd(a, b, c, d) {\n var e = 2 * d + 1;\n for (d = 0; 16 > d; ++d) kd(a, b + d, c, e) && ab(a, b + d, c);\n }\n function hd(a, b, c, d) {\n var e = 2 * d + 1;\n for (d = 0; 16 > d; ++d) kd(a, b + d * c, 1, e) && ab(a, b + d * c, 1);\n }\n function bf(a, b, c, d) {\n var e;\n for (e = 3; 0 < e; --e) (b += 4 * c), gd(a, b, c, d);\n }\n function cf(a, b, c, d) {\n var e;\n for (e = 3; 0 < e; --e) (b += 4), hd(a, b, c, d);\n }\n function ea(a, b, c, d, e, f, g, h) {\n for (f = 2 * f + 1; 0 < e--; ) {\n if (ld(a, b, c, f, g))\n if (jd(a, b, c, h)) ab(a, b, c);\n else {\n var k = a,\n l = b,\n m = c,\n n = k[l - 2 * m],\n r = k[l - m],\n q = k[l + 0],\n t = k[l + m],\n v = k[l + 2 * m],\n p = Qb[1020 + 3 * (q - r) + Qb[1020 + n - t]],\n u = (27 * p + 63) >> 7,\n w = (18 * p + 63) >> 7,\n p = (9 * p + 63) >> 7;\n k[l - 3 * m] = R[255 + k[l - 3 * m] + p];\n k[l - 2 * m] = R[255 + n + w];\n k[l - m] = R[255 + r + u];\n k[l + 0] = R[255 + q - u];\n k[l + m] = R[255 + t - w];\n k[l + 2 * m] = R[255 + v - p];\n }\n b += d;\n }\n }\n function Fa(a, b, c, d, e, f, g, h) {\n for (f = 2 * f + 1; 0 < e--; ) {\n if (ld(a, b, c, f, g))\n if (jd(a, b, c, h)) ab(a, b, c);\n else {\n var k = a,\n l = b,\n m = c,\n n = k[l - m],\n r = k[l + 0],\n q = k[l + m],\n t = 3 * (r - n),\n v = mb[112 + ((t + 4) >> 3)],\n t = mb[112 + ((t + 3) >> 3)],\n p = (v + 1) >> 1;\n k[l - 2 * m] = R[255 + k[l - 2 * m] + p];\n k[l - m] = R[255 + n + t];\n k[l + 0] = R[255 + r - v];\n k[l + m] = R[255 + q - p];\n }\n b += d;\n }\n }\n function Ue(a, b, c, d, e, f) {\n ea(a, b, c, 1, 16, d, e, f);\n }\n function Ve(a, b, c, d, e, f) {\n ea(a, b, 1, c, 16, d, e, f);\n }\n function Ye(a, b, c, d, e, f) {\n var g;\n for (g = 3; 0 < g; --g) (b += 4 * c), Fa(a, b, c, 1, 16, d, e, f);\n }\n function Ze(a, b, c, d, e, f) {\n var g;\n for (g = 3; 0 < g; --g) (b += 4), Fa(a, b, 1, c, 16, d, e, f);\n }\n function We(a, b, c, d, e, f, g, h) {\n ea(a, b, e, 1, 8, f, g, h);\n ea(c, d, e, 1, 8, f, g, h);\n }\n function Xe(a, b, c, d, e, f, g, h) {\n ea(a, b, 1, e, 8, f, g, h);\n ea(c, d, 1, e, 8, f, g, h);\n }\n function $e(a, b, c, d, e, f, g, h) {\n Fa(a, b + 4 * e, e, 1, 8, f, g, h);\n Fa(c, d + 4 * e, e, 1, 8, f, g, h);\n }\n function af(a, b, c, d, e, f, g, h) {\n Fa(a, b + 4, 1, e, 8, f, g, h);\n Fa(c, d + 4, 1, e, 8, f, g, h);\n }\n function Cf() {\n this.ba = new Cb();\n this.ec = [];\n this.cc = [];\n this.Mc = [];\n this.Dc = this.Nc = this.dc = this.fc = 0;\n this.Oa = new Ud();\n this.memory = 0;\n this.Ib = \"OutputFunc\";\n this.Jb = \"OutputAlphaFunc\";\n this.Nd = \"OutputRowFunc\";\n }\n function md() {\n this.data = [];\n this.offset = this.kd = this.ha = this.w = 0;\n this.na = [];\n this.xa = this.gb = this.Ja = this.Sa = this.P = 0;\n }\n function Df() {\n this.nc = this.Ea = this.b = this.hc = 0;\n this.K = [];\n this.w = 0;\n }\n function Ef() {\n this.ua = 0;\n this.Wa = new ac();\n this.vb = new ac();\n this.md = this.xc = this.wc = 0;\n this.vc = [];\n this.Wb = 0;\n this.Ya = new Ub();\n this.yc = new O();\n }\n function je() {\n this.xb = this.a = 0;\n this.l = new Oa();\n this.ca = new Cb();\n this.V = [];\n this.Ba = 0;\n this.Ta = [];\n this.Ua = 0;\n this.m = new Ra();\n this.Pb = 0;\n this.wd = new Ra();\n this.Ma = this.$ = this.C = this.i = this.c = this.xd = 0;\n this.s = new Ef();\n this.ab = 0;\n this.gc = wa(4, Df);\n this.Oc = 0;\n }\n function Ff() {\n this.Lc = this.Z = this.$a = this.i = this.c = 0;\n this.l = new Oa();\n this.ic = 0;\n this.ca = [];\n this.tb = 0;\n this.qd = null;\n this.rd = 0;\n }\n function Rb(a, b, c, d, e, f, g) {\n a = null == a ? 0 : a[b + 0];\n for (b = 0; b < g; ++b) (e[f + b] = (a + c[d + b]) & 255), (a = e[f + b]);\n }\n function Gf(a, b, c, d, e, f, g) {\n if (null == a) Rb(null, null, c, d, e, f, g);\n else {\n var h;\n for (h = 0; h < g; ++h) e[f + h] = (a[b + h] + c[d + h]) & 255;\n }\n }\n function Hf(a, b, c, d, e, f, g) {\n if (null == a) Rb(null, null, c, d, e, f, g);\n else {\n var h = a[b + 0],\n k = h,\n l = h,\n m;\n for (m = 0; m < g; ++m)\n (h = a[b + m]),\n (k = l + h - k),\n (l = (c[d + m] + (k & -256 ? (0 > k ? 0 : 255) : k)) & 255),\n (k = h),\n (e[f + m] = l);\n }\n }\n function Le(a, b, c, d) {\n var e = b.width,\n f = b.o;\n x(null != a && null != b);\n if (0 > c || 0 >= d || c + d > f) return null;\n if (!a.Cc) {\n if (null == a.ga) {\n a.ga = new Ff();\n var g;\n (g = null == a.ga) ||\n ((g = b.width * b.o),\n x(0 == a.Gb.length),\n (a.Gb = V(g)),\n (a.Uc = 0),\n null == a.Gb\n ? (g = 0)\n : ((a.mb = a.Gb), (a.nb = a.Uc), (a.rc = null), (g = 1)),\n (g = !g));\n if (!g) {\n g = a.ga;\n var h = a.Fa,\n k = a.P,\n l = a.qc,\n m = a.mb,\n n = a.nb,\n r = k + 1,\n q = l - 1,\n t = g.l;\n x(null != h && null != m && null != b);\n ia[0] = null;\n ia[1] = Rb;\n ia[2] = Gf;\n ia[3] = Hf;\n g.ca = m;\n g.tb = n;\n g.c = b.width;\n g.i = b.height;\n x(0 < g.c && 0 < g.i);\n if (1 >= l) b = 0;\n else if (\n ((g.$a = (h[k + 0] >> 0) & 3),\n (g.Z = (h[k + 0] >> 2) & 3),\n (g.Lc = (h[k + 0] >> 4) & 3),\n (k = (h[k + 0] >> 6) & 3),\n 0 > g.$a || 1 < g.$a || 4 <= g.Z || 1 < g.Lc || k)\n )\n b = 0;\n else if (\n ((t.put = kc),\n (t.ac = gc),\n (t.bc = lc),\n (t.ma = g),\n (t.width = b.width),\n (t.height = b.height),\n (t.Da = b.Da),\n (t.v = b.v),\n (t.va = b.va),\n (t.j = b.j),\n (t.o = b.o),\n g.$a)\n )\n b: {\n x(1 == g.$a), (b = Bc());\n c: for (;;) {\n if (null == b) {\n b = 0;\n break b;\n }\n x(null != g);\n g.mc = b;\n b.c = g.c;\n b.i = g.i;\n b.l = g.l;\n b.l.ma = g;\n b.l.width = g.c;\n b.l.height = g.i;\n b.a = 0;\n cb(b.m, h, r, q);\n if (!rb(g.c, g.i, 1, b, null)) break c;\n 1 == b.ab && 3 == b.gc[0].hc && yc(b.s)\n ? ((g.ic = 1),\n (h = b.c * b.i),\n (b.Ta = null),\n (b.Ua = 0),\n (b.V = V(h)),\n (b.Ba = 0),\n null == b.V ? ((b.a = 1), (b = 0)) : (b = 1))\n : ((g.ic = 0), (b = Ec(b, g.c)));\n if (!b) break c;\n b = 1;\n break b;\n }\n g.mc = null;\n b = 0;\n }\n else b = q >= g.c * g.i;\n g = !b;\n }\n if (g) return null;\n 1 != a.ga.Lc ? (a.Ga = 0) : (d = f - c);\n }\n x(null != a.ga);\n x(c + d <= f);\n a: {\n h = a.ga;\n b = h.c;\n f = h.l.o;\n if (0 == h.$a) {\n r = a.rc;\n q = a.Vc;\n t = a.Fa;\n k = a.P + 1 + c * b;\n l = a.mb;\n m = a.nb + c * b;\n x(k <= a.P + a.qc);\n if (0 != h.Z)\n for (x(null != ia[h.Z]), g = 0; g < d; ++g)\n ia[h.Z](r, q, t, k, l, m, b),\n (r = l),\n (q = m),\n (m += b),\n (k += b);\n else\n for (g = 0; g < d; ++g)\n I(l, m, t, k, b), (r = l), (q = m), (m += b), (k += b);\n a.rc = r;\n a.Vc = q;\n } else {\n x(null != h.mc);\n b = c + d;\n g = h.mc;\n x(null != g);\n x(b <= g.i);\n if (g.C >= b) b = 1;\n else if ((h.ic || Aa(), h.ic)) {\n var h = g.V,\n r = g.Ba,\n q = g.c,\n v = g.i,\n t = 1,\n k = g.$ / q,\n l = g.$ % q,\n m = g.m,\n n = g.s,\n p = g.$,\n u = q * v,\n w = q * b,\n y = n.wc,\n A = p < w ? ha(n, l, k) : null;\n x(p <= u);\n x(b <= v);\n x(yc(n));\n c: for (;;) {\n for (; !m.h && p < w; ) {\n l & y || (A = ha(n, l, k));\n x(null != A);\n Sa(m);\n v = ua(A.G[0], A.H[0], m);\n if (256 > v)\n (h[r + p] = v),\n ++p,\n ++l,\n l >= q && ((l = 0), ++k, k <= b && !(k % 16) && Ib(g, k));\n else if (280 > v) {\n var v = ib(v - 256, m);\n var E = ua(A.G[4], A.H[4], m);\n Sa(m);\n E = ib(E, m);\n E = nc(q, E);\n if (p >= E && u - p >= v) {\n var B;\n for (B = 0; B < v; ++B) h[r + p + B] = h[r + p + B - E];\n } else {\n t = 0;\n break c;\n }\n p += v;\n for (l += v; l >= q; )\n (l -= q), ++k, k <= b && !(k % 16) && Ib(g, k);\n p < w && l & y && (A = ha(n, l, k));\n } else {\n t = 0;\n break c;\n }\n x(m.h == db(m));\n }\n Ib(g, k > b ? b : k);\n break c;\n }\n !t || (m.h && p < u) ? ((t = 0), (g.a = m.h ? 5 : 3)) : (g.$ = p);\n b = t;\n } else b = Jb(g, g.V, g.Ba, g.c, g.i, b, se);\n if (!b) {\n d = 0;\n break a;\n }\n }\n c + d >= f && (a.Cc = 1);\n d = 1;\n }\n if (!d) return null;\n if (\n a.Cc &&\n ((d = a.ga), null != d && (d.mc = null), (a.ga = null), 0 < a.Ga)\n )\n return alert(\"todo:WebPDequantizeLevels\"), null;\n }\n return a.nb + c * e;\n }\n function If(a, b, c, d, e, f) {\n for (; 0 < e--; ) {\n var g = a,\n h = b + (c ? 1 : 0),\n k = a,\n l = b + (c ? 0 : 3),\n m;\n for (m = 0; m < d; ++m) {\n var n = k[l + 4 * m];\n 255 != n &&\n ((n *= 32897),\n (g[h + 4 * m + 0] = (g[h + 4 * m + 0] * n) >> 23),\n (g[h + 4 * m + 1] = (g[h + 4 * m + 1] * n) >> 23),\n (g[h + 4 * m + 2] = (g[h + 4 * m + 2] * n) >> 23));\n }\n b += f;\n }\n }\n function Jf(a, b, c, d, e) {\n for (; 0 < d--; ) {\n var f;\n for (f = 0; f < c; ++f) {\n var g = a[b + 2 * f + 0],\n h = a[b + 2 * f + 1],\n k = h & 15,\n l = 4369 * k,\n h = (((h & 240) | (h >> 4)) * l) >> 16;\n a[b + 2 * f + 0] =\n (((((g & 240) | (g >> 4)) * l) >> 16) & 240) |\n ((((((g & 15) | (g << 4)) * l) >> 16) >> 4) & 15);\n a[b + 2 * f + 1] = (h & 240) | k;\n }\n b += e;\n }\n }\n function Kf(a, b, c, d, e, f, g, h) {\n var k = 255,\n l,\n m;\n for (m = 0; m < e; ++m) {\n for (l = 0; l < d; ++l) {\n var n = a[b + l];\n f[g + 4 * l] = n;\n k &= n;\n }\n b += c;\n g += h;\n }\n return 255 != k;\n }\n function Lf(a, b, c, d, e) {\n var f;\n for (f = 0; f < e; ++f) c[d + f] = a[b + f] >> 8;\n }\n function Aa() {\n za = If;\n vc = Jf;\n fc = Kf;\n Fc = Lf;\n }\n function va(a, b, c) {\n self[a] = function(a, e, f, g, h, k, l, m, n, r, q, t, v, p, u, w, y) {\n var d,\n E = (y - 1) >> 1;\n var B = h[k + 0] | (l[m + 0] << 16);\n var C = n[r + 0] | (q[t + 0] << 16);\n x(null != a);\n var z = (3 * B + C + 131074) >> 2;\n b(a[e + 0], z & 255, z >> 16, v, p);\n null != f &&\n ((z = (3 * C + B + 131074) >> 2),\n b(f[g + 0], z & 255, z >> 16, u, w));\n for (d = 1; d <= E; ++d) {\n var D = h[k + d] | (l[m + d] << 16);\n var G = n[r + d] | (q[t + d] << 16);\n var F = B + D + C + G + 524296;\n var H = (F + 2 * (D + C)) >> 3;\n F = (F + 2 * (B + G)) >> 3;\n z = (H + B) >> 1;\n B = (F + D) >> 1;\n b(a[e + 2 * d - 1], z & 255, z >> 16, v, p + (2 * d - 1) * c);\n b(a[e + 2 * d - 0], B & 255, B >> 16, v, p + (2 * d - 0) * c);\n null != f &&\n ((z = (F + C) >> 1),\n (B = (H + G) >> 1),\n b(f[g + 2 * d - 1], z & 255, z >> 16, u, w + (2 * d - 1) * c),\n b(f[g + 2 * d + 0], B & 255, B >> 16, u, w + (2 * d + 0) * c));\n B = D;\n C = G;\n }\n y & 1 ||\n ((z = (3 * B + C + 131074) >> 2),\n b(a[e + y - 1], z & 255, z >> 16, v, p + (y - 1) * c),\n null != f &&\n ((z = (3 * C + B + 131074) >> 2),\n b(f[g + y - 1], z & 255, z >> 16, u, w + (y - 1) * c)));\n };\n }\n function ic() {\n P[Ca] = Mf;\n P[Ua] = nd;\n P[tc] = Nf;\n P[Va] = od;\n P[ya] = pd;\n P[Db] = qd;\n P[wc] = Of;\n P[zb] = nd;\n P[Ab] = od;\n P[Ja] = pd;\n P[Bb] = qd;\n }\n function Sb(a) {\n return a & ~Pf ? (0 > a ? 0 : 255) : a >> rd;\n }\n function bb(a, b) {\n return Sb(((19077 * a) >> 8) + ((26149 * b) >> 8) - 14234);\n }\n function nb(a, b, c) {\n return Sb(\n ((19077 * a) >> 8) - ((6419 * b) >> 8) - ((13320 * c) >> 8) + 8708\n );\n }\n function Pa(a, b) {\n return Sb(((19077 * a) >> 8) + ((33050 * b) >> 8) - 17685);\n }\n function Ga(a, b, c, d, e) {\n d[e + 0] = bb(a, c);\n d[e + 1] = nb(a, b, c);\n d[e + 2] = Pa(a, b);\n }\n function Tb(a, b, c, d, e) {\n d[e + 0] = Pa(a, b);\n d[e + 1] = nb(a, b, c);\n d[e + 2] = bb(a, c);\n }\n function sd(a, b, c, d, e) {\n var f = nb(a, b, c);\n b = ((f << 3) & 224) | (Pa(a, b) >> 3);\n d[e + 0] = (bb(a, c) & 248) | (f >> 5);\n d[e + 1] = b;\n }\n function td(a, b, c, d, e) {\n var f = (Pa(a, b) & 240) | 15;\n d[e + 0] = (bb(a, c) & 240) | (nb(a, b, c) >> 4);\n d[e + 1] = f;\n }\n function ud(a, b, c, d, e) {\n d[e + 0] = 255;\n Ga(a, b, c, d, e + 1);\n }\n function vd(a, b, c, d, e) {\n Tb(a, b, c, d, e);\n d[e + 3] = 255;\n }\n function wd(a, b, c, d, e) {\n Ga(a, b, c, d, e);\n d[e + 3] = 255;\n }\n function ga(a, b) {\n return 0 > a ? 0 : a > b ? b : a;\n }\n function la(a, b, c) {\n self[a] = function(a, e, f, g, h, k, l, m, n) {\n for (var d = m + (n & -2) * c; m != d; )\n b(a[e + 0], f[g + 0], h[k + 0], l, m),\n b(a[e + 1], f[g + 0], h[k + 0], l, m + c),\n (e += 2),\n ++g,\n ++k,\n (m += 2 * c);\n n & 1 && b(a[e + 0], f[g + 0], h[k + 0], l, m);\n };\n }\n function xd(a, b, c) {\n return 0 == c ? (0 == a ? (0 == b ? 6 : 5) : 0 == b ? 4 : 0) : c;\n }\n function yd(a, b, c, d, e) {\n switch (a >>> 30) {\n case 3:\n Za(b, c, d, e, 0);\n break;\n case 2:\n fd(b, c, d, e);\n break;\n case 1:\n pa(b, c, d, e);\n }\n }\n function Oc(a, b) {\n var c,\n d,\n e = b.M,\n f = b.Nb,\n g = a.oc,\n h = a.pc + 40,\n k = a.oc,\n l = a.pc + 584,\n m = a.oc,\n n = a.pc + 600;\n for (c = 0; 16 > c; ++c) g[h + 32 * c - 1] = 129;\n for (c = 0; 8 > c; ++c)\n (k[l + 32 * c - 1] = 129), (m[n + 32 * c - 1] = 129);\n 0 < e\n ? (g[h - 1 - 32] = k[l - 1 - 32] = m[n - 1 - 32] = 129)\n : (M(g, h - 32 - 1, 127, 21),\n M(k, l - 32 - 1, 127, 9),\n M(m, n - 32 - 1, 127, 9));\n for (d = 0; d < a.za; ++d) {\n var r = b.ya[b.aa + d];\n if (0 < d) {\n for (c = -1; 16 > c; ++c) I(g, h + 32 * c - 4, g, h + 32 * c + 12, 4);\n for (c = -1; 8 > c; ++c)\n I(k, l + 32 * c - 4, k, l + 32 * c + 4, 4),\n I(m, n + 32 * c - 4, m, n + 32 * c + 4, 4);\n }\n var q = a.Gd,\n t = a.Hd + d,\n v = r.ad,\n p = r.Hc;\n 0 < e &&\n (I(g, h - 32, q[t].y, 0, 16),\n I(k, l - 32, q[t].f, 0, 8),\n I(m, n - 32, q[t].ea, 0, 8));\n if (r.Za) {\n var u = g;\n var w = h - 32 + 16;\n 0 < e &&\n (d >= a.za - 1\n ? M(u, w, q[t].y[15], 4)\n : I(u, w, q[t + 1].y, 0, 4));\n for (c = 0; 4 > c; c++)\n u[w + 128 + c] = u[w + 256 + c] = u[w + 384 + c] = u[w + 0 + c];\n for (c = 0; 16 > c; ++c, p <<= 2)\n (u = g), (w = h + zd[c]), W[r.Ob[c]](u, w), yd(p, v, 16 * +c, u, w);\n } else if (((u = xd(d, e, r.Ob[0])), Y[u](g, h), 0 != p))\n for (c = 0; 16 > c; ++c, p <<= 2) yd(p, v, 16 * +c, g, h + zd[c]);\n c = r.Gc;\n u = xd(d, e, r.Dd);\n ka[u](k, l);\n ka[u](m, n);\n r = c >> 0;\n p = v;\n u = k;\n w = l;\n r & 255 && (r & 170 ? Nb(p, 256, u, w) : Ob(p, 256, u, w));\n c >>= 8;\n r = m;\n p = n;\n c & 255 && (c & 170 ? Nb(v, 320, r, p) : Ob(v, 320, r, p));\n e < a.Ub - 1 &&\n (I(q[t].y, 0, g, h + 480, 16),\n I(q[t].f, 0, k, l + 224, 8),\n I(q[t].ea, 0, m, n + 224, 8));\n c = 8 * f * a.B;\n q = a.sa;\n t = a.ta + 16 * d + 16 * f * a.R;\n v = a.qa;\n r = a.ra + 8 * d + c;\n p = a.Ha;\n u = a.Ia + 8 * d + c;\n for (c = 0; 16 > c; ++c) I(q, t + c * a.R, g, h + 32 * c, 16);\n for (c = 0; 8 > c; ++c)\n I(v, r + c * a.B, k, l + 32 * c, 8),\n I(p, u + c * a.B, m, n + 32 * c, 8);\n }\n }\n function Ad(a, b, c, d, e, f, g, h, k) {\n var l = [0],\n m = [0],\n n = 0,\n r = null != k ? k.kd : 0,\n q = null != k ? k : new md();\n if (null == a || 12 > c) return 7;\n q.data = a;\n q.w = b;\n q.ha = c;\n b = [b];\n c = [c];\n q.gb = [q.gb];\n a: {\n var t = b;\n var v = c;\n var p = q.gb;\n x(null != a);\n x(null != v);\n x(null != p);\n p[0] = 0;\n if (12 <= v[0] && !fa(a, t[0], \"RIFF\")) {\n if (fa(a, t[0] + 8, \"WEBP\")) {\n p = 3;\n break a;\n }\n var u = Ha(a, t[0] + 4);\n if (12 > u || 4294967286 < u) {\n p = 3;\n break a;\n }\n if (r && u > v[0] - 8) {\n p = 7;\n break a;\n }\n p[0] = u;\n t[0] += 12;\n v[0] -= 12;\n }\n p = 0;\n }\n if (0 != p) return p;\n u = 0 < q.gb[0];\n for (c = c[0]; ; ) {\n t = [0];\n n = [n];\n a: {\n var w = a;\n v = b;\n p = c;\n var y = n,\n A = l,\n z = m,\n B = t;\n y[0] = 0;\n if (8 > p[0]) p = 7;\n else {\n if (!fa(w, v[0], \"VP8X\")) {\n if (10 != Ha(w, v[0] + 4)) {\n p = 3;\n break a;\n }\n if (18 > p[0]) {\n p = 7;\n break a;\n }\n var C = Ha(w, v[0] + 8);\n var D = 1 + Yb(w, v[0] + 12);\n w = 1 + Yb(w, v[0] + 15);\n if (2147483648 <= D * w) {\n p = 3;\n break a;\n }\n null != B && (B[0] = C);\n null != A && (A[0] = D);\n null != z && (z[0] = w);\n v[0] += 18;\n p[0] -= 18;\n y[0] = 1;\n }\n p = 0;\n }\n }\n n = n[0];\n t = t[0];\n if (0 != p) return p;\n v = !!(t & 2);\n if (!u && n) return 3;\n null != f && (f[0] = !!(t & 16));\n null != g && (g[0] = v);\n null != h && (h[0] = 0);\n g = l[0];\n t = m[0];\n if (n && v && null == k) {\n p = 0;\n break;\n }\n if (4 > c) {\n p = 7;\n break;\n }\n if ((u && n) || (!u && !n && !fa(a, b[0], \"ALPH\"))) {\n c = [c];\n q.na = [q.na];\n q.P = [q.P];\n q.Sa = [q.Sa];\n a: {\n C = a;\n p = b;\n u = c;\n var y = q.gb,\n A = q.na,\n z = q.P,\n B = q.Sa;\n D = 22;\n x(null != C);\n x(null != u);\n w = p[0];\n var F = u[0];\n x(null != A);\n x(null != B);\n A[0] = null;\n z[0] = null;\n for (B[0] = 0; ; ) {\n p[0] = w;\n u[0] = F;\n if (8 > F) {\n p = 7;\n break a;\n }\n var G = Ha(C, w + 4);\n if (4294967286 < G) {\n p = 3;\n break a;\n }\n var H = (8 + G + 1) & -2;\n D += H;\n if (0 < y && D > y) {\n p = 3;\n break a;\n }\n if (!fa(C, w, \"VP8 \") || !fa(C, w, \"VP8L\")) {\n p = 0;\n break a;\n }\n if (F[0] < H) {\n p = 7;\n break a;\n }\n fa(C, w, \"ALPH\") || ((A[0] = C), (z[0] = w + 8), (B[0] = G));\n w += H;\n F -= H;\n }\n }\n c = c[0];\n q.na = q.na[0];\n q.P = q.P[0];\n q.Sa = q.Sa[0];\n if (0 != p) break;\n }\n c = [c];\n q.Ja = [q.Ja];\n q.xa = [q.xa];\n a: if (\n ((y = a),\n (p = b),\n (u = c),\n (A = q.gb[0]),\n (z = q.Ja),\n (B = q.xa),\n (C = p[0]),\n (w = !fa(y, C, \"VP8 \")),\n (D = !fa(y, C, \"VP8L\")),\n x(null != y),\n x(null != u),\n x(null != z),\n x(null != B),\n 8 > u[0])\n )\n p = 7;\n else {\n if (w || D) {\n y = Ha(y, C + 4);\n if (12 <= A && y > A - 12) {\n p = 3;\n break a;\n }\n if (r && y > u[0] - 8) {\n p = 7;\n break a;\n }\n z[0] = y;\n p[0] += 8;\n u[0] -= 8;\n B[0] = D;\n } else\n (B[0] = 5 <= u[0] && 47 == y[C + 0] && !(y[C + 4] >> 5)),\n (z[0] = u[0]);\n p = 0;\n }\n c = c[0];\n q.Ja = q.Ja[0];\n q.xa = q.xa[0];\n b = b[0];\n if (0 != p) break;\n if (4294967286 < q.Ja) return 3;\n null == h || v || (h[0] = q.xa ? 2 : 1);\n g = [g];\n t = [t];\n if (q.xa) {\n if (5 > c) {\n p = 7;\n break;\n }\n h = g;\n r = t;\n v = f;\n null == a || 5 > c\n ? (a = 0)\n : 5 <= c && 47 == a[b + 0] && !(a[b + 4] >> 5)\n ? ((u = [0]),\n (y = [0]),\n (A = [0]),\n (z = new Ra()),\n cb(z, a, b, c),\n mc(z, u, y, A)\n ? (null != h && (h[0] = u[0]),\n null != r && (r[0] = y[0]),\n null != v && (v[0] = A[0]),\n (a = 1))\n : (a = 0))\n : (a = 0);\n } else {\n if (10 > c) {\n p = 7;\n break;\n }\n h = t;\n null == a || 10 > c || !Jc(a, b + 3, c - 3)\n ? (a = 0)\n : ((r = a[b + 0] | (a[b + 1] << 8) | (a[b + 2] << 16)),\n (v = ((a[b + 7] << 8) | a[b + 6]) & 16383),\n (a = ((a[b + 9] << 8) | a[b + 8]) & 16383),\n r & 1 ||\n 3 < ((r >> 1) & 7) ||\n !((r >> 4) & 1) ||\n r >> 5 >= q.Ja ||\n !v ||\n !a\n ? (a = 0)\n : (g && (g[0] = v), h && (h[0] = a), (a = 1)));\n }\n if (!a) return 3;\n g = g[0];\n t = t[0];\n if (n && (l[0] != g || m[0] != t)) return 3;\n null != k &&\n ((k[0] = q),\n (k.offset = b - k.w),\n x(4294967286 > b - k.w),\n x(k.offset == k.ha - c));\n break;\n }\n return 0 == p || (7 == p && n && null == k)\n ? (null != f && (f[0] |= null != q.na && 0 < q.na.length),\n null != d && (d[0] = g),\n null != e && (e[0] = t),\n 0)\n : p;\n }\n function hc(a, b, c) {\n var d = b.width,\n e = b.height,\n f = 0,\n g = 0,\n h = d,\n k = e;\n b.Da = null != a && 0 < a.Da;\n if (\n b.Da &&\n ((h = a.cd),\n (k = a.bd),\n (f = a.v),\n (g = a.j),\n 11 > c || ((f &= -2), (g &= -2)),\n 0 > f || 0 > g || 0 >= h || 0 >= k || f + h > d || g + k > e)\n )\n return 0;\n b.v = f;\n b.j = g;\n b.va = f + h;\n b.o = g + k;\n b.U = h;\n b.T = k;\n b.da = null != a && 0 < a.da;\n if (b.da) {\n c = [a.ib];\n f = [a.hb];\n if (!bc(h, k, c, f)) return 0;\n b.ib = c[0];\n b.hb = f[0];\n }\n b.ob = null != a && a.ob;\n b.Kb = null == a || !a.Sd;\n b.da && ((b.ob = b.ib < (3 * d) / 4 && b.hb < (3 * e) / 4), (b.Kb = 0));\n return 1;\n }\n function Bd(a) {\n if (null == a) return 2;\n if (11 > a.S) {\n var b = a.f.RGBA;\n b.fb += (a.height - 1) * b.A;\n b.A = -b.A;\n } else\n (b = a.f.kb),\n (a = a.height),\n (b.O += (a - 1) * b.fa),\n (b.fa = -b.fa),\n (b.N += ((a - 1) >> 1) * b.Ab),\n (b.Ab = -b.Ab),\n (b.W += ((a - 1) >> 1) * b.Db),\n (b.Db = -b.Db),\n null != b.F && ((b.J += (a - 1) * b.lb), (b.lb = -b.lb));\n return 0;\n }\n function Cd(a, b, c, d) {\n if (null == d || 0 >= a || 0 >= b) return 2;\n if (null != c) {\n if (c.Da) {\n var e = c.cd,\n f = c.bd,\n g = c.v & -2,\n h = c.j & -2;\n if (0 > g || 0 > h || 0 >= e || 0 >= f || g + e > a || h + f > b)\n return 2;\n a = e;\n b = f;\n }\n if (c.da) {\n e = [c.ib];\n f = [c.hb];\n if (!bc(a, b, e, f)) return 2;\n a = e[0];\n b = f[0];\n }\n }\n d.width = a;\n d.height = b;\n a: {\n var k = d.width;\n var l = d.height;\n a = d.S;\n if (0 >= k || 0 >= l || !(a >= Ca && 13 > a)) a = 2;\n else {\n if (0 >= d.Rd && null == d.sd) {\n var g = (f = e = b = 0),\n h = k * Dd[a],\n m = h * l;\n 11 > a ||\n ((b = (k + 1) / 2),\n (f = ((l + 1) / 2) * b),\n 12 == a && ((e = k), (g = e * l)));\n l = V(m + 2 * f + g);\n if (null == l) {\n a = 1;\n break a;\n }\n d.sd = l;\n 11 > a\n ? ((k = d.f.RGBA),\n (k.eb = l),\n (k.fb = 0),\n (k.A = h),\n (k.size = m))\n : ((k = d.f.kb),\n (k.y = l),\n (k.O = 0),\n (k.fa = h),\n (k.Fd = m),\n (k.f = l),\n (k.N = 0 + m),\n (k.Ab = b),\n (k.Cd = f),\n (k.ea = l),\n (k.W = 0 + m + f),\n (k.Db = b),\n (k.Ed = f),\n 12 == a && ((k.F = l), (k.J = 0 + m + 2 * f)),\n (k.Tc = g),\n (k.lb = e));\n }\n b = 1;\n e = d.S;\n f = d.width;\n g = d.height;\n if (e >= Ca && 13 > e)\n if (11 > e)\n (a = d.f.RGBA),\n (h = Math.abs(a.A)),\n (b &= h * (g - 1) + f <= a.size),\n (b &= h >= f * Dd[e]),\n (b &= null != a.eb);\n else {\n a = d.f.kb;\n h = (f + 1) / 2;\n m = (g + 1) / 2;\n k = Math.abs(a.fa);\n var l = Math.abs(a.Ab),\n n = Math.abs(a.Db),\n r = Math.abs(a.lb),\n q = r * (g - 1) + f;\n b &= k * (g - 1) + f <= a.Fd;\n b &= l * (m - 1) + h <= a.Cd;\n b &= n * (m - 1) + h <= a.Ed;\n b = b & (k >= f) & (l >= h) & (n >= h);\n b &= null != a.y;\n b &= null != a.f;\n b &= null != a.ea;\n 12 == e && ((b &= r >= f), (b &= q <= a.Tc), (b &= null != a.F));\n }\n else b = 0;\n a = b ? 0 : 2;\n }\n }\n if (0 != a) return a;\n null != c && c.fd && (a = Bd(d));\n return a;\n }\n var xb = 64,\n Hd = [\n 0,\n 1,\n 3,\n 7,\n 15,\n 31,\n 63,\n 127,\n 255,\n 511,\n 1023,\n 2047,\n 4095,\n 8191,\n 16383,\n 32767,\n 65535,\n 131071,\n 262143,\n 524287,\n 1048575,\n 2097151,\n 4194303,\n 8388607,\n 16777215\n ],\n Gd = 24,\n ob = 32,\n Xb = 8,\n Id = [\n 0,\n 0,\n 1,\n 1,\n 2,\n 2,\n 2,\n 2,\n 3,\n 3,\n 3,\n 3,\n 3,\n 3,\n 3,\n 3,\n 4,\n 4,\n 4,\n 4,\n 4,\n 4,\n 4,\n 4,\n 4,\n 4,\n 4,\n 4,\n 4,\n 4,\n 4,\n 4,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7\n ];\n X(\"Predictor0\", \"PredictorAdd0\");\n self.Predictor0 = function() {\n return 4278190080;\n };\n self.Predictor1 = function(a) {\n return a;\n };\n self.Predictor2 = function(a, b, c) {\n return b[c + 0];\n };\n self.Predictor3 = function(a, b, c) {\n return b[c + 1];\n };\n self.Predictor4 = function(a, b, c) {\n return b[c - 1];\n };\n self.Predictor5 = function(a, b, c) {\n return aa(aa(a, b[c + 1]), b[c + 0]);\n };\n self.Predictor6 = function(a, b, c) {\n return aa(a, b[c - 1]);\n };\n self.Predictor7 = function(a, b, c) {\n return aa(a, b[c + 0]);\n };\n self.Predictor8 = function(a, b, c) {\n return aa(b[c - 1], b[c + 0]);\n };\n self.Predictor9 = function(a, b, c) {\n return aa(b[c + 0], b[c + 1]);\n };\n self.Predictor10 = function(a, b, c) {\n return aa(aa(a, b[c - 1]), aa(b[c + 0], b[c + 1]));\n };\n self.Predictor11 = function(a, b, c) {\n var d = b[c + 0];\n b = b[c - 1];\n return 0 >=\n Ia((d >> 24) & 255, (a >> 24) & 255, (b >> 24) & 255) +\n Ia((d >> 16) & 255, (a >> 16) & 255, (b >> 16) & 255) +\n Ia((d >> 8) & 255, (a >> 8) & 255, (b >> 8) & 255) +\n Ia(d & 255, a & 255, b & 255)\n ? d\n : a;\n };\n self.Predictor12 = function(a, b, c) {\n var d = b[c + 0];\n b = b[c - 1];\n return (\n ((sa(((a >> 24) & 255) + ((d >> 24) & 255) - ((b >> 24) & 255)) << 24) |\n (sa(((a >> 16) & 255) + ((d >> 16) & 255) - ((b >> 16) & 255)) <<\n 16) |\n (sa(((a >> 8) & 255) + ((d >> 8) & 255) - ((b >> 8) & 255)) << 8) |\n sa((a & 255) + (d & 255) - (b & 255))) >>>\n 0\n );\n };\n self.Predictor13 = function(a, b, c) {\n var d = b[c - 1];\n a = aa(a, b[c + 0]);\n return (\n ((eb((a >> 24) & 255, (d >> 24) & 255) << 24) |\n (eb((a >> 16) & 255, (d >> 16) & 255) << 16) |\n (eb((a >> 8) & 255, (d >> 8) & 255) << 8) |\n eb((a >> 0) & 255, (d >> 0) & 255)) >>>\n 0\n );\n };\n var ee = self.PredictorAdd0;\n self.PredictorAdd1 = cc;\n X(\"Predictor2\", \"PredictorAdd2\");\n X(\"Predictor3\", \"PredictorAdd3\");\n X(\"Predictor4\", \"PredictorAdd4\");\n X(\"Predictor5\", \"PredictorAdd5\");\n X(\"Predictor6\", \"PredictorAdd6\");\n X(\"Predictor7\", \"PredictorAdd7\");\n X(\"Predictor8\", \"PredictorAdd8\");\n X(\"Predictor9\", \"PredictorAdd9\");\n X(\"Predictor10\", \"PredictorAdd10\");\n X(\"Predictor11\", \"PredictorAdd11\");\n X(\"Predictor12\", \"PredictorAdd12\");\n X(\"Predictor13\", \"PredictorAdd13\");\n var fe = self.PredictorAdd2;\n ec(\n \"ColorIndexInverseTransform\",\n \"MapARGB\",\n \"32b\",\n function(a) {\n return (a >> 8) & 255;\n },\n function(a) {\n return a;\n }\n );\n ec(\n \"VP8LColorIndexInverseTransformAlpha\",\n \"MapAlpha\",\n \"8b\",\n function(a) {\n return a;\n },\n function(a) {\n return (a >> 8) & 255;\n }\n );\n var rc = self.ColorIndexInverseTransform,\n ke = self.MapARGB,\n he = self.VP8LColorIndexInverseTransformAlpha,\n le = self.MapAlpha,\n pc,\n qc = (self.VP8LPredictorsAdd = []);\n qc.length = 16;\n (self.VP8LPredictors = []).length = 16;\n (self.VP8LPredictorsAdd_C = []).length = 16;\n (self.VP8LPredictors_C = []).length = 16;\n var Fb,\n sc,\n Gb,\n Hb,\n xc,\n uc,\n bd = V(511),\n cd = V(2041),\n dd = V(225),\n ed = V(767),\n ad = 0,\n Qb = cd,\n mb = dd,\n R = ed,\n U = bd,\n Ca = 0,\n Ua = 1,\n tc = 2,\n Va = 3,\n ya = 4,\n Db = 5,\n wc = 6,\n zb = 7,\n Ab = 8,\n Ja = 9,\n Bb = 10,\n pe = [2, 3, 7],\n oe = [3, 3, 11],\n Dc = [280, 256, 256, 256, 40],\n qe = [0, 1, 1, 1, 0],\n ne = [17, 18, 0, 1, 2, 3, 4, 5, 16, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15],\n de = [\n 24,\n 7,\n 23,\n 25,\n 40,\n 6,\n 39,\n 41,\n 22,\n 26,\n 38,\n 42,\n 56,\n 5,\n 55,\n 57,\n 21,\n 27,\n 54,\n 58,\n 37,\n 43,\n 72,\n 4,\n 71,\n 73,\n 20,\n 28,\n 53,\n 59,\n 70,\n 74,\n 36,\n 44,\n 88,\n 69,\n 75,\n 52,\n 60,\n 3,\n 87,\n 89,\n 19,\n 29,\n 86,\n 90,\n 35,\n 45,\n 68,\n 76,\n 85,\n 91,\n 51,\n 61,\n 104,\n 2,\n 103,\n 105,\n 18,\n 30,\n 102,\n 106,\n 34,\n 46,\n 84,\n 92,\n 67,\n 77,\n 101,\n 107,\n 50,\n 62,\n 120,\n 1,\n 119,\n 121,\n 83,\n 93,\n 17,\n 31,\n 100,\n 108,\n 66,\n 78,\n 118,\n 122,\n 33,\n 47,\n 117,\n 123,\n 49,\n 63,\n 99,\n 109,\n 82,\n 94,\n 0,\n 116,\n 124,\n 65,\n 79,\n 16,\n 32,\n 98,\n 110,\n 48,\n 115,\n 125,\n 81,\n 95,\n 64,\n 114,\n 126,\n 97,\n 111,\n 80,\n 113,\n 127,\n 96,\n 112\n ],\n me = [\n 2954,\n 2956,\n 2958,\n 2962,\n 2970,\n 2986,\n 3018,\n 3082,\n 3212,\n 3468,\n 3980,\n 5004\n ],\n ie = 8,\n Lb = [\n 4,\n 5,\n 6,\n 7,\n 8,\n 9,\n 10,\n 10,\n 11,\n 12,\n 13,\n 14,\n 15,\n 16,\n 17,\n 17,\n 18,\n 19,\n 20,\n 20,\n 21,\n 21,\n 22,\n 22,\n 23,\n 23,\n 24,\n 25,\n 25,\n 26,\n 27,\n 28,\n 29,\n 30,\n 31,\n 32,\n 33,\n 34,\n 35,\n 36,\n 37,\n 37,\n 38,\n 39,\n 40,\n 41,\n 42,\n 43,\n 44,\n 45,\n 46,\n 46,\n 47,\n 48,\n 49,\n 50,\n 51,\n 52,\n 53,\n 54,\n 55,\n 56,\n 57,\n 58,\n 59,\n 60,\n 61,\n 62,\n 63,\n 64,\n 65,\n 66,\n 67,\n 68,\n 69,\n 70,\n 71,\n 72,\n 73,\n 74,\n 75,\n 76,\n 76,\n 77,\n 78,\n 79,\n 80,\n 81,\n 82,\n 83,\n 84,\n 85,\n 86,\n 87,\n 88,\n 89,\n 91,\n 93,\n 95,\n 96,\n 98,\n 100,\n 101,\n 102,\n 104,\n 106,\n 108,\n 110,\n 112,\n 114,\n 116,\n 118,\n 122,\n 124,\n 126,\n 128,\n 130,\n 132,\n 134,\n 136,\n 138,\n 140,\n 143,\n 145,\n 148,\n 151,\n 154,\n 157\n ],\n Mb = [\n 4,\n 5,\n 6,\n 7,\n 8,\n 9,\n 10,\n 11,\n 12,\n 13,\n 14,\n 15,\n 16,\n 17,\n 18,\n 19,\n 20,\n 21,\n 22,\n 23,\n 24,\n 25,\n 26,\n 27,\n 28,\n 29,\n 30,\n 31,\n 32,\n 33,\n 34,\n 35,\n 36,\n 37,\n 38,\n 39,\n 40,\n 41,\n 42,\n 43,\n 44,\n 45,\n 46,\n 47,\n 48,\n 49,\n 50,\n 51,\n 52,\n 53,\n 54,\n 55,\n 56,\n 57,\n 58,\n 60,\n 62,\n 64,\n 66,\n 68,\n 70,\n 72,\n 74,\n 76,\n 78,\n 80,\n 82,\n 84,\n 86,\n 88,\n 90,\n 92,\n 94,\n 96,\n 98,\n 100,\n 102,\n 104,\n 106,\n 108,\n 110,\n 112,\n 114,\n 116,\n 119,\n 122,\n 125,\n 128,\n 131,\n 134,\n 137,\n 140,\n 143,\n 146,\n 149,\n 152,\n 155,\n 158,\n 161,\n 164,\n 167,\n 170,\n 173,\n 177,\n 181,\n 185,\n 189,\n 193,\n 197,\n 201,\n 205,\n 209,\n 213,\n 217,\n 221,\n 225,\n 229,\n 234,\n 239,\n 245,\n 249,\n 254,\n 259,\n 264,\n 269,\n 274,\n 279,\n 284\n ],\n oa = null,\n He = [\n [173, 148, 140, 0],\n [176, 155, 140, 135, 0],\n [180, 157, 141, 134, 130, 0],\n [254, 254, 243, 230, 196, 177, 153, 140, 133, 130, 129, 0]\n ],\n Ie = [0, 1, 4, 8, 5, 2, 3, 6, 9, 12, 13, 10, 7, 11, 14, 15],\n Mc = [-0, 1, -1, 2, -2, 3, 4, 6, -3, 5, -4, -5, -6, 7, -7, 8, -8, -9],\n Fe = [\n [\n [\n [128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128],\n [128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128],\n [128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128]\n ],\n [\n [253, 136, 254, 255, 228, 219, 128, 128, 128, 128, 128],\n [189, 129, 242, 255, 227, 213, 255, 219, 128, 128, 128],\n [106, 126, 227, 252, 214, 209, 255, 255, 128, 128, 128]\n ],\n [\n [1, 98, 248, 255, 236, 226, 255, 255, 128, 128, 128],\n [181, 133, 238, 254, 221, 234, 255, 154, 128, 128, 128],\n [78, 134, 202, 247, 198, 180, 255, 219, 128, 128, 128]\n ],\n [\n [1, 185, 249, 255, 243, 255, 128, 128, 128, 128, 128],\n [184, 150, 247, 255, 236, 224, 128, 128, 128, 128, 128],\n [77, 110, 216, 255, 236, 230, 128, 128, 128, 128, 128]\n ],\n [\n [1, 101, 251, 255, 241, 255, 128, 128, 128, 128, 128],\n [170, 139, 241, 252, 236, 209, 255, 255, 128, 128, 128],\n [37, 116, 196, 243, 228, 255, 255, 255, 128, 128, 128]\n ],\n [\n [1, 204, 254, 255, 245, 255, 128, 128, 128, 128, 128],\n [207, 160, 250, 255, 238, 128, 128, 128, 128, 128, 128],\n [102, 103, 231, 255, 211, 171, 128, 128, 128, 128, 128]\n ],\n [\n [1, 152, 252, 255, 240, 255, 128, 128, 128, 128, 128],\n [177, 135, 243, 255, 234, 225, 128, 128, 128, 128, 128],\n [80, 129, 211, 255, 194, 224, 128, 128, 128, 128, 128]\n ],\n [\n [1, 1, 255, 128, 128, 128, 128, 128, 128, 128, 128],\n [246, 1, 255, 128, 128, 128, 128, 128, 128, 128, 128],\n [255, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128]\n ]\n ],\n [\n [\n [198, 35, 237, 223, 193, 187, 162, 160, 145, 155, 62],\n [131, 45, 198, 221, 172, 176, 220, 157, 252, 221, 1],\n [68, 47, 146, 208, 149, 167, 221, 162, 255, 223, 128]\n ],\n [\n [1, 149, 241, 255, 221, 224, 255, 255, 128, 128, 128],\n [184, 141, 234, 253, 222, 220, 255, 199, 128, 128, 128],\n [81, 99, 181, 242, 176, 190, 249, 202, 255, 255, 128]\n ],\n [\n [1, 129, 232, 253, 214, 197, 242, 196, 255, 255, 128],\n [99, 121, 210, 250, 201, 198, 255, 202, 128, 128, 128],\n [23, 91, 163, 242, 170, 187, 247, 210, 255, 255, 128]\n ],\n [\n [1, 200, 246, 255, 234, 255, 128, 128, 128, 128, 128],\n [109, 178, 241, 255, 231, 245, 255, 255, 128, 128, 128],\n [44, 130, 201, 253, 205, 192, 255, 255, 128, 128, 128]\n ],\n [\n [1, 132, 239, 251, 219, 209, 255, 165, 128, 128, 128],\n [94, 136, 225, 251, 218, 190, 255, 255, 128, 128, 128],\n [22, 100, 174, 245, 186, 161, 255, 199, 128, 128, 128]\n ],\n [\n [1, 182, 249, 255, 232, 235, 128, 128, 128, 128, 128],\n [124, 143, 241, 255, 227, 234, 128, 128, 128, 128, 128],\n [35, 77, 181, 251, 193, 211, 255, 205, 128, 128, 128]\n ],\n [\n [1, 157, 247, 255, 236, 231, 255, 255, 128, 128, 128],\n [121, 141, 235, 255, 225, 227, 255, 255, 128, 128, 128],\n [45, 99, 188, 251, 195, 217, 255, 224, 128, 128, 128]\n ],\n [\n [1, 1, 251, 255, 213, 255, 128, 128, 128, 128, 128],\n [203, 1, 248, 255, 255, 128, 128, 128, 128, 128, 128],\n [137, 1, 177, 255, 224, 255, 128, 128, 128, 128, 128]\n ]\n ],\n [\n [\n [253, 9, 248, 251, 207, 208, 255, 192, 128, 128, 128],\n [175, 13, 224, 243, 193, 185, 249, 198, 255, 255, 128],\n [73, 17, 171, 221, 161, 179, 236, 167, 255, 234, 128]\n ],\n [\n [1, 95, 247, 253, 212, 183, 255, 255, 128, 128, 128],\n [239, 90, 244, 250, 211, 209, 255, 255, 128, 128, 128],\n [155, 77, 195, 248, 188, 195, 255, 255, 128, 128, 128]\n ],\n [\n [1, 24, 239, 251, 218, 219, 255, 205, 128, 128, 128],\n [201, 51, 219, 255, 196, 186, 128, 128, 128, 128, 128],\n [69, 46, 190, 239, 201, 218, 255, 228, 128, 128, 128]\n ],\n [\n [1, 191, 251, 255, 255, 128, 128, 128, 128, 128, 128],\n [223, 165, 249, 255, 213, 255, 128, 128, 128, 128, 128],\n [141, 124, 248, 255, 255, 128, 128, 128, 128, 128, 128]\n ],\n [\n [1, 16, 248, 255, 255, 128, 128, 128, 128, 128, 128],\n [190, 36, 230, 255, 236, 255, 128, 128, 128, 128, 128],\n [149, 1, 255, 128, 128, 128, 128, 128, 128, 128, 128]\n ],\n [\n [1, 226, 255, 128, 128, 128, 128, 128, 128, 128, 128],\n [247, 192, 255, 128, 128, 128, 128, 128, 128, 128, 128],\n [240, 128, 255, 128, 128, 128, 128, 128, 128, 128, 128]\n ],\n [\n [1, 134, 252, 255, 255, 128, 128, 128, 128, 128, 128],\n [213, 62, 250, 255, 255, 128, 128, 128, 128, 128, 128],\n [55, 93, 255, 128, 128, 128, 128, 128, 128, 128, 128]\n ],\n [\n [128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128],\n [128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128],\n [128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128]\n ]\n ],\n [\n [\n [202, 24, 213, 235, 186, 191, 220, 160, 240, 175, 255],\n [126, 38, 182, 232, 169, 184, 228, 174, 255, 187, 128],\n [61, 46, 138, 219, 151, 178, 240, 170, 255, 216, 128]\n ],\n [\n [1, 112, 230, 250, 199, 191, 247, 159, 255, 255, 128],\n [166, 109, 228, 252, 211, 215, 255, 174, 128, 128, 128],\n [39, 77, 162, 232, 172, 180, 245, 178, 255, 255, 128]\n ],\n [\n [1, 52, 220, 246, 198, 199, 249, 220, 255, 255, 128],\n [124, 74, 191, 243, 183, 193, 250, 221, 255, 255, 128],\n [24, 71, 130, 219, 154, 170, 243, 182, 255, 255, 128]\n ],\n [\n [1, 182, 225, 249, 219, 240, 255, 224, 128, 128, 128],\n [149, 150, 226, 252, 216, 205, 255, 171, 128, 128, 128],\n [28, 108, 170, 242, 183, 194, 254, 223, 255, 255, 128]\n ],\n [\n [1, 81, 230, 252, 204, 203, 255, 192, 128, 128, 128],\n [123, 102, 209, 247, 188, 196, 255, 233, 128, 128, 128],\n [20, 95, 153, 243, 164, 173, 255, 203, 128, 128, 128]\n ],\n [\n [1, 222, 248, 255, 216, 213, 128, 128, 128, 128, 128],\n [168, 175, 246, 252, 235, 205, 255, 255, 128, 128, 128],\n [47, 116, 215, 255, 211, 212, 255, 255, 128, 128, 128]\n ],\n [\n [1, 121, 236, 253, 212, 214, 255, 255, 128, 128, 128],\n [141, 84, 213, 252, 201, 202, 255, 219, 128, 128, 128],\n [42, 80, 160, 240, 162, 185, 255, 205, 128, 128, 128]\n ],\n [\n [1, 1, 255, 128, 128, 128, 128, 128, 128, 128, 128],\n [244, 1, 255, 128, 128, 128, 128, 128, 128, 128, 128],\n [238, 1, 255, 128, 128, 128, 128, 128, 128, 128, 128]\n ]\n ]\n ],\n Ke = [\n [\n [231, 120, 48, 89, 115, 113, 120, 152, 112],\n [152, 179, 64, 126, 170, 118, 46, 70, 95],\n [175, 69, 143, 80, 85, 82, 72, 155, 103],\n [56, 58, 10, 171, 218, 189, 17, 13, 152],\n [114, 26, 17, 163, 44, 195, 21, 10, 173],\n [121, 24, 80, 195, 26, 62, 44, 64, 85],\n [144, 71, 10, 38, 171, 213, 144, 34, 26],\n [170, 46, 55, 19, 136, 160, 33, 206, 71],\n [63, 20, 8, 114, 114, 208, 12, 9, 226],\n [81, 40, 11, 96, 182, 84, 29, 16, 36]\n ],\n [\n [134, 183, 89, 137, 98, 101, 106, 165, 148],\n [72, 187, 100, 130, 157, 111, 32, 75, 80],\n [66, 102, 167, 99, 74, 62, 40, 234, 128],\n [41, 53, 9, 178, 241, 141, 26, 8, 107],\n [74, 43, 26, 146, 73, 166, 49, 23, 157],\n [65, 38, 105, 160, 51, 52, 31, 115, 128],\n [104, 79, 12, 27, 217, 255, 87, 17, 7],\n [87, 68, 71, 44, 114, 51, 15, 186, 23],\n [47, 41, 14, 110, 182, 183, 21, 17, 194],\n [66, 45, 25, 102, 197, 189, 23, 18, 22]\n ],\n [\n [88, 88, 147, 150, 42, 46, 45, 196, 205],\n [43, 97, 183, 117, 85, 38, 35, 179, 61],\n [39, 53, 200, 87, 26, 21, 43, 232, 171],\n [56, 34, 51, 104, 114, 102, 29, 93, 77],\n [39, 28, 85, 171, 58, 165, 90, 98, 64],\n [34, 22, 116, 206, 23, 34, 43, 166, 73],\n [107, 54, 32, 26, 51, 1, 81, 43, 31],\n [68, 25, 106, 22, 64, 171, 36, 225, 114],\n [34, 19, 21, 102, 132, 188, 16, 76, 124],\n [62, 18, 78, 95, 85, 57, 50, 48, 51]\n ],\n [\n [193, 101, 35, 159, 215, 111, 89, 46, 111],\n [60, 148, 31, 172, 219, 228, 21, 18, 111],\n [112, 113, 77, 85, 179, 255, 38, 120, 114],\n [40, 42, 1, 196, 245, 209, 10, 25, 109],\n [88, 43, 29, 140, 166, 213, 37, 43, 154],\n [61, 63, 30, 155, 67, 45, 68, 1, 209],\n [100, 80, 8, 43, 154, 1, 51, 26, 71],\n [142, 78, 78, 16, 255, 128, 34, 197, 171],\n [41, 40, 5, 102, 211, 183, 4, 1, 221],\n [51, 50, 17, 168, 209, 192, 23, 25, 82]\n ],\n [\n [138, 31, 36, 171, 27, 166, 38, 44, 229],\n [67, 87, 58, 169, 82, 115, 26, 59, 179],\n [63, 59, 90, 180, 59, 166, 93, 73, 154],\n [40, 40, 21, 116, 143, 209, 34, 39, 175],\n [47, 15, 16, 183, 34, 223, 49, 45, 183],\n [46, 17, 33, 183, 6, 98, 15, 32, 183],\n [57, 46, 22, 24, 128, 1, 54, 17, 37],\n [65, 32, 73, 115, 28, 128, 23, 128, 205],\n [40, 3, 9, 115, 51, 192, 18, 6, 223],\n [87, 37, 9, 115, 59, 77, 64, 21, 47]\n ],\n [\n [104, 55, 44, 218, 9, 54, 53, 130, 226],\n [64, 90, 70, 205, 40, 41, 23, 26, 57],\n [54, 57, 112, 184, 5, 41, 38, 166, 213],\n [30, 34, 26, 133, 152, 116, 10, 32, 134],\n [39, 19, 53, 221, 26, 114, 32, 73, 255],\n [31, 9, 65, 234, 2, 15, 1, 118, 73],\n [75, 32, 12, 51, 192, 255, 160, 43, 51],\n [88, 31, 35, 67, 102, 85, 55, 186, 85],\n [56, 21, 23, 111, 59, 205, 45, 37, 192],\n [55, 38, 70, 124, 73, 102, 1, 34, 98]\n ],\n [\n [125, 98, 42, 88, 104, 85, 117, 175, 82],\n [95, 84, 53, 89, 128, 100, 113, 101, 45],\n [75, 79, 123, 47, 51, 128, 81, 171, 1],\n [57, 17, 5, 71, 102, 57, 53, 41, 49],\n [38, 33, 13, 121, 57, 73, 26, 1, 85],\n [41, 10, 67, 138, 77, 110, 90, 47, 114],\n [115, 21, 2, 10, 102, 255, 166, 23, 6],\n [101, 29, 16, 10, 85, 128, 101, 196, 26],\n [57, 18, 10, 102, 102, 213, 34, 20, 43],\n [117, 20, 15, 36, 163, 128, 68, 1, 26]\n ],\n [\n [102, 61, 71, 37, 34, 53, 31, 243, 192],\n [69, 60, 71, 38, 73, 119, 28, 222, 37],\n [68, 45, 128, 34, 1, 47, 11, 245, 171],\n [62, 17, 19, 70, 146, 85, 55, 62, 70],\n [37, 43, 37, 154, 100, 163, 85, 160, 1],\n [63, 9, 92, 136, 28, 64, 32, 201, 85],\n [75, 15, 9, 9, 64, 255, 184, 119, 16],\n [86, 6, 28, 5, 64, 255, 25, 248, 1],\n [56, 8, 17, 132, 137, 255, 55, 116, 128],\n [58, 15, 20, 82, 135, 57, 26, 121, 40]\n ],\n [\n [164, 50, 31, 137, 154, 133, 25, 35, 218],\n [51, 103, 44, 131, 131, 123, 31, 6, 158],\n [86, 40, 64, 135, 148, 224, 45, 183, 128],\n [22, 26, 17, 131, 240, 154, 14, 1, 209],\n [45, 16, 21, 91, 64, 222, 7, 1, 197],\n [56, 21, 39, 155, 60, 138, 23, 102, 213],\n [83, 12, 13, 54, 192, 255, 68, 47, 28],\n [85, 26, 85, 85, 128, 128, 32, 146, 171],\n [18, 11, 7, 63, 144, 171, 4, 4, 246],\n [35, 27, 10, 146, 174, 171, 12, 26, 128]\n ],\n [\n [190, 80, 35, 99, 180, 80, 126, 54, 45],\n [85, 126, 47, 87, 176, 51, 41, 20, 32],\n [101, 75, 128, 139, 118, 146, 116, 128, 85],\n [56, 41, 15, 176, 236, 85, 37, 9, 62],\n [71, 30, 17, 119, 118, 255, 17, 18, 138],\n [101, 38, 60, 138, 55, 70, 43, 26, 142],\n [146, 36, 19, 30, 171, 255, 97, 27, 20],\n [138, 45, 61, 62, 219, 1, 81, 188, 64],\n [32, 41, 20, 117, 151, 142, 20, 21, 163],\n [112, 19, 12, 61, 195, 128, 48, 4, 24]\n ]\n ],\n Ee = [\n [\n [\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [176, 246, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [223, 241, 252, 255, 255, 255, 255, 255, 255, 255, 255],\n [249, 253, 253, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 244, 252, 255, 255, 255, 255, 255, 255, 255, 255],\n [234, 254, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [253, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 246, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [239, 253, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [254, 255, 254, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 248, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [251, 255, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 253, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [251, 254, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [254, 255, 254, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 254, 253, 255, 254, 255, 255, 255, 255, 255, 255],\n [250, 255, 254, 255, 254, 255, 255, 255, 255, 255, 255],\n [254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ]\n ],\n [\n [\n [217, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [225, 252, 241, 253, 255, 255, 254, 255, 255, 255, 255],\n [234, 250, 241, 250, 253, 255, 253, 254, 255, 255, 255]\n ],\n [\n [255, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [223, 254, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [238, 253, 254, 254, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 248, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [249, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 253, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [247, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 253, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [252, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 254, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [253, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 254, 253, 255, 255, 255, 255, 255, 255, 255, 255],\n [250, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ]\n ],\n [\n [\n [186, 251, 250, 255, 255, 255, 255, 255, 255, 255, 255],\n [234, 251, 244, 254, 255, 255, 255, 255, 255, 255, 255],\n [251, 251, 243, 253, 254, 255, 254, 255, 255, 255, 255]\n ],\n [\n [255, 253, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [236, 253, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [251, 253, 253, 254, 254, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 254, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [254, 254, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [254, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ]\n ],\n [\n [\n [248, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [250, 254, 252, 254, 255, 255, 255, 255, 255, 255, 255],\n [248, 254, 249, 253, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 253, 253, 255, 255, 255, 255, 255, 255, 255, 255],\n [246, 253, 253, 255, 255, 255, 255, 255, 255, 255, 255],\n [252, 254, 251, 254, 254, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 254, 252, 255, 255, 255, 255, 255, 255, 255, 255],\n [248, 254, 253, 255, 255, 255, 255, 255, 255, 255, 255],\n [253, 255, 254, 254, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 251, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [245, 251, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [253, 253, 254, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 251, 253, 255, 255, 255, 255, 255, 255, 255, 255],\n [252, 253, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 252, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [249, 255, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 254, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 255, 253, 255, 255, 255, 255, 255, 255, 255, 255],\n [250, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ]\n ]\n ],\n Ge = [0, 1, 2, 3, 6, 4, 5, 6, 6, 6, 6, 6, 6, 6, 6, 7, 0],\n Nc,\n Y = [],\n W = [],\n ka = [],\n Za,\n fd,\n Nb,\n pa,\n Ob,\n Xc,\n Tc,\n Yc,\n Uc,\n Zc,\n Vc,\n $c,\n Wc,\n Rc,\n Pc,\n Sc,\n Qc,\n re = 1,\n Cc = 2,\n ia = [],\n za,\n vc,\n fc,\n Fc,\n P = [];\n va(\"UpsampleRgbLinePair\", Ga, 3);\n va(\"UpsampleBgrLinePair\", Tb, 3);\n va(\"UpsampleRgbaLinePair\", wd, 4);\n va(\"UpsampleBgraLinePair\", vd, 4);\n va(\"UpsampleArgbLinePair\", ud, 4);\n va(\"UpsampleRgba4444LinePair\", td, 2);\n va(\"UpsampleRgb565LinePair\", sd, 2);\n var Mf = self.UpsampleRgbLinePair,\n Nf = self.UpsampleBgrLinePair,\n nd = self.UpsampleRgbaLinePair,\n od = self.UpsampleBgraLinePair,\n pd = self.UpsampleArgbLinePair,\n qd = self.UpsampleRgba4444LinePair,\n Of = self.UpsampleRgb565LinePair,\n Wa = 16,\n Ba = 1 << (Wa - 1),\n ta = -227,\n Eb = 482,\n rd = 6,\n Pf = (256 << rd) - 1,\n jc = 0,\n Yd = V(256),\n ae = V(256),\n $d = V(256),\n Zd = V(256),\n be = V(Eb - ta),\n ce = V(Eb - ta);\n la(\"YuvToRgbRow\", Ga, 3);\n la(\"YuvToBgrRow\", Tb, 3);\n la(\"YuvToRgbaRow\", wd, 4);\n la(\"YuvToBgraRow\", vd, 4);\n la(\"YuvToArgbRow\", ud, 4);\n la(\"YuvToRgba4444Row\", td, 2);\n la(\"YuvToRgb565Row\", sd, 2);\n var zd = [\n 0,\n 4,\n 8,\n 12,\n 128,\n 132,\n 136,\n 140,\n 256,\n 260,\n 264,\n 268,\n 384,\n 388,\n 392,\n 396\n ],\n Ya = [0, 2, 8],\n Qf = [8, 7, 6, 4, 4, 2, 2, 2, 1, 1, 1, 1],\n Ne = 1;\n this.WebPDecodeRGBA = function(a, b, c, d, e) {\n var f = Ua;\n var g = new Cf(),\n h = new Cb();\n g.ba = h;\n h.S = f;\n h.width = [h.width];\n h.height = [h.height];\n var k = h.width;\n var l = h.height,\n m = new Td();\n if (null == m || null == a) var n = 2;\n else\n x(null != m),\n (n = Ad(a, b, c, m.width, m.height, m.Pd, m.Qd, m.format, null));\n 0 != n\n ? (k = 0)\n : (null != k && (k[0] = m.width[0]),\n null != l && (l[0] = m.height[0]),\n (k = 1));\n if (k) {\n h.width = h.width[0];\n h.height = h.height[0];\n null != d && (d[0] = h.width);\n null != e && (e[0] = h.height);\n b: {\n d = new Oa();\n e = new md();\n e.data = a;\n e.w = b;\n e.ha = c;\n e.kd = 1;\n b = [0];\n x(null != e);\n a = Ad(e.data, e.w, e.ha, null, null, null, b, null, e);\n (0 == a || 7 == a) && b[0] && (a = 4);\n b = a;\n if (0 == b) {\n x(null != g);\n d.data = e.data;\n d.w = e.w + e.offset;\n d.ha = e.ha - e.offset;\n d.put = kc;\n d.ac = gc;\n d.bc = lc;\n d.ma = g;\n if (e.xa) {\n a = Bc();\n if (null == a) {\n g = 1;\n break b;\n }\n if (te(a, d)) {\n b = Cd(d.width, d.height, g.Oa, g.ba);\n if ((d = 0 == b)) {\n c: {\n d = a;\n d: for (;;) {\n if (null == d) {\n d = 0;\n break c;\n }\n x(null != d.s.yc);\n x(null != d.s.Ya);\n x(0 < d.s.Wb);\n c = d.l;\n x(null != c);\n e = c.ma;\n x(null != e);\n if (0 != d.xb) {\n d.ca = e.ba;\n d.tb = e.tb;\n x(null != d.ca);\n if (!hc(e.Oa, c, Va)) {\n d.a = 2;\n break d;\n }\n if (!Ec(d, c.width)) break d;\n if (c.da) break d;\n (c.da || hb(d.ca.S)) && Aa();\n 11 > d.ca.S ||\n (alert(\"todo:WebPInitConvertARGBToYUV\"),\n null != d.ca.f.kb.F && Aa());\n if (\n d.Pb &&\n 0 < d.s.ua &&\n null == d.s.vb.X &&\n !Zb(d.s.vb, d.s.Wa.Xa)\n ) {\n d.a = 1;\n break d;\n }\n d.xb = 0;\n }\n if (!Jb(d, d.V, d.Ba, d.c, d.i, c.o, ge)) break d;\n e.Dc = d.Ma;\n d = 1;\n break c;\n }\n x(0 != d.a);\n d = 0;\n }\n d = !d;\n }\n d && (b = a.a);\n } else b = a.a;\n } else {\n a = new Ce();\n if (null == a) {\n g = 1;\n break b;\n }\n a.Fa = e.na;\n a.P = e.P;\n a.qc = e.Sa;\n if (Kc(a, d)) {\n if (((b = Cd(d.width, d.height, g.Oa, g.ba)), 0 == b)) {\n a.Aa = 0;\n c = g.Oa;\n e = a;\n x(null != e);\n if (null != c) {\n k = c.Md;\n k = 0 > k ? 0 : 100 < k ? 255 : (255 * k) / 100;\n if (0 < k) {\n for (l = m = 0; 4 > l; ++l)\n (n = e.pb[l]),\n 12 > n.lc &&\n (n.ia = (k * Qf[0 > n.lc ? 0 : n.lc]) >> 3),\n (m |= n.ia);\n m && (alert(\"todo:VP8InitRandom\"), (e.ia = 1));\n }\n e.Ga = c.Id;\n 100 < e.Ga ? (e.Ga = 100) : 0 > e.Ga && (e.Ga = 0);\n }\n Me(a, d) || (b = a.a);\n }\n } else b = a.a;\n }\n 0 == b && null != g.Oa && g.Oa.fd && (b = Bd(g.ba));\n }\n g = b;\n }\n f = 0 != g ? null : 11 > f ? h.f.RGBA.eb : h.f.kb.y;\n } else f = null;\n return f;\n };\n var Dd = [3, 4, 3, 4, 4, 2, 2, 4, 4, 4, 2, 1, 1];\n };\n new _WebPDecoder();\n\n /** @license\n * Copyright (c) 2017 Dominik Homberger\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n\nhttps://webpjs.appspot.com\nWebPRiffParser dominikhlbg@gmail.com\n*/\n\n function memcmp(data, data_off, str, size) {\n for (var i = 0; i < size; i++)\n if (data[data_off + i] != str.charCodeAt(i)) return true;\n return false;\n }\n\n function GetTag(data, data_off) {\n var str = \"\";\n for (var i = 0; i < 4; i++) str += String.fromCharCode(data[data_off++]);\n return str;\n }\n\n function GetLE16(data, data_off) {\n return (data[data_off + 0] << 0) | (data[data_off + 1] << 8);\n }\n\n function GetLE24(data, data_off) {\n return (\n ((data[data_off + 0] << 0) |\n (data[data_off + 1] << 8) |\n (data[data_off + 2] << 16)) >>>\n 0\n );\n }\n\n function GetLE32(data, data_off) {\n return (\n ((data[data_off + 0] << 0) |\n (data[data_off + 1] << 8) |\n (data[data_off + 2] << 16) |\n (data[data_off + 3] << 24)) >>>\n 0\n );\n }\n\n function WebPRiffParser(src, src_off) {\n var imagearray = {};\n var i = 0;\n var alpha_chunk = false;\n var alpha_size = 0;\n var alpha_offset = 0;\n imagearray[\"frames\"] = [];\n if (memcmp(src, src_off, \"RIFF\", 4)) return;\n src_off += 4;\n var riff_size = GetLE32(src, src_off) + 8;\n src_off += 8;\n\n while (src_off < src.length) {\n var fourcc = GetTag(src, src_off);\n src_off += 4;\n\n var payload_size = GetLE32(src, src_off);\n src_off += 4;\n var payload_size_padded = payload_size + (payload_size & 1);\n\n switch (fourcc) {\n case \"VP8 \":\n case \"VP8L\":\n if (typeof imagearray[\"frames\"][i] === \"undefined\")\n imagearray[\"frames\"][i] = {};\n var obj = imagearray[\"frames\"][i];\n var height = [0];\n var width = [0];\n obj[\"src_off\"] = alpha_chunk ? alpha_offset : src_off - 8;\n obj[\"src_size\"] = alpha_size + payload_size + 8;\n //var rgba = webpdecoder.WebPDecodeRGBA(src,(alpha_chunk?alpha_offset:src_off-8),alpha_size+payload_size+8,width,height);\n //imagearray[i]={'rgba':rgba,'width':width[0],'height':height[0]};\n i++;\n if (alpha_chunk) {\n alpha_chunk = false;\n alpha_size = 0;\n alpha_offset = 0;\n }\n break;\n case \"VP8X\":\n var obj = (imagearray[\"header\"] = {});\n var feature_flags = (obj[\"feature_flags\"] = src[src_off]);\n var src_off_ = src_off + 4;\n var canvas_width = (obj[\"canvas_width\"] = 1 + GetLE24(src, src_off_));\n src_off_ += 3;\n var canvas_height = (obj[\"canvas_height\"] =\n 1 + GetLE24(src, src_off_));\n src_off_ += 3;\n break;\n case \"ALPH\":\n alpha_chunk = true;\n alpha_size = payload_size_padded + 8;\n alpha_offset = src_off - 8;\n break;\n\n case \"ANIM\":\n var obj = imagearray[\"header\"];\n var bgcolor = (obj[\"bgcolor\"] = GetLE32(src, src_off));\n src_off_ = src_off + 4;\n\n var loop_count = (obj[\"loop_count\"] = GetLE16(src, src_off_));\n src_off_ += 2;\n break;\n case \"ANMF\":\n var offset_x = 0,\n offset_y = 0,\n width = 0,\n height = 0,\n duration = 0,\n blend = 0,\n dispose = 0,\n temp = 0;\n var obj = (imagearray[\"frames\"][i] = {});\n obj[\"offset_x\"] = offset_x = 2 * GetLE24(src, src_off);\n src_off += 3;\n obj[\"offset_y\"] = offset_y = 2 * GetLE24(src, src_off);\n src_off += 3;\n obj[\"width\"] = width = 1 + GetLE24(src, src_off);\n src_off += 3;\n obj[\"height\"] = height = 1 + GetLE24(src, src_off);\n src_off += 3;\n obj[\"duration\"] = duration = GetLE24(src, src_off);\n src_off += 3;\n temp = src[src_off++];\n obj[\"dispose\"] = dispose = temp & 1;\n obj[\"blend\"] = blend = (temp >> 1) & 1;\n break;\n default:\n }\n if (fourcc != \"ANMF\") src_off += payload_size_padded;\n }\n return imagearray;\n }\n\n var height = [0];\n var width = [0];\n var pixels = [];\n var webpdecoder = new _WebPDecoder();\n\n var response = imageData;\n var imagearray = WebPRiffParser(response, 0);\n imagearray[\"response\"] = response;\n imagearray[\"rgbaoutput\"] = true;\n imagearray[\"dataurl\"] = false;\n\n var header = imagearray[\"header\"] ? imagearray[\"header\"] : null;\n var frames = imagearray[\"frames\"] ? imagearray[\"frames\"] : null;\n\n if (header) {\n header[\"loop_counter\"] = header[\"loop_count\"];\n height = [header[\"canvas_height\"]];\n width = [header[\"canvas_width\"]];\n\n var blend = false;\n for (var f = 0; f < frames.length; f++)\n if (frames[f][\"blend\"] == 0) {\n blend = true;\n break;\n }\n }\n\n var frame = frames[0];\n var rgba = webpdecoder.WebPDecodeRGBA(\n response,\n frame[\"src_off\"],\n frame[\"src_size\"],\n width,\n height\n );\n frame[\"rgba\"] = rgba;\n frame[\"imgwidth\"] = width[0];\n frame[\"imgheight\"] = height[0];\n\n for (var i = 0; i < width[0] * height[0] * 4; i++) {\n pixels[i] = rgba[i];\n }\n\n this.width = width;\n this.height = height;\n this.data = pixels;\n return this;\n}\n\nWebPDecoder.prototype.getData = function() {\n return this.data;\n};\n\nexport { WebPDecoder };\n","/**\n * @license\n *\n * Copyright (c) 2014 James Robb, https://github.com/jamesbrobb\n *\n * Permission is hereby granted, free of charge, to any person obtaining\n * a copy of this software and associated documentation files (the\n * \"Software\"), to deal in the Software without restriction, including\n * without limitation the rights to use, copy, modify, merge, publish,\n * distribute, sublicense, and/or sell copies of the Software, and to\n * permit persons to whom the Software is furnished to do so, subject to\n * the following conditions:\n *\n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\n * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\n * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\n * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n * ====================================================================\n */\n\nimport { jsPDF } from \"../jspdf.js\";\nimport { zlibSync } from \"../libs/fflate.js\";\nimport { PNG } from \"../libs/png.js\";\n\n/**\n * jsPDF PNG PlugIn\n * @name png_support\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n\n /*\n * @see http://www.w3.org/TR/PNG-Chunks.html\n *\n Color Allowed Interpretation\n Type Bit Depths\n\n 0 1,2,4,8,16 Each pixel is a grayscale sample.\n\n 2 8,16 Each pixel is an R,G,B triple.\n\n 3 1,2,4,8 Each pixel is a palette index;\n a PLTE chunk must appear.\n\n 4 8,16 Each pixel is a grayscale sample,\n followed by an alpha sample.\n\n 6 8,16 Each pixel is an R,G,B triple,\n followed by an alpha sample.\n */\n\n /*\n * PNG filter method types\n *\n * @see http://www.w3.org/TR/PNG-Filters.html\n * @see http://www.libpng.org/pub/png/book/chapter09.html\n *\n * This is what the value 'Predictor' in decode params relates to\n *\n * 15 is \"optimal prediction\", which means the prediction algorithm can change from line to line.\n * In that case, you actually have to read the first byte off each line for the prediction algorthim (which should be 0-4, corresponding to PDF 10-14) and select the appropriate unprediction algorithm based on that byte.\n *\n 0 None\n 1 Sub\n 2 Up\n 3 Average\n 4 Paeth\n */\n\n var canCompress = function(value) {\n return value !== jsPDFAPI.image_compression.NONE && hasCompressionJS();\n };\n\n var hasCompressionJS = function() {\n return typeof zlibSync === \"function\";\n };\n var compressBytes = function(bytes, lineLength, colorsPerPixel, compression) {\n var level = 4;\n var filter_method = filterUp;\n\n switch (compression) {\n case jsPDFAPI.image_compression.FAST:\n level = 1;\n filter_method = filterSub;\n break;\n\n case jsPDFAPI.image_compression.MEDIUM:\n level = 6;\n filter_method = filterAverage;\n break;\n\n case jsPDFAPI.image_compression.SLOW:\n level = 9;\n filter_method = filterPaeth;\n break;\n }\n\n bytes = applyPngFilterMethod(\n bytes,\n lineLength,\n colorsPerPixel,\n filter_method\n );\n var dat = zlibSync(bytes, { level: level });\n return jsPDFAPI.__addimage__.arrayBufferToBinaryString(dat);\n };\n\n var applyPngFilterMethod = function(\n bytes,\n lineLength,\n colorsPerPixel,\n filter_method\n ) {\n var lines = bytes.length / lineLength,\n result = new Uint8Array(bytes.length + lines),\n filter_methods = getFilterMethods(),\n line,\n prevLine,\n offset;\n\n for (var i = 0; i < lines; i += 1) {\n offset = i * lineLength;\n line = bytes.subarray(offset, offset + lineLength);\n\n if (filter_method) {\n result.set(filter_method(line, colorsPerPixel, prevLine), offset + i);\n } else {\n var len = filter_methods.length,\n results = [];\n\n for (var j; j < len; j += 1) {\n results[j] = filter_methods[j](line, colorsPerPixel, prevLine);\n }\n\n var ind = getIndexOfSmallestSum(results.concat());\n\n result.set(results[ind], offset + i);\n }\n\n prevLine = line;\n }\n\n return result;\n };\n\n var filterNone = function(line) {\n /*var result = new Uint8Array(line.length + 1);\n result[0] = 0;\n result.set(line, 1);*/\n\n var result = Array.apply([], line);\n result.unshift(0);\n\n return result;\n };\n\n var filterSub = function(line, colorsPerPixel) {\n var result = [],\n len = line.length,\n left;\n\n result[0] = 1;\n\n for (var i = 0; i < len; i += 1) {\n left = line[i - colorsPerPixel] || 0;\n result[i + 1] = (line[i] - left + 0x0100) & 0xff;\n }\n\n return result;\n };\n\n var filterUp = function(line, colorsPerPixel, prevLine) {\n var result = [],\n len = line.length,\n up;\n\n result[0] = 2;\n\n for (var i = 0; i < len; i += 1) {\n up = (prevLine && prevLine[i]) || 0;\n result[i + 1] = (line[i] - up + 0x0100) & 0xff;\n }\n\n return result;\n };\n\n var filterAverage = function(line, colorsPerPixel, prevLine) {\n var result = [],\n len = line.length,\n left,\n up;\n\n result[0] = 3;\n\n for (var i = 0; i < len; i += 1) {\n left = line[i - colorsPerPixel] || 0;\n up = (prevLine && prevLine[i]) || 0;\n result[i + 1] = (line[i] + 0x0100 - ((left + up) >>> 1)) & 0xff;\n }\n\n return result;\n };\n\n var filterPaeth = function(line, colorsPerPixel, prevLine) {\n var result = [],\n len = line.length,\n left,\n up,\n upLeft,\n paeth;\n\n result[0] = 4;\n\n for (var i = 0; i < len; i += 1) {\n left = line[i - colorsPerPixel] || 0;\n up = (prevLine && prevLine[i]) || 0;\n upLeft = (prevLine && prevLine[i - colorsPerPixel]) || 0;\n paeth = paethPredictor(left, up, upLeft);\n result[i + 1] = (line[i] - paeth + 0x0100) & 0xff;\n }\n\n return result;\n };\n\n var paethPredictor = function(left, up, upLeft) {\n if (left === up && up === upLeft) {\n return left;\n }\n var pLeft = Math.abs(up - upLeft),\n pUp = Math.abs(left - upLeft),\n pUpLeft = Math.abs(left + up - upLeft - upLeft);\n return pLeft <= pUp && pLeft <= pUpLeft\n ? left\n : pUp <= pUpLeft\n ? up\n : upLeft;\n };\n\n var getFilterMethods = function() {\n return [filterNone, filterSub, filterUp, filterAverage, filterPaeth];\n };\n\n var getIndexOfSmallestSum = function(arrays) {\n var sum = arrays.map(function(value) {\n return value.reduce(function(pv, cv) {\n return pv + Math.abs(cv);\n }, 0);\n });\n return sum.indexOf(Math.min.apply(null, sum));\n };\n\n var getPredictorFromCompression = function(compression) {\n var predictor;\n switch (compression) {\n case jsPDFAPI.image_compression.FAST:\n predictor = 11;\n break;\n\n case jsPDFAPI.image_compression.MEDIUM:\n predictor = 13;\n break;\n\n case jsPDFAPI.image_compression.SLOW:\n predictor = 14;\n break;\n\n default:\n predictor = 12;\n break;\n }\n return predictor;\n };\n\n /**\n * @name processPNG\n * @function\n * @ignore\n */\n jsPDFAPI.processPNG = function(imageData, index, alias, compression) {\n \"use strict\";\n\n var colorSpace,\n filter = this.decode.FLATE_DECODE,\n bitsPerComponent,\n image,\n decodeParameters = \"\",\n trns,\n colors,\n pal,\n smask,\n pixels,\n len,\n alphaData,\n imgData,\n hasColors,\n pixel,\n i,\n n;\n\n if (this.__addimage__.isArrayBuffer(imageData))\n imageData = new Uint8Array(imageData);\n\n if (this.__addimage__.isArrayBufferView(imageData)) {\n image = new PNG(imageData);\n imageData = image.imgData;\n bitsPerComponent = image.bits;\n colorSpace = image.colorSpace;\n colors = image.colors;\n\n /*\n * colorType 6 - Each pixel is an R,G,B triple, followed by an alpha sample.\n *\n * colorType 4 - Each pixel is a grayscale sample, followed by an alpha sample.\n *\n * Extract alpha to create two separate images, using the alpha as a sMask\n */\n if ([4, 6].indexOf(image.colorType) !== -1) {\n /*\n * processes 8 bit RGBA and grayscale + alpha images\n */\n if (image.bits === 8) {\n pixels =\n image.pixelBitlength == 32\n ? new Uint32Array(image.decodePixels().buffer)\n : image.pixelBitlength == 16\n ? new Uint16Array(image.decodePixels().buffer)\n : new Uint8Array(image.decodePixels().buffer);\n len = pixels.length;\n imgData = new Uint8Array(len * image.colors);\n alphaData = new Uint8Array(len);\n var pDiff = image.pixelBitlength - image.bits;\n i = 0;\n n = 0;\n var pbl;\n\n for (; i < len; i++) {\n pixel = pixels[i];\n pbl = 0;\n\n while (pbl < pDiff) {\n imgData[n++] = (pixel >>> pbl) & 0xff;\n pbl = pbl + image.bits;\n }\n\n alphaData[i] = (pixel >>> pbl) & 0xff;\n }\n }\n\n /*\n * processes 16 bit RGBA and grayscale + alpha images\n */\n if (image.bits === 16) {\n pixels = new Uint32Array(image.decodePixels().buffer);\n len = pixels.length;\n imgData = new Uint8Array(\n len * (32 / image.pixelBitlength) * image.colors\n );\n alphaData = new Uint8Array(len * (32 / image.pixelBitlength));\n hasColors = image.colors > 1;\n i = 0;\n n = 0;\n var a = 0;\n\n while (i < len) {\n pixel = pixels[i++];\n\n imgData[n++] = (pixel >>> 0) & 0xff;\n\n if (hasColors) {\n imgData[n++] = (pixel >>> 16) & 0xff;\n\n pixel = pixels[i++];\n imgData[n++] = (pixel >>> 0) & 0xff;\n }\n\n alphaData[a++] = (pixel >>> 16) & 0xff;\n }\n bitsPerComponent = 8;\n }\n\n if (canCompress(compression)) {\n imageData = compressBytes(\n imgData,\n image.width * image.colors,\n image.colors,\n compression\n );\n smask = compressBytes(alphaData, image.width, 1, compression);\n } else {\n imageData = imgData;\n smask = alphaData;\n filter = undefined;\n }\n }\n\n /*\n * Indexed png. Each pixel is a palette index.\n */\n if (image.colorType === 3) {\n colorSpace = this.color_spaces.INDEXED;\n pal = image.palette;\n\n if (image.transparency.indexed) {\n var trans = image.transparency.indexed;\n var total = 0;\n i = 0;\n len = trans.length;\n\n for (; i < len; ++i) {\n total += trans[i];\n }\n\n total = total / 255;\n\n /*\n * a single color is specified as 100% transparent (0),\n * so we set trns to use a /Mask with that index\n */\n if (total === len - 1 && trans.indexOf(0) !== -1) {\n trns = [trans.indexOf(0)];\n\n /*\n * there's more than one colour within the palette that specifies\n * a transparency value less than 255, so we unroll the pixels to create an image sMask\n */\n } else if (total !== len) {\n pixels = image.decodePixels();\n alphaData = new Uint8Array(pixels.length);\n i = 0;\n len = pixels.length;\n\n for (; i < len; i++) {\n alphaData[i] = trans[pixels[i]];\n }\n\n smask = compressBytes(alphaData, image.width, 1);\n }\n }\n }\n\n var predictor = getPredictorFromCompression(compression);\n\n if (filter === this.decode.FLATE_DECODE) {\n decodeParameters = \"/Predictor \" + predictor + \" \";\n }\n decodeParameters +=\n \"/Colors \" +\n colors +\n \" /BitsPerComponent \" +\n bitsPerComponent +\n \" /Columns \" +\n image.width;\n\n if (\n this.__addimage__.isArrayBuffer(imageData) ||\n this.__addimage__.isArrayBufferView(imageData)\n ) {\n imageData = this.__addimage__.arrayBufferToBinaryString(imageData);\n }\n\n if (\n (smask && this.__addimage__.isArrayBuffer(smask)) ||\n this.__addimage__.isArrayBufferView(smask)\n ) {\n smask = this.__addimage__.arrayBufferToBinaryString(smask);\n }\n\n return {\n alias: alias,\n data: imageData,\n index: index,\n filter: filter,\n decodeParameters: decodeParameters,\n transparency: trns,\n palette: pal,\n sMask: smask,\n predictor: predictor,\n width: image.width,\n height: image.height,\n bitsPerComponent: bitsPerComponent,\n colorSpace: colorSpace\n };\n }\n };\n})(jsPDF.API);\n","/**\n * @license\n * Copyright (c) 2017 Aras Abbasi\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\n\nimport { jsPDF } from \"../jspdf.js\";\nimport { GifReader } from \"../libs/omggif.js\";\nimport { JPEGEncoder } from \"../libs/JPEGEncoder.js\";\n\n/**\n * jsPDF Gif Support PlugIn\n *\n * @name gif_support\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n\n jsPDFAPI.processGIF89A = function(imageData, index, alias, compression) {\n var reader = new GifReader(imageData);\n var width = reader.width,\n height = reader.height;\n var qu = 100;\n var pixels = [];\n\n reader.decodeAndBlitFrameRGBA(0, pixels);\n var rawImageData = {\n data: pixels,\n width: width,\n height: height\n };\n\n var encoder = new JPEGEncoder(qu);\n var data = encoder.encode(rawImageData, qu);\n return jsPDFAPI.processJPEG.call(this, data, index, alias, compression);\n };\n\n jsPDFAPI.processGIF87A = jsPDFAPI.processGIF89A;\n})(jsPDF.API);\n","import { JPEGEncoder } from \"../libs/JPEGEncoder.js\";\nimport { BmpDecoder } from \"../libs/BMPDecoder.js\";\nimport { jsPDF } from \"../jspdf.js\";\n\n/**\n * @license\n * Copyright (c) 2018 Aras Abbasi\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\n\n/**\n * jsPDF bmp Support PlugIn\n * @name bmp_support\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n\n jsPDFAPI.processBMP = function(imageData, index, alias, compression) {\n var reader = new BmpDecoder(imageData, false);\n var width = reader.width,\n height = reader.height;\n var qu = 100;\n var pixels = reader.getData();\n\n var rawImageData = {\n data: pixels,\n width: width,\n height: height\n };\n\n var encoder = new JPEGEncoder(qu);\n var data = encoder.encode(rawImageData, qu);\n return jsPDFAPI.processJPEG.call(this, data, index, alias, compression);\n };\n})(jsPDF.API);\n","/**\n * @license\n * Copyright (c) 2019 Aras Abbasi\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\n\nimport { jsPDF } from \"../jspdf.js\";\nimport { JPEGEncoder } from \"../libs/JPEGEncoder.js\";\nimport { WebPDecoder } from \"../libs/WebPDecoder.js\";\n\n/**\n * jsPDF webp Support PlugIn\n *\n * @name webp_support\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n\n jsPDFAPI.processWEBP = function(imageData, index, alias, compression) {\n var reader = new WebPDecoder(imageData, false);\n var width = reader.width,\n height = reader.height;\n var qu = 100;\n var pixels = reader.getData();\n\n var rawImageData = {\n data: pixels,\n width: width,\n height: height\n };\n\n var encoder = new JPEGEncoder(qu);\n var data = encoder.encode(rawImageData, qu);\n return jsPDFAPI.processJPEG.call(this, data, index, alias, compression);\n };\n})(jsPDF.API);\n","/**\n * @license\n *\n * Copyright (c) 2021 Antti Palola, https://github.com/Pantura\n *\n * Permission is hereby granted, free of charge, to any person obtaining\n * a copy of this software and associated documentation files (the\n * \"Software\"), to deal in the Software without restriction, including\n * without limitation the rights to use, copy, modify, merge, publish,\n * distribute, sublicense, and/or sell copies of the Software, and to\n * permit persons to whom the Software is furnished to do so, subject to\n * the following conditions:\n *\n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\n * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\n * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\n * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n * ====================================================================\n */\n\nimport { jsPDF } from \"../jspdf.js\";\n\n/**\n * jsPDF RGBA array PlugIn\n * @name rgba_support\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n\n /**\n * @name processRGBA\n * @function\n *\n * Process RGBA Array. This is a one-dimension array with pixel data [red, green, blue, alpha, red, green, ...].\n * RGBA array data can be obtained from DOM canvas getImageData.\n * @ignore\n */\n jsPDFAPI.processRGBA = function(imageData, index, alias) {\n \"use strict\";\n\n var imagePixels = imageData.data;\n var length = imagePixels.length;\n // jsPDF takes alpha data separately so extract that.\n var rgbOut = new Uint8Array((length / 4) * 3);\n var alphaOut = new Uint8Array(length / 4);\n var outIndex = 0;\n var alphaIndex = 0;\n\n for (var i = 0; i < length; i += 4) {\n var r = imagePixels[i];\n var g = imagePixels[i + 1];\n var b = imagePixels[i + 2];\n var alpha = imagePixels[i + 3];\n rgbOut[outIndex++] = r;\n rgbOut[outIndex++] = g;\n rgbOut[outIndex++] = b;\n alphaOut[alphaIndex++] = alpha;\n }\n\n var rgbData = this.__addimage__.arrayBufferToBinaryString(rgbOut);\n var alphaData = this.__addimage__.arrayBufferToBinaryString(alphaOut);\n\n return {\n alpha: alphaData,\n data: rgbData,\n index: index,\n alias: alias,\n colorSpace: \"DeviceRGB\",\n bitsPerComponent: 8,\n width: imageData.width,\n height: imageData.height\n };\n };\n})(jsPDF.API);\n","/**\n * @license\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\n\nimport { jsPDF } from \"../jspdf.js\";\n\n/**\n * jsPDF setLanguage Plugin\n *\n * @name setLanguage\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n\n /**\n * Add Language Tag to the generated PDF\n *\n * @name setLanguage\n * @function\n * @param {string} langCode The Language code as ISO-639-1 (e.g. 'en') or as country language code (e.g. 'en-GB').\n * @returns {jsPDF}\n * @example\n * var doc = new jsPDF()\n * doc.text(10, 10, 'This is a test')\n * doc.setLanguage(\"en-US\")\n * doc.save('english.pdf')\n */\n jsPDFAPI.setLanguage = function(langCode) {\n \"use strict\";\n\n var langCodes = {\n af: \"Afrikaans\",\n sq: \"Albanian\",\n ar: \"Arabic (Standard)\",\n \"ar-DZ\": \"Arabic (Algeria)\",\n \"ar-BH\": \"Arabic (Bahrain)\",\n \"ar-EG\": \"Arabic (Egypt)\",\n \"ar-IQ\": \"Arabic (Iraq)\",\n \"ar-JO\": \"Arabic (Jordan)\",\n \"ar-KW\": \"Arabic (Kuwait)\",\n \"ar-LB\": \"Arabic (Lebanon)\",\n \"ar-LY\": \"Arabic (Libya)\",\n \"ar-MA\": \"Arabic (Morocco)\",\n \"ar-OM\": \"Arabic (Oman)\",\n \"ar-QA\": \"Arabic (Qatar)\",\n \"ar-SA\": \"Arabic (Saudi Arabia)\",\n \"ar-SY\": \"Arabic (Syria)\",\n \"ar-TN\": \"Arabic (Tunisia)\",\n \"ar-AE\": \"Arabic (U.A.E.)\",\n \"ar-YE\": \"Arabic (Yemen)\",\n an: \"Aragonese\",\n hy: \"Armenian\",\n as: \"Assamese\",\n ast: \"Asturian\",\n az: \"Azerbaijani\",\n eu: \"Basque\",\n be: \"Belarusian\",\n bn: \"Bengali\",\n bs: \"Bosnian\",\n br: \"Breton\",\n bg: \"Bulgarian\",\n my: \"Burmese\",\n ca: \"Catalan\",\n ch: \"Chamorro\",\n ce: \"Chechen\",\n zh: \"Chinese\",\n \"zh-HK\": \"Chinese (Hong Kong)\",\n \"zh-CN\": \"Chinese (PRC)\",\n \"zh-SG\": \"Chinese (Singapore)\",\n \"zh-TW\": \"Chinese (Taiwan)\",\n cv: \"Chuvash\",\n co: \"Corsican\",\n cr: \"Cree\",\n hr: \"Croatian\",\n cs: \"Czech\",\n da: \"Danish\",\n nl: \"Dutch (Standard)\",\n \"nl-BE\": \"Dutch (Belgian)\",\n en: \"English\",\n \"en-AU\": \"English (Australia)\",\n \"en-BZ\": \"English (Belize)\",\n \"en-CA\": \"English (Canada)\",\n \"en-IE\": \"English (Ireland)\",\n \"en-JM\": \"English (Jamaica)\",\n \"en-NZ\": \"English (New Zealand)\",\n \"en-PH\": \"English (Philippines)\",\n \"en-ZA\": \"English (South Africa)\",\n \"en-TT\": \"English (Trinidad & Tobago)\",\n \"en-GB\": \"English (United Kingdom)\",\n \"en-US\": \"English (United States)\",\n \"en-ZW\": \"English (Zimbabwe)\",\n eo: \"Esperanto\",\n et: \"Estonian\",\n fo: \"Faeroese\",\n fj: \"Fijian\",\n fi: \"Finnish\",\n fr: \"French (Standard)\",\n \"fr-BE\": \"French (Belgium)\",\n \"fr-CA\": \"French (Canada)\",\n \"fr-FR\": \"French (France)\",\n \"fr-LU\": \"French (Luxembourg)\",\n \"fr-MC\": \"French (Monaco)\",\n \"fr-CH\": \"French (Switzerland)\",\n fy: \"Frisian\",\n fur: \"Friulian\",\n gd: \"Gaelic (Scots)\",\n \"gd-IE\": \"Gaelic (Irish)\",\n gl: \"Galacian\",\n ka: \"Georgian\",\n de: \"German (Standard)\",\n \"de-AT\": \"German (Austria)\",\n \"de-DE\": \"German (Germany)\",\n \"de-LI\": \"German (Liechtenstein)\",\n \"de-LU\": \"German (Luxembourg)\",\n \"de-CH\": \"German (Switzerland)\",\n el: \"Greek\",\n gu: \"Gujurati\",\n ht: \"Haitian\",\n he: \"Hebrew\",\n hi: \"Hindi\",\n hu: \"Hungarian\",\n is: \"Icelandic\",\n id: \"Indonesian\",\n iu: \"Inuktitut\",\n ga: \"Irish\",\n it: \"Italian (Standard)\",\n \"it-CH\": \"Italian (Switzerland)\",\n ja: \"Japanese\",\n kn: \"Kannada\",\n ks: \"Kashmiri\",\n kk: \"Kazakh\",\n km: \"Khmer\",\n ky: \"Kirghiz\",\n tlh: \"Klingon\",\n ko: \"Korean\",\n \"ko-KP\": \"Korean (North Korea)\",\n \"ko-KR\": \"Korean (South Korea)\",\n la: \"Latin\",\n lv: \"Latvian\",\n lt: \"Lithuanian\",\n lb: \"Luxembourgish\",\n mk: \"North Macedonia\",\n ms: \"Malay\",\n ml: \"Malayalam\",\n mt: \"Maltese\",\n mi: \"Maori\",\n mr: \"Marathi\",\n mo: \"Moldavian\",\n nv: \"Navajo\",\n ng: \"Ndonga\",\n ne: \"Nepali\",\n no: \"Norwegian\",\n nb: \"Norwegian (Bokmal)\",\n nn: \"Norwegian (Nynorsk)\",\n oc: \"Occitan\",\n or: \"Oriya\",\n om: \"Oromo\",\n fa: \"Persian\",\n \"fa-IR\": \"Persian/Iran\",\n pl: \"Polish\",\n pt: \"Portuguese\",\n \"pt-BR\": \"Portuguese (Brazil)\",\n pa: \"Punjabi\",\n \"pa-IN\": \"Punjabi (India)\",\n \"pa-PK\": \"Punjabi (Pakistan)\",\n qu: \"Quechua\",\n rm: \"Rhaeto-Romanic\",\n ro: \"Romanian\",\n \"ro-MO\": \"Romanian (Moldavia)\",\n ru: \"Russian\",\n \"ru-MO\": \"Russian (Moldavia)\",\n sz: \"Sami (Lappish)\",\n sg: \"Sango\",\n sa: \"Sanskrit\",\n sc: \"Sardinian\",\n sd: \"Sindhi\",\n si: \"Singhalese\",\n sr: \"Serbian\",\n sk: \"Slovak\",\n sl: \"Slovenian\",\n so: \"Somani\",\n sb: \"Sorbian\",\n es: \"Spanish\",\n \"es-AR\": \"Spanish (Argentina)\",\n \"es-BO\": \"Spanish (Bolivia)\",\n \"es-CL\": \"Spanish (Chile)\",\n \"es-CO\": \"Spanish (Colombia)\",\n \"es-CR\": \"Spanish (Costa Rica)\",\n \"es-DO\": \"Spanish (Dominican Republic)\",\n \"es-EC\": \"Spanish (Ecuador)\",\n \"es-SV\": \"Spanish (El Salvador)\",\n \"es-GT\": \"Spanish (Guatemala)\",\n \"es-HN\": \"Spanish (Honduras)\",\n \"es-MX\": \"Spanish (Mexico)\",\n \"es-NI\": \"Spanish (Nicaragua)\",\n \"es-PA\": \"Spanish (Panama)\",\n \"es-PY\": \"Spanish (Paraguay)\",\n \"es-PE\": \"Spanish (Peru)\",\n \"es-PR\": \"Spanish (Puerto Rico)\",\n \"es-ES\": \"Spanish (Spain)\",\n \"es-UY\": \"Spanish (Uruguay)\",\n \"es-VE\": \"Spanish (Venezuela)\",\n sx: \"Sutu\",\n sw: \"Swahili\",\n sv: \"Swedish\",\n \"sv-FI\": \"Swedish (Finland)\",\n \"sv-SV\": \"Swedish (Sweden)\",\n ta: \"Tamil\",\n tt: \"Tatar\",\n te: \"Teluga\",\n th: \"Thai\",\n tig: \"Tigre\",\n ts: \"Tsonga\",\n tn: \"Tswana\",\n tr: \"Turkish\",\n tk: \"Turkmen\",\n uk: \"Ukrainian\",\n hsb: \"Upper Sorbian\",\n ur: \"Urdu\",\n ve: \"Venda\",\n vi: \"Vietnamese\",\n vo: \"Volapuk\",\n wa: \"Walloon\",\n cy: \"Welsh\",\n xh: \"Xhosa\",\n ji: \"Yiddish\",\n zu: \"Zulu\"\n };\n\n if (this.internal.languageSettings === undefined) {\n this.internal.languageSettings = {};\n this.internal.languageSettings.isSubscribed = false;\n }\n\n if (langCodes[langCode] !== undefined) {\n this.internal.languageSettings.languageCode = langCode;\n if (this.internal.languageSettings.isSubscribed === false) {\n this.internal.events.subscribe(\"putCatalog\", function() {\n this.internal.write(\n \"/Lang (\" + this.internal.languageSettings.languageCode + \")\"\n );\n });\n this.internal.languageSettings.isSubscribed = true;\n }\n }\n return this;\n };\n})(jsPDF.API);\n","/** @license\n jsPDF standard_fonts_metrics plugin\n * Copyright (c) 2012 Willow Systems Corporation, https://github.com/willowsystems\n * MIT license.\n * Permission is hereby granted, free of charge, to any person obtaining\n * a copy of this software and associated documentation files (the\n * \"Software\"), to deal in the Software without restriction, including\n * without limitation the rights to use, copy, modify, merge, publish,\n * distribute, sublicense, and/or sell copies of the Software, and to\n * permit persons to whom the Software is furnished to do so, subject to\n * the following conditions:\n * \n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n * \n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\n * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\n * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\n * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n * ====================================================================\n */\n\nimport { jsPDF } from \"../jspdf.js\";\n\n/**\n * This file adds the standard font metrics to jsPDF.\n *\n * Font metrics data is reprocessed derivative of contents of\n * \"Font Metrics for PDF Core 14 Fonts\" package, which exhibits the following copyright and license:\n *\n * Copyright (c) 1989, 1990, 1991, 1992, 1993, 1997 Adobe Systems Incorporated. All Rights Reserved.\n *\n * This file and the 14 PostScript(R) AFM files it accompanies may be used,\n * copied, and distributed for any purpose and without charge, with or without\n * modification, provided that all copyright notices are retained; that the AFM\n * files are not distributed without this file; that all modifications to this\n * file or any of the AFM files are prominently noted in the modified file(s);\n * and that this paragraph is not modified. Adobe Systems has no responsibility\n * or obligation to support the use of the AFM files.\n *\n * @name standard_fonts_metrics\n * @module\n */\n\n(function(API) {\n \"use strict\";\n API.__fontmetrics__ = API.__fontmetrics__ || {};\n\n var decoded = \"0123456789abcdef\",\n encoded = \"klmnopqrstuvwxyz\",\n mappingUncompress = {},\n mappingCompress = {};\n\n for (var i = 0; i < encoded.length; i++) {\n mappingUncompress[encoded[i]] = decoded[i];\n mappingCompress[decoded[i]] = encoded[i];\n }\n\n var hex = function(value) {\n return \"0x\" + parseInt(value, 10).toString(16);\n };\n\n var compress = (API.__fontmetrics__.compress = function(data) {\n var vals = [\"{\"];\n var value, keystring, valuestring, numberprefix;\n\n for (var key in data) {\n value = data[key];\n\n if (!isNaN(parseInt(key, 10))) {\n key = parseInt(key, 10);\n keystring = hex(key).slice(2);\n keystring =\n keystring.slice(0, -1) + mappingCompress[keystring.slice(-1)];\n } else {\n keystring = \"'\" + key + \"'\";\n }\n\n if (typeof value == \"number\") {\n if (value < 0) {\n valuestring = hex(value).slice(3);\n numberprefix = \"-\";\n } else {\n valuestring = hex(value).slice(2);\n numberprefix = \"\";\n }\n valuestring =\n numberprefix +\n valuestring.slice(0, -1) +\n mappingCompress[valuestring.slice(-1)];\n } else {\n if (typeof value === \"object\") {\n valuestring = compress(value);\n } else {\n throw new Error(\n \"Don't know what to do with value type \" + typeof value + \".\"\n );\n }\n }\n vals.push(keystring + valuestring);\n }\n vals.push(\"}\");\n return vals.join(\"\");\n });\n\n /**\n * Uncompresses data compressed into custom, base16-like format.\n *\n * @public\n * @function\n * @param\n * @returns {Type}\n */\n var uncompress = (API.__fontmetrics__.uncompress = function(data) {\n if (typeof data !== \"string\") {\n throw new Error(\"Invalid argument passed to uncompress.\");\n }\n\n var output = {},\n sign = 1,\n stringparts, // undef. will be [] in string mode\n activeobject = output,\n parentchain = [],\n parent_key_pair,\n keyparts = \"\",\n valueparts = \"\",\n key, // undef. will be Truthy when Key is resolved.\n datalen = data.length - 1, // stripping ending }\n ch;\n\n for (var i = 1; i < datalen; i += 1) {\n // - { } ' are special.\n\n ch = data[i];\n\n if (ch == \"'\") {\n if (stringparts) {\n // end of string mode\n key = stringparts.join(\"\");\n stringparts = undefined;\n } else {\n // start of string mode\n stringparts = [];\n }\n } else if (stringparts) {\n stringparts.push(ch);\n } else if (ch == \"{\") {\n // start of object\n parentchain.push([activeobject, key]);\n activeobject = {};\n key = undefined;\n } else if (ch == \"}\") {\n // end of object\n parent_key_pair = parentchain.pop();\n parent_key_pair[0][parent_key_pair[1]] = activeobject;\n key = undefined;\n activeobject = parent_key_pair[0];\n } else if (ch == \"-\") {\n sign = -1;\n } else {\n // must be number\n if (key === undefined) {\n if (mappingUncompress.hasOwnProperty(ch)) {\n keyparts += mappingUncompress[ch];\n key = parseInt(keyparts, 16) * sign;\n sign = +1;\n keyparts = \"\";\n } else {\n keyparts += ch;\n }\n } else {\n if (mappingUncompress.hasOwnProperty(ch)) {\n valueparts += mappingUncompress[ch];\n activeobject[key] = parseInt(valueparts, 16) * sign;\n sign = +1;\n key = undefined;\n valueparts = \"\";\n } else {\n valueparts += ch;\n }\n }\n }\n }\n return output;\n });\n\n // encoding = 'Unicode'\n // NOT UTF8, NOT UTF16BE/LE, NOT UCS2BE/LE. NO clever BOM behavior\n // Actual 16bit char codes used.\n // no multi-byte logic here\n\n // Unicode characters to WinAnsiEncoding:\n // {402: 131, 8211: 150, 8212: 151, 8216: 145, 8217: 146, 8218: 130, 8220: 147, 8221: 148, 8222: 132, 8224: 134, 8225: 135, 8226: 149, 8230: 133, 8364: 128, 8240:137, 8249: 139, 8250: 155, 710: 136, 8482: 153, 338: 140, 339: 156, 732: 152, 352: 138, 353: 154, 376: 159, 381: 142, 382: 158}\n // as you can see, all Unicode chars are outside of 0-255 range. No char code conflicts.\n // this means that you can give Win cp1252 encoded strings to jsPDF for rendering directly\n // as well as give strings with some (supported by these fonts) Unicode characters and\n // these will be mapped to win cp1252\n // for example, you can send char code (cp1252) 0x80 or (unicode) 0x20AC, getting \"Euro\" glyph displayed in both cases.\n\n var encodingBlock = {\n codePages: [\"WinAnsiEncoding\"],\n WinAnsiEncoding: uncompress(\n \"{19m8n201n9q201o9r201s9l201t9m201u8m201w9n201x9o201y8o202k8q202l8r202m9p202q8p20aw8k203k8t203t8v203u9v2cq8s212m9t15m8w15n9w2dw9s16k8u16l9u17s9z17x8y17y9y}\"\n )\n };\n var encodings = {\n Unicode: {\n Courier: encodingBlock,\n \"Courier-Bold\": encodingBlock,\n \"Courier-BoldOblique\": encodingBlock,\n \"Courier-Oblique\": encodingBlock,\n Helvetica: encodingBlock,\n \"Helvetica-Bold\": encodingBlock,\n \"Helvetica-BoldOblique\": encodingBlock,\n \"Helvetica-Oblique\": encodingBlock,\n \"Times-Roman\": encodingBlock,\n \"Times-Bold\": encodingBlock,\n \"Times-BoldItalic\": encodingBlock,\n \"Times-Italic\": encodingBlock\n //\t, 'Symbol'\n //\t, 'ZapfDingbats'\n }\n };\n\n var fontMetrics = {\n Unicode: {\n // all sizing numbers are n/fontMetricsFractionOf = one font size unit\n // this means that if fontMetricsFractionOf = 1000, and letter A's width is 476, it's\n // width is 476/1000 or 47.6% of its height (regardless of font size)\n // At this time this value applies to \"widths\" and \"kerning\" numbers.\n\n // char code 0 represents \"default\" (average) width - use it for chars missing in this table.\n // key 'fof' represents the \"fontMetricsFractionOf\" value\n\n \"Courier-Oblique\": uncompress(\n \"{'widths'{k3w'fof'6o}'kerning'{'fof'-6o}}\"\n ),\n \"Times-BoldItalic\": uncompress(\n \"{'widths'{k3o2q4ycx2r201n3m201o6o201s2l201t2l201u2l201w3m201x3m201y3m2k1t2l2r202m2n2n3m2o3m2p5n202q6o2r1w2s2l2t2l2u3m2v3t2w1t2x2l2y1t2z1w3k3m3l3m3m3m3n3m3o3m3p3m3q3m3r3m3s3m203t2l203u2l3v2l3w3t3x3t3y3t3z3m4k5n4l4m4m4m4n4m4o4s4p4m4q4m4r4s4s4y4t2r4u3m4v4m4w3x4x5t4y4s4z4s5k3x5l4s5m4m5n3r5o3x5p4s5q4m5r5t5s4m5t3x5u3x5v2l5w1w5x2l5y3t5z3m6k2l6l3m6m3m6n2w6o3m6p2w6q2l6r3m6s3r6t1w6u1w6v3m6w1w6x4y6y3r6z3m7k3m7l3m7m2r7n2r7o1w7p3r7q2w7r4m7s3m7t2w7u2r7v2n7w1q7x2n7y3t202l3mcl4mal2ram3man3mao3map3mar3mas2lat4uau1uav3maw3way4uaz2lbk2sbl3t'fof'6obo2lbp3tbq3mbr1tbs2lbu1ybv3mbz3mck4m202k3mcm4mcn4mco4mcp4mcq5ycr4mcs4mct4mcu4mcv4mcw2r2m3rcy2rcz2rdl4sdm4sdn4sdo4sdp4sdq4sds4sdt4sdu4sdv4sdw4sdz3mek3mel3mem3men3meo3mep3meq4ser2wes2wet2weu2wev2wew1wex1wey1wez1wfl3rfm3mfn3mfo3mfp3mfq3mfr3tfs3mft3rfu3rfv3rfw3rfz2w203k6o212m6o2dw2l2cq2l3t3m3u2l17s3x19m3m}'kerning'{cl{4qu5kt5qt5rs17ss5ts}201s{201ss}201t{cks4lscmscnscoscpscls2wu2yu201ts}201x{2wu2yu}2k{201ts}2w{4qx5kx5ou5qx5rs17su5tu}2x{17su5tu5ou}2y{4qx5kx5ou5qx5rs17ss5ts}'fof'-6ofn{17sw5tw5ou5qw5rs}7t{cksclscmscnscoscps4ls}3u{17su5tu5os5qs}3v{17su5tu5os5qs}7p{17su5tu}ck{4qu5kt5qt5rs17ss5ts}4l{4qu5kt5qt5rs17ss5ts}cm{4qu5kt5qt5rs17ss5ts}cn{4qu5kt5qt5rs17ss5ts}co{4qu5kt5qt5rs17ss5ts}cp{4qu5kt5qt5rs17ss5ts}6l{4qu5ou5qw5rt17su5tu}5q{ckuclucmucnucoucpu4lu}5r{ckuclucmucnucoucpu4lu}7q{cksclscmscnscoscps4ls}6p{4qu5ou5qw5rt17sw5tw}ek{4qu5ou5qw5rt17su5tu}el{4qu5ou5qw5rt17su5tu}em{4qu5ou5qw5rt17su5tu}en{4qu5ou5qw5rt17su5tu}eo{4qu5ou5qw5rt17su5tu}ep{4qu5ou5qw5rt17su5tu}es{17ss5ts5qs4qu}et{4qu5ou5qw5rt17sw5tw}eu{4qu5ou5qw5rt17ss5ts}ev{17ss5ts5qs4qu}6z{17sw5tw5ou5qw5rs}fm{17sw5tw5ou5qw5rs}7n{201ts}fo{17sw5tw5ou5qw5rs}fp{17sw5tw5ou5qw5rs}fq{17sw5tw5ou5qw5rs}7r{cksclscmscnscoscps4ls}fs{17sw5tw5ou5qw5rs}ft{17su5tu}fu{17su5tu}fv{17su5tu}fw{17su5tu}fz{cksclscmscnscoscps4ls}}}\"\n ),\n \"Helvetica-Bold\": uncompress(\n \"{'widths'{k3s2q4scx1w201n3r201o6o201s1w201t1w201u1w201w3m201x3m201y3m2k1w2l2l202m2n2n3r2o3r2p5t202q6o2r1s2s2l2t2l2u2r2v3u2w1w2x2l2y1w2z1w3k3r3l3r3m3r3n3r3o3r3p3r3q3r3r3r3s3r203t2l203u2l3v2l3w3u3x3u3y3u3z3x4k6l4l4s4m4s4n4s4o4s4p4m4q3x4r4y4s4s4t1w4u3r4v4s4w3x4x5n4y4s4z4y5k4m5l4y5m4s5n4m5o3x5p4s5q4m5r5y5s4m5t4m5u3x5v2l5w1w5x2l5y3u5z3r6k2l6l3r6m3x6n3r6o3x6p3r6q2l6r3x6s3x6t1w6u1w6v3r6w1w6x5t6y3x6z3x7k3x7l3x7m2r7n3r7o2l7p3x7q3r7r4y7s3r7t3r7u3m7v2r7w1w7x2r7y3u202l3rcl4sal2lam3ran3rao3rap3rar3ras2lat4tau2pav3raw3uay4taz2lbk2sbl3u'fof'6obo2lbp3xbq3rbr1wbs2lbu2obv3rbz3xck4s202k3rcm4scn4sco4scp4scq6ocr4scs4mct4mcu4mcv4mcw1w2m2zcy1wcz1wdl4sdm4ydn4ydo4ydp4ydq4yds4ydt4sdu4sdv4sdw4sdz3xek3rel3rem3ren3reo3rep3req5ter3res3ret3reu3rev3rew1wex1wey1wez1wfl3xfm3xfn3xfo3xfp3xfq3xfr3ufs3xft3xfu3xfv3xfw3xfz3r203k6o212m6o2dw2l2cq2l3t3r3u2l17s4m19m3r}'kerning'{cl{4qs5ku5ot5qs17sv5tv}201t{2ww4wy2yw}201w{2ks}201x{2ww4wy2yw}2k{201ts201xs}2w{7qs4qu5kw5os5qw5rs17su5tu7tsfzs}2x{5ow5qs}2y{7qs4qu5kw5os5qw5rs17su5tu7tsfzs}'fof'-6o7p{17su5tu5ot}ck{4qs5ku5ot5qs17sv5tv}4l{4qs5ku5ot5qs17sv5tv}cm{4qs5ku5ot5qs17sv5tv}cn{4qs5ku5ot5qs17sv5tv}co{4qs5ku5ot5qs17sv5tv}cp{4qs5ku5ot5qs17sv5tv}6l{17st5tt5os}17s{2kwclvcmvcnvcovcpv4lv4wwckv}5o{2kucltcmtcntcotcpt4lt4wtckt}5q{2ksclscmscnscoscps4ls4wvcks}5r{2ks4ws}5t{2kwclvcmvcnvcovcpv4lv4wwckv}eo{17st5tt5os}fu{17su5tu5ot}6p{17ss5ts}ek{17st5tt5os}el{17st5tt5os}em{17st5tt5os}en{17st5tt5os}6o{201ts}ep{17st5tt5os}es{17ss5ts}et{17ss5ts}eu{17ss5ts}ev{17ss5ts}6z{17su5tu5os5qt}fm{17su5tu5os5qt}fn{17su5tu5os5qt}fo{17su5tu5os5qt}fp{17su5tu5os5qt}fq{17su5tu5os5qt}fs{17su5tu5os5qt}ft{17su5tu5ot}7m{5os}fv{17su5tu5ot}fw{17su5tu5ot}}}\"\n ),\n Courier: uncompress(\"{'widths'{k3w'fof'6o}'kerning'{'fof'-6o}}\"),\n \"Courier-BoldOblique\": uncompress(\n \"{'widths'{k3w'fof'6o}'kerning'{'fof'-6o}}\"\n ),\n \"Times-Bold\": uncompress(\n \"{'widths'{k3q2q5ncx2r201n3m201o6o201s2l201t2l201u2l201w3m201x3m201y3m2k1t2l2l202m2n2n3m2o3m2p6o202q6o2r1w2s2l2t2l2u3m2v3t2w1t2x2l2y1t2z1w3k3m3l3m3m3m3n3m3o3m3p3m3q3m3r3m3s3m203t2l203u2l3v2l3w3t3x3t3y3t3z3m4k5x4l4s4m4m4n4s4o4s4p4m4q3x4r4y4s4y4t2r4u3m4v4y4w4m4x5y4y4s4z4y5k3x5l4y5m4s5n3r5o4m5p4s5q4s5r6o5s4s5t4s5u4m5v2l5w1w5x2l5y3u5z3m6k2l6l3m6m3r6n2w6o3r6p2w6q2l6r3m6s3r6t1w6u2l6v3r6w1w6x5n6y3r6z3m7k3r7l3r7m2w7n2r7o2l7p3r7q3m7r4s7s3m7t3m7u2w7v2r7w1q7x2r7y3o202l3mcl4sal2lam3man3mao3map3mar3mas2lat4uau1yav3maw3tay4uaz2lbk2sbl3t'fof'6obo2lbp3rbr1tbs2lbu2lbv3mbz3mck4s202k3mcm4scn4sco4scp4scq6ocr4scs4mct4mcu4mcv4mcw2r2m3rcy2rcz2rdl4sdm4ydn4ydo4ydp4ydq4yds4ydt4sdu4sdv4sdw4sdz3rek3mel3mem3men3meo3mep3meq4ser2wes2wet2weu2wev2wew1wex1wey1wez1wfl3rfm3mfn3mfo3mfp3mfq3mfr3tfs3mft3rfu3rfv3rfw3rfz3m203k6o212m6o2dw2l2cq2l3t3m3u2l17s4s19m3m}'kerning'{cl{4qt5ks5ot5qy5rw17sv5tv}201t{cks4lscmscnscoscpscls4wv}2k{201ts}2w{4qu5ku7mu5os5qx5ru17su5tu}2x{17su5tu5ou5qs}2y{4qv5kv7mu5ot5qz5ru17su5tu}'fof'-6o7t{cksclscmscnscoscps4ls}3u{17su5tu5os5qu}3v{17su5tu5os5qu}fu{17su5tu5ou5qu}7p{17su5tu5ou5qu}ck{4qt5ks5ot5qy5rw17sv5tv}4l{4qt5ks5ot5qy5rw17sv5tv}cm{4qt5ks5ot5qy5rw17sv5tv}cn{4qt5ks5ot5qy5rw17sv5tv}co{4qt5ks5ot5qy5rw17sv5tv}cp{4qt5ks5ot5qy5rw17sv5tv}6l{17st5tt5ou5qu}17s{ckuclucmucnucoucpu4lu4wu}5o{ckuclucmucnucoucpu4lu4wu}5q{ckzclzcmzcnzcozcpz4lz4wu}5r{ckxclxcmxcnxcoxcpx4lx4wu}5t{ckuclucmucnucoucpu4lu4wu}7q{ckuclucmucnucoucpu4lu}6p{17sw5tw5ou5qu}ek{17st5tt5qu}el{17st5tt5ou5qu}em{17st5tt5qu}en{17st5tt5qu}eo{17st5tt5qu}ep{17st5tt5ou5qu}es{17ss5ts5qu}et{17sw5tw5ou5qu}eu{17sw5tw5ou5qu}ev{17ss5ts5qu}6z{17sw5tw5ou5qu5rs}fm{17sw5tw5ou5qu5rs}fn{17sw5tw5ou5qu5rs}fo{17sw5tw5ou5qu5rs}fp{17sw5tw5ou5qu5rs}fq{17sw5tw5ou5qu5rs}7r{cktcltcmtcntcotcpt4lt5os}fs{17sw5tw5ou5qu5rs}ft{17su5tu5ou5qu}7m{5os}fv{17su5tu5ou5qu}fw{17su5tu5ou5qu}fz{cksclscmscnscoscps4ls}}}\"\n ),\n Symbol: uncompress(\n \"{'widths'{k3uaw4r19m3m2k1t2l2l202m2y2n3m2p5n202q6o3k3m2s2l2t2l2v3r2w1t3m3m2y1t2z1wbk2sbl3r'fof'6o3n3m3o3m3p3m3q3m3r3m3s3m3t3m3u1w3v1w3w3r3x3r3y3r3z2wbp3t3l3m5v2l5x2l5z3m2q4yfr3r7v3k7w1o7x3k}'kerning'{'fof'-6o}}\"\n ),\n Helvetica: uncompress(\n \"{'widths'{k3p2q4mcx1w201n3r201o6o201s1q201t1q201u1q201w2l201x2l201y2l2k1w2l1w202m2n2n3r2o3r2p5t202q6o2r1n2s2l2t2l2u2r2v3u2w1w2x2l2y1w2z1w3k3r3l3r3m3r3n3r3o3r3p3r3q3r3r3r3s3r203t2l203u2l3v1w3w3u3x3u3y3u3z3r4k6p4l4m4m4m4n4s4o4s4p4m4q3x4r4y4s4s4t1w4u3m4v4m4w3r4x5n4y4s4z4y5k4m5l4y5m4s5n4m5o3x5p4s5q4m5r5y5s4m5t4m5u3x5v1w5w1w5x1w5y2z5z3r6k2l6l3r6m3r6n3m6o3r6p3r6q1w6r3r6s3r6t1q6u1q6v3m6w1q6x5n6y3r6z3r7k3r7l3r7m2l7n3m7o1w7p3r7q3m7r4s7s3m7t3m7u3m7v2l7w1u7x2l7y3u202l3rcl4mal2lam3ran3rao3rap3rar3ras2lat4tau2pav3raw3uay4taz2lbk2sbl3u'fof'6obo2lbp3rbr1wbs2lbu2obv3rbz3xck4m202k3rcm4mcn4mco4mcp4mcq6ocr4scs4mct4mcu4mcv4mcw1w2m2ncy1wcz1wdl4sdm4ydn4ydo4ydp4ydq4yds4ydt4sdu4sdv4sdw4sdz3xek3rel3rem3ren3reo3rep3req5ter3mes3ret3reu3rev3rew1wex1wey1wez1wfl3rfm3rfn3rfo3rfp3rfq3rfr3ufs3xft3rfu3rfv3rfw3rfz3m203k6o212m6o2dw2l2cq2l3t3r3u1w17s4m19m3r}'kerning'{5q{4wv}cl{4qs5kw5ow5qs17sv5tv}201t{2wu4w1k2yu}201x{2wu4wy2yu}17s{2ktclucmucnu4otcpu4lu4wycoucku}2w{7qs4qz5k1m17sy5ow5qx5rsfsu5ty7tufzu}2x{17sy5ty5oy5qs}2y{7qs4qz5k1m17sy5ow5qx5rsfsu5ty7tufzu}'fof'-6o7p{17sv5tv5ow}ck{4qs5kw5ow5qs17sv5tv}4l{4qs5kw5ow5qs17sv5tv}cm{4qs5kw5ow5qs17sv5tv}cn{4qs5kw5ow5qs17sv5tv}co{4qs5kw5ow5qs17sv5tv}cp{4qs5kw5ow5qs17sv5tv}6l{17sy5ty5ow}do{17st5tt}4z{17st5tt}7s{fst}dm{17st5tt}dn{17st5tt}5o{ckwclwcmwcnwcowcpw4lw4wv}dp{17st5tt}dq{17st5tt}7t{5ow}ds{17st5tt}5t{2ktclucmucnu4otcpu4lu4wycoucku}fu{17sv5tv5ow}6p{17sy5ty5ow5qs}ek{17sy5ty5ow}el{17sy5ty5ow}em{17sy5ty5ow}en{5ty}eo{17sy5ty5ow}ep{17sy5ty5ow}es{17sy5ty5qs}et{17sy5ty5ow5qs}eu{17sy5ty5ow5qs}ev{17sy5ty5ow5qs}6z{17sy5ty5ow5qs}fm{17sy5ty5ow5qs}fn{17sy5ty5ow5qs}fo{17sy5ty5ow5qs}fp{17sy5ty5qs}fq{17sy5ty5ow5qs}7r{5ow}fs{17sy5ty5ow5qs}ft{17sv5tv5ow}7m{5ow}fv{17sv5tv5ow}fw{17sv5tv5ow}}}\"\n ),\n \"Helvetica-BoldOblique\": uncompress(\n \"{'widths'{k3s2q4scx1w201n3r201o6o201s1w201t1w201u1w201w3m201x3m201y3m2k1w2l2l202m2n2n3r2o3r2p5t202q6o2r1s2s2l2t2l2u2r2v3u2w1w2x2l2y1w2z1w3k3r3l3r3m3r3n3r3o3r3p3r3q3r3r3r3s3r203t2l203u2l3v2l3w3u3x3u3y3u3z3x4k6l4l4s4m4s4n4s4o4s4p4m4q3x4r4y4s4s4t1w4u3r4v4s4w3x4x5n4y4s4z4y5k4m5l4y5m4s5n4m5o3x5p4s5q4m5r5y5s4m5t4m5u3x5v2l5w1w5x2l5y3u5z3r6k2l6l3r6m3x6n3r6o3x6p3r6q2l6r3x6s3x6t1w6u1w6v3r6w1w6x5t6y3x6z3x7k3x7l3x7m2r7n3r7o2l7p3x7q3r7r4y7s3r7t3r7u3m7v2r7w1w7x2r7y3u202l3rcl4sal2lam3ran3rao3rap3rar3ras2lat4tau2pav3raw3uay4taz2lbk2sbl3u'fof'6obo2lbp3xbq3rbr1wbs2lbu2obv3rbz3xck4s202k3rcm4scn4sco4scp4scq6ocr4scs4mct4mcu4mcv4mcw1w2m2zcy1wcz1wdl4sdm4ydn4ydo4ydp4ydq4yds4ydt4sdu4sdv4sdw4sdz3xek3rel3rem3ren3reo3rep3req5ter3res3ret3reu3rev3rew1wex1wey1wez1wfl3xfm3xfn3xfo3xfp3xfq3xfr3ufs3xft3xfu3xfv3xfw3xfz3r203k6o212m6o2dw2l2cq2l3t3r3u2l17s4m19m3r}'kerning'{cl{4qs5ku5ot5qs17sv5tv}201t{2ww4wy2yw}201w{2ks}201x{2ww4wy2yw}2k{201ts201xs}2w{7qs4qu5kw5os5qw5rs17su5tu7tsfzs}2x{5ow5qs}2y{7qs4qu5kw5os5qw5rs17su5tu7tsfzs}'fof'-6o7p{17su5tu5ot}ck{4qs5ku5ot5qs17sv5tv}4l{4qs5ku5ot5qs17sv5tv}cm{4qs5ku5ot5qs17sv5tv}cn{4qs5ku5ot5qs17sv5tv}co{4qs5ku5ot5qs17sv5tv}cp{4qs5ku5ot5qs17sv5tv}6l{17st5tt5os}17s{2kwclvcmvcnvcovcpv4lv4wwckv}5o{2kucltcmtcntcotcpt4lt4wtckt}5q{2ksclscmscnscoscps4ls4wvcks}5r{2ks4ws}5t{2kwclvcmvcnvcovcpv4lv4wwckv}eo{17st5tt5os}fu{17su5tu5ot}6p{17ss5ts}ek{17st5tt5os}el{17st5tt5os}em{17st5tt5os}en{17st5tt5os}6o{201ts}ep{17st5tt5os}es{17ss5ts}et{17ss5ts}eu{17ss5ts}ev{17ss5ts}6z{17su5tu5os5qt}fm{17su5tu5os5qt}fn{17su5tu5os5qt}fo{17su5tu5os5qt}fp{17su5tu5os5qt}fq{17su5tu5os5qt}fs{17su5tu5os5qt}ft{17su5tu5ot}7m{5os}fv{17su5tu5ot}fw{17su5tu5ot}}}\"\n ),\n ZapfDingbats: uncompress(\"{'widths'{k4u2k1w'fof'6o}'kerning'{'fof'-6o}}\"),\n \"Courier-Bold\": uncompress(\"{'widths'{k3w'fof'6o}'kerning'{'fof'-6o}}\"),\n \"Times-Italic\": uncompress(\n \"{'widths'{k3n2q4ycx2l201n3m201o5t201s2l201t2l201u2l201w3r201x3r201y3r2k1t2l2l202m2n2n3m2o3m2p5n202q5t2r1p2s2l2t2l2u3m2v4n2w1t2x2l2y1t2z1w3k3m3l3m3m3m3n3m3o3m3p3m3q3m3r3m3s3m203t2l203u2l3v2l3w4n3x4n3y4n3z3m4k5w4l3x4m3x4n4m4o4s4p3x4q3x4r4s4s4s4t2l4u2w4v4m4w3r4x5n4y4m4z4s5k3x5l4s5m3x5n3m5o3r5p4s5q3x5r5n5s3x5t3r5u3r5v2r5w1w5x2r5y2u5z3m6k2l6l3m6m3m6n2w6o3m6p2w6q1w6r3m6s3m6t1w6u1w6v2w6w1w6x4s6y3m6z3m7k3m7l3m7m2r7n2r7o1w7p3m7q2w7r4m7s2w7t2w7u2r7v2s7w1v7x2s7y3q202l3mcl3xal2ram3man3mao3map3mar3mas2lat4wau1vav3maw4nay4waz2lbk2sbl4n'fof'6obo2lbp3mbq3obr1tbs2lbu1zbv3mbz3mck3x202k3mcm3xcn3xco3xcp3xcq5tcr4mcs3xct3xcu3xcv3xcw2l2m2ucy2lcz2ldl4mdm4sdn4sdo4sdp4sdq4sds4sdt4sdu4sdv4sdw4sdz3mek3mel3mem3men3meo3mep3meq4mer2wes2wet2weu2wev2wew1wex1wey1wez1wfl3mfm3mfn3mfo3mfp3mfq3mfr4nfs3mft3mfu3mfv3mfw3mfz2w203k6o212m6m2dw2l2cq2l3t3m3u2l17s3r19m3m}'kerning'{cl{5kt4qw}201s{201sw}201t{201tw2wy2yy6q-t}201x{2wy2yy}2k{201tw}2w{7qs4qy7rs5ky7mw5os5qx5ru17su5tu}2x{17ss5ts5os}2y{7qs4qy7rs5ky7mw5os5qx5ru17su5tu}'fof'-6o6t{17ss5ts5qs}7t{5os}3v{5qs}7p{17su5tu5qs}ck{5kt4qw}4l{5kt4qw}cm{5kt4qw}cn{5kt4qw}co{5kt4qw}cp{5kt4qw}6l{4qs5ks5ou5qw5ru17su5tu}17s{2ks}5q{ckvclvcmvcnvcovcpv4lv}5r{ckuclucmucnucoucpu4lu}5t{2ks}6p{4qs5ks5ou5qw5ru17su5tu}ek{4qs5ks5ou5qw5ru17su5tu}el{4qs5ks5ou5qw5ru17su5tu}em{4qs5ks5ou5qw5ru17su5tu}en{4qs5ks5ou5qw5ru17su5tu}eo{4qs5ks5ou5qw5ru17su5tu}ep{4qs5ks5ou5qw5ru17su5tu}es{5ks5qs4qs}et{4qs5ks5ou5qw5ru17su5tu}eu{4qs5ks5qw5ru17su5tu}ev{5ks5qs4qs}ex{17ss5ts5qs}6z{4qv5ks5ou5qw5ru17su5tu}fm{4qv5ks5ou5qw5ru17su5tu}fn{4qv5ks5ou5qw5ru17su5tu}fo{4qv5ks5ou5qw5ru17su5tu}fp{4qv5ks5ou5qw5ru17su5tu}fq{4qv5ks5ou5qw5ru17su5tu}7r{5os}fs{4qv5ks5ou5qw5ru17su5tu}ft{17su5tu5qs}fu{17su5tu5qs}fv{17su5tu5qs}fw{17su5tu5qs}}}\"\n ),\n \"Times-Roman\": uncompress(\n \"{'widths'{k3n2q4ycx2l201n3m201o6o201s2l201t2l201u2l201w2w201x2w201y2w2k1t2l2l202m2n2n3m2o3m2p5n202q6o2r1m2s2l2t2l2u3m2v3s2w1t2x2l2y1t2z1w3k3m3l3m3m3m3n3m3o3m3p3m3q3m3r3m3s3m203t2l203u2l3v1w3w3s3x3s3y3s3z2w4k5w4l4s4m4m4n4m4o4s4p3x4q3r4r4s4s4s4t2l4u2r4v4s4w3x4x5t4y4s4z4s5k3r5l4s5m4m5n3r5o3x5p4s5q4s5r5y5s4s5t4s5u3x5v2l5w1w5x2l5y2z5z3m6k2l6l2w6m3m6n2w6o3m6p2w6q2l6r3m6s3m6t1w6u1w6v3m6w1w6x4y6y3m6z3m7k3m7l3m7m2l7n2r7o1w7p3m7q3m7r4s7s3m7t3m7u2w7v3k7w1o7x3k7y3q202l3mcl4sal2lam3man3mao3map3mar3mas2lat4wau1vav3maw3say4waz2lbk2sbl3s'fof'6obo2lbp3mbq2xbr1tbs2lbu1zbv3mbz2wck4s202k3mcm4scn4sco4scp4scq5tcr4mcs3xct3xcu3xcv3xcw2l2m2tcy2lcz2ldl4sdm4sdn4sdo4sdp4sdq4sds4sdt4sdu4sdv4sdw4sdz3mek2wel2wem2wen2weo2wep2weq4mer2wes2wet2weu2wev2wew1wex1wey1wez1wfl3mfm3mfn3mfo3mfp3mfq3mfr3sfs3mft3mfu3mfv3mfw3mfz3m203k6o212m6m2dw2l2cq2l3t3m3u1w17s4s19m3m}'kerning'{cl{4qs5ku17sw5ou5qy5rw201ss5tw201ws}201s{201ss}201t{ckw4lwcmwcnwcowcpwclw4wu201ts}2k{201ts}2w{4qs5kw5os5qx5ru17sx5tx}2x{17sw5tw5ou5qu}2y{4qs5kw5os5qx5ru17sx5tx}'fof'-6o7t{ckuclucmucnucoucpu4lu5os5rs}3u{17su5tu5qs}3v{17su5tu5qs}7p{17sw5tw5qs}ck{4qs5ku17sw5ou5qy5rw201ss5tw201ws}4l{4qs5ku17sw5ou5qy5rw201ss5tw201ws}cm{4qs5ku17sw5ou5qy5rw201ss5tw201ws}cn{4qs5ku17sw5ou5qy5rw201ss5tw201ws}co{4qs5ku17sw5ou5qy5rw201ss5tw201ws}cp{4qs5ku17sw5ou5qy5rw201ss5tw201ws}6l{17su5tu5os5qw5rs}17s{2ktclvcmvcnvcovcpv4lv4wuckv}5o{ckwclwcmwcnwcowcpw4lw4wu}5q{ckyclycmycnycoycpy4ly4wu5ms}5r{cktcltcmtcntcotcpt4lt4ws}5t{2ktclvcmvcnvcovcpv4lv4wuckv}7q{cksclscmscnscoscps4ls}6p{17su5tu5qw5rs}ek{5qs5rs}el{17su5tu5os5qw5rs}em{17su5tu5os5qs5rs}en{17su5qs5rs}eo{5qs5rs}ep{17su5tu5os5qw5rs}es{5qs}et{17su5tu5qw5rs}eu{17su5tu5qs5rs}ev{5qs}6z{17sv5tv5os5qx5rs}fm{5os5qt5rs}fn{17sv5tv5os5qx5rs}fo{17sv5tv5os5qx5rs}fp{5os5qt5rs}fq{5os5qt5rs}7r{ckuclucmucnucoucpu4lu5os}fs{17sv5tv5os5qx5rs}ft{17ss5ts5qs}fu{17sw5tw5qs}fv{17sw5tw5qs}fw{17ss5ts5qs}fz{ckuclucmucnucoucpu4lu5os5rs}}}\"\n ),\n \"Helvetica-Oblique\": uncompress(\n \"{'widths'{k3p2q4mcx1w201n3r201o6o201s1q201t1q201u1q201w2l201x2l201y2l2k1w2l1w202m2n2n3r2o3r2p5t202q6o2r1n2s2l2t2l2u2r2v3u2w1w2x2l2y1w2z1w3k3r3l3r3m3r3n3r3o3r3p3r3q3r3r3r3s3r203t2l203u2l3v1w3w3u3x3u3y3u3z3r4k6p4l4m4m4m4n4s4o4s4p4m4q3x4r4y4s4s4t1w4u3m4v4m4w3r4x5n4y4s4z4y5k4m5l4y5m4s5n4m5o3x5p4s5q4m5r5y5s4m5t4m5u3x5v1w5w1w5x1w5y2z5z3r6k2l6l3r6m3r6n3m6o3r6p3r6q1w6r3r6s3r6t1q6u1q6v3m6w1q6x5n6y3r6z3r7k3r7l3r7m2l7n3m7o1w7p3r7q3m7r4s7s3m7t3m7u3m7v2l7w1u7x2l7y3u202l3rcl4mal2lam3ran3rao3rap3rar3ras2lat4tau2pav3raw3uay4taz2lbk2sbl3u'fof'6obo2lbp3rbr1wbs2lbu2obv3rbz3xck4m202k3rcm4mcn4mco4mcp4mcq6ocr4scs4mct4mcu4mcv4mcw1w2m2ncy1wcz1wdl4sdm4ydn4ydo4ydp4ydq4yds4ydt4sdu4sdv4sdw4sdz3xek3rel3rem3ren3reo3rep3req5ter3mes3ret3reu3rev3rew1wex1wey1wez1wfl3rfm3rfn3rfo3rfp3rfq3rfr3ufs3xft3rfu3rfv3rfw3rfz3m203k6o212m6o2dw2l2cq2l3t3r3u1w17s4m19m3r}'kerning'{5q{4wv}cl{4qs5kw5ow5qs17sv5tv}201t{2wu4w1k2yu}201x{2wu4wy2yu}17s{2ktclucmucnu4otcpu4lu4wycoucku}2w{7qs4qz5k1m17sy5ow5qx5rsfsu5ty7tufzu}2x{17sy5ty5oy5qs}2y{7qs4qz5k1m17sy5ow5qx5rsfsu5ty7tufzu}'fof'-6o7p{17sv5tv5ow}ck{4qs5kw5ow5qs17sv5tv}4l{4qs5kw5ow5qs17sv5tv}cm{4qs5kw5ow5qs17sv5tv}cn{4qs5kw5ow5qs17sv5tv}co{4qs5kw5ow5qs17sv5tv}cp{4qs5kw5ow5qs17sv5tv}6l{17sy5ty5ow}do{17st5tt}4z{17st5tt}7s{fst}dm{17st5tt}dn{17st5tt}5o{ckwclwcmwcnwcowcpw4lw4wv}dp{17st5tt}dq{17st5tt}7t{5ow}ds{17st5tt}5t{2ktclucmucnu4otcpu4lu4wycoucku}fu{17sv5tv5ow}6p{17sy5ty5ow5qs}ek{17sy5ty5ow}el{17sy5ty5ow}em{17sy5ty5ow}en{5ty}eo{17sy5ty5ow}ep{17sy5ty5ow}es{17sy5ty5qs}et{17sy5ty5ow5qs}eu{17sy5ty5ow5qs}ev{17sy5ty5ow5qs}6z{17sy5ty5ow5qs}fm{17sy5ty5ow5qs}fn{17sy5ty5ow5qs}fo{17sy5ty5ow5qs}fp{17sy5ty5qs}fq{17sy5ty5ow5qs}7r{5ow}fs{17sy5ty5ow5qs}ft{17sv5tv5ow}7m{5ow}fv{17sv5tv5ow}fw{17sv5tv5ow}}}\"\n )\n }\n };\n\n /*\n\tThis event handler is fired when a new jsPDF object is initialized\n\tThis event handler appends metrics data to standard fonts within\n\tthat jsPDF instance. The metrics are mapped over Unicode character\n\tcodes, NOT CIDs or other codes matching the StandardEncoding table of the\n\tstandard PDF fonts.\n\tFuture:\n\tAlso included is the encoding maping table, converting Unicode (UCS-2, UTF-16)\n\tchar codes to StandardEncoding character codes. The encoding table is to be used\n\tsomewhere around \"pdfEscape\" call.\n\t*/\n API.events.push([\n \"addFont\",\n function(data) {\n var font = data.font;\n\n var metrics = fontMetrics[\"Unicode\"][font.postScriptName];\n if (metrics) {\n font.metadata[\"Unicode\"] = {};\n font.metadata[\"Unicode\"].widths = metrics.widths;\n font.metadata[\"Unicode\"].kerning = metrics.kerning;\n }\n\n var encodingBlock = encodings[\"Unicode\"][font.postScriptName];\n if (encodingBlock) {\n font.metadata[\"Unicode\"].encoding = encodingBlock;\n font.encoding = encodingBlock.codePages[0];\n }\n }\n ]); // end of adding event handler\n})(jsPDF.API);\n","/**\n * @license\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\n\nimport { jsPDF } from \"../jspdf.js\";\nimport { atob } from \"../libs/AtobBtoa.js\";\n\n/**\n * @name ttfsupport\n * @module\n */\n(function(jsPDF) {\n \"use strict\";\n\n var binaryStringToUint8Array = function(binary_string) {\n var len = binary_string.length;\n var bytes = new Uint8Array(len);\n for (var i = 0; i < len; i++) {\n bytes[i] = binary_string.charCodeAt(i);\n }\n return bytes;\n };\n\n var addFont = function(font, file) {\n // eslint-disable-next-line no-control-regex\n if (/^\\x00\\x01\\x00\\x00/.test(file)) {\n file = binaryStringToUint8Array(file);\n } else {\n file = binaryStringToUint8Array(atob(file));\n }\n font.metadata = jsPDF.API.TTFFont.open(file);\n font.metadata.Unicode = font.metadata.Unicode || {\n encoding: {},\n kerning: {},\n widths: []\n };\n font.metadata.glyIdsUsed = [0];\n };\n\n jsPDF.API.events.push([\n \"addFont\",\n function(data) {\n var file = undefined;\n var font = data.font;\n var instance = data.instance;\n if (font.isStandardFont) {\n return;\n }\n if (typeof instance !== \"undefined\") {\n if (instance.existsFileInVFS(font.postScriptName) === false) {\n file = instance.loadFile(font.postScriptName);\n } else {\n file = instance.getFileFromVFS(font.postScriptName);\n }\n if (typeof file !== \"string\") {\n throw new Error(\n \"Font is not stored as string-data in vFS, import fonts or remove declaration doc.addFont('\" +\n font.postScriptName +\n \"').\"\n );\n }\n addFont(font, file);\n } else {\n throw new Error(\n \"Font does not exist in vFS, import fonts or remove declaration doc.addFont('\" +\n font.postScriptName +\n \"').\"\n );\n }\n }\n ]); // end of adding event handler\n})(jsPDF);\n","/** @license\n * Copyright (c) 2012 Willow Systems Corporation, https://github.com/willowsystems\n *\n * Permission is hereby granted, free of charge, to any person obtaining\n * a copy of this software and associated documentation files (the\n * \"Software\"), to deal in the Software without restriction, including\n * without limitation the rights to use, copy, modify, merge, publish,\n * distribute, sublicense, and/or sell copies of the Software, and to\n * permit persons to whom the Software is furnished to do so, subject to\n * the following conditions:\n *\n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\n * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\n * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\n * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n * ====================================================================\n */\n\nimport { jsPDF } from \"../jspdf.js\";\nimport { console } from \"../libs/console.js\";\nimport { globalObject } from \"../libs/globalObject.js\";\n\n/**\n * jsPDF SVG plugin\n *\n * @name svg\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n\n function loadCanvg() {\n return (function() {\n if (globalObject[\"canvg\"]) {\n return Promise.resolve(globalObject[\"canvg\"]);\n }\n\n return import(\"canvg\");\n\n })()\n .catch(function(e) {\n return Promise.reject(new Error(\"Could not load canvg: \" + e));\n })\n .then(function(canvg) {\n return canvg.default ? canvg.default : canvg;\n });\n }\n\n /**\n * Parses SVG XML and saves it as image into the PDF.\n *\n * Depends on canvas-element and canvg\n *\n * @name addSvgAsImage\n * @public\n * @function\n * @param {string} SVG-Data as Text\n * @param {number} x Coordinate (in units declared at inception of PDF document) against left edge of the page\n * @param {number} y Coordinate (in units declared at inception of PDF document) against upper edge of the page\n * @param {number} width of SVG-Image (in units declared at inception of PDF document)\n * @param {number} height of SVG-Image (in units declared at inception of PDF document)\n * @param {string} alias of SVG-Image (if used multiple times)\n * @param {string} compression of the generated JPEG, can have the values 'NONE', 'FAST', 'MEDIUM' and 'SLOW'\n * @param {number} rotation of the image in degrees (0-359)\n *\n * @returns jsPDF jsPDF-instance\n */\n jsPDFAPI.addSvgAsImage = function(\n svg,\n x,\n y,\n w,\n h,\n alias,\n compression,\n rotation\n ) {\n if (isNaN(x) || isNaN(y)) {\n console.error(\"jsPDF.addSvgAsImage: Invalid coordinates\", arguments);\n throw new Error(\"Invalid coordinates passed to jsPDF.addSvgAsImage\");\n }\n\n if (isNaN(w) || isNaN(h)) {\n console.error(\"jsPDF.addSvgAsImage: Invalid measurements\", arguments);\n throw new Error(\n \"Invalid measurements (width and/or height) passed to jsPDF.addSvgAsImage\"\n );\n }\n\n var canvas = document.createElement(\"canvas\");\n canvas.width = w;\n canvas.height = h;\n var ctx = canvas.getContext(\"2d\");\n ctx.fillStyle = \"#fff\"; /// set white fill style\n ctx.fillRect(0, 0, canvas.width, canvas.height);\n\n var options = {\n ignoreMouse: true,\n ignoreAnimation: true,\n ignoreDimensions: true\n };\n var doc = this;\n return loadCanvg()\n .then(\n function(canvg) {\n return canvg.fromString(ctx, svg, options);\n },\n function() {\n return Promise.reject(new Error(\"Could not load canvg.\"));\n }\n )\n .then(function(instance) {\n return instance.render(options);\n })\n .then(function() {\n doc.addImage(\n canvas.toDataURL(\"image/jpeg\", 1.0),\n x,\n y,\n w,\n h,\n compression,\n rotation\n );\n });\n };\n})(jsPDF.API);\n","/**\n * @license\n * ====================================================================\n * Copyright (c) 2013 Eduardo Menezes de Morais, eduardo.morais@usp.br\n *\n * Permission is hereby granted, free of charge, to any person obtaining\n * a copy of this software and associated documentation files (the\n * \"Software\"), to deal in the Software without restriction, including\n * without limitation the rights to use, copy, modify, merge, publish,\n * distribute, sublicense, and/or sell copies of the Software, and to\n * permit persons to whom the Software is furnished to do so, subject to\n * the following conditions:\n *\n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\n * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\n * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\n * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n * ====================================================================\n */\n\nimport { jsPDF } from \"../jspdf.js\";\n\n/**\n * jsPDF total_pages plugin\n * @name total_pages\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n /**\n * @name putTotalPages\n * @function\n * @param {string} pageExpression Regular Expression\n * @returns {jsPDF} jsPDF-instance\n */\n\n jsPDFAPI.putTotalPages = function(pageExpression) {\n \"use strict\";\n\n var replaceExpression;\n var totalNumberOfPages = 0;\n if (parseInt(this.internal.getFont().id.substr(1), 10) < 15) {\n replaceExpression = new RegExp(pageExpression, \"g\");\n totalNumberOfPages = this.internal.getNumberOfPages();\n } else {\n replaceExpression = new RegExp(\n this.pdfEscape16(pageExpression, this.internal.getFont()),\n \"g\"\n );\n totalNumberOfPages = this.pdfEscape16(\n this.internal.getNumberOfPages() + \"\",\n this.internal.getFont()\n );\n }\n\n for (var n = 1; n <= this.internal.getNumberOfPages(); n++) {\n for (var i = 0; i < this.internal.pages[n].length; i++) {\n this.internal.pages[n][i] = this.internal.pages[n][i].replace(\n replaceExpression,\n totalNumberOfPages\n );\n }\n }\n\n return this;\n };\n})(jsPDF.API);\n","/**\n * @license\n * jsPDF viewerPreferences Plugin\n * @author Aras Abbasi (github.com/arasabbasi)\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\n\nimport { jsPDF } from \"../jspdf.js\";\n\n/**\n * Adds the ability to set ViewerPreferences and by thus\n * controlling the way the document is to be presented on the\n * screen or in print.\n * @name viewerpreferences\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n /**\n * Set the ViewerPreferences of the generated PDF\n *\n * @name viewerPreferences\n * @function\n * @public\n * @param {Object} options Array with the ViewerPreferences
    \n * Example: doc.viewerPreferences({\"FitWindow\":true});
    \n *
    \n * You can set following preferences:
    \n *
    \n * HideToolbar (boolean)
    \n * Default value: false
    \n *
    \n * HideMenubar (boolean)
    \n * Default value: false.
    \n *
    \n * HideWindowUI (boolean)
    \n * Default value: false.
    \n *
    \n * FitWindow (boolean)
    \n * Default value: false.
    \n *
    \n * CenterWindow (boolean)
    \n * Default value: false
    \n *
    \n * DisplayDocTitle (boolean)
    \n * Default value: false.
    \n *
    \n * NonFullScreenPageMode (string)
    \n * Possible values: UseNone, UseOutlines, UseThumbs, UseOC
    \n * Default value: UseNone
    \n *
    \n * Direction (string)
    \n * Possible values: L2R, R2L
    \n * Default value: L2R.
    \n *
    \n * ViewArea (string)
    \n * Possible values: MediaBox, CropBox, TrimBox, BleedBox, ArtBox
    \n * Default value: CropBox.
    \n *
    \n * ViewClip (string)
    \n * Possible values: MediaBox, CropBox, TrimBox, BleedBox, ArtBox
    \n * Default value: CropBox
    \n *
    \n * PrintArea (string)
    \n * Possible values: MediaBox, CropBox, TrimBox, BleedBox, ArtBox
    \n * Default value: CropBox
    \n *
    \n * PrintClip (string)
    \n * Possible values: MediaBox, CropBox, TrimBox, BleedBox, ArtBox
    \n * Default value: CropBox.
    \n *
    \n * PrintScaling (string)
    \n * Possible values: AppDefault, None
    \n * Default value: AppDefault.
    \n *
    \n * Duplex (string)
    \n * Possible values: Simplex, DuplexFlipLongEdge, DuplexFlipShortEdge\n * Default value: none
    \n *
    \n * PickTrayByPDFSize (boolean)
    \n * Default value: false
    \n *
    \n * PrintPageRange (Array)
    \n * Example: [[1,5], [7,9]]
    \n * Default value: as defined by PDF viewer application
    \n *
    \n * NumCopies (Number)
    \n * Possible values: 1, 2, 3, 4, 5
    \n * Default value: 1
    \n *
    \n * For more information see the PDF Reference, sixth edition on Page 577\n * @param {boolean} doReset True to reset the settings\n * @function\n * @returns jsPDF jsPDF-instance\n * @example\n * var doc = new jsPDF()\n * doc.text('This is a test', 10, 10)\n * doc.viewerPreferences({'FitWindow': true}, true)\n * doc.save(\"viewerPreferences.pdf\")\n *\n * // Example printing 10 copies, using cropbox, and hiding UI.\n * doc.viewerPreferences({\n * 'HideWindowUI': true,\n * 'PrintArea': 'CropBox',\n * 'NumCopies': 10\n * })\n */\n jsPDFAPI.viewerPreferences = function(options, doReset) {\n options = options || {};\n doReset = doReset || false;\n\n var configuration;\n var configurationTemplate = {\n HideToolbar: {\n defaultValue: false,\n value: false,\n type: \"boolean\",\n explicitSet: false,\n valueSet: [true, false],\n pdfVersion: 1.3\n },\n HideMenubar: {\n defaultValue: false,\n value: false,\n type: \"boolean\",\n explicitSet: false,\n valueSet: [true, false],\n pdfVersion: 1.3\n },\n HideWindowUI: {\n defaultValue: false,\n value: false,\n type: \"boolean\",\n explicitSet: false,\n valueSet: [true, false],\n pdfVersion: 1.3\n },\n FitWindow: {\n defaultValue: false,\n value: false,\n type: \"boolean\",\n explicitSet: false,\n valueSet: [true, false],\n pdfVersion: 1.3\n },\n CenterWindow: {\n defaultValue: false,\n value: false,\n type: \"boolean\",\n explicitSet: false,\n valueSet: [true, false],\n pdfVersion: 1.3\n },\n DisplayDocTitle: {\n defaultValue: false,\n value: false,\n type: \"boolean\",\n explicitSet: false,\n valueSet: [true, false],\n pdfVersion: 1.4\n },\n NonFullScreenPageMode: {\n defaultValue: \"UseNone\",\n value: \"UseNone\",\n type: \"name\",\n explicitSet: false,\n valueSet: [\"UseNone\", \"UseOutlines\", \"UseThumbs\", \"UseOC\"],\n pdfVersion: 1.3\n },\n Direction: {\n defaultValue: \"L2R\",\n value: \"L2R\",\n type: \"name\",\n explicitSet: false,\n valueSet: [\"L2R\", \"R2L\"],\n pdfVersion: 1.3\n },\n ViewArea: {\n defaultValue: \"CropBox\",\n value: \"CropBox\",\n type: \"name\",\n explicitSet: false,\n valueSet: [\"MediaBox\", \"CropBox\", \"TrimBox\", \"BleedBox\", \"ArtBox\"],\n pdfVersion: 1.4\n },\n ViewClip: {\n defaultValue: \"CropBox\",\n value: \"CropBox\",\n type: \"name\",\n explicitSet: false,\n valueSet: [\"MediaBox\", \"CropBox\", \"TrimBox\", \"BleedBox\", \"ArtBox\"],\n pdfVersion: 1.4\n },\n PrintArea: {\n defaultValue: \"CropBox\",\n value: \"CropBox\",\n type: \"name\",\n explicitSet: false,\n valueSet: [\"MediaBox\", \"CropBox\", \"TrimBox\", \"BleedBox\", \"ArtBox\"],\n pdfVersion: 1.4\n },\n PrintClip: {\n defaultValue: \"CropBox\",\n value: \"CropBox\",\n type: \"name\",\n explicitSet: false,\n valueSet: [\"MediaBox\", \"CropBox\", \"TrimBox\", \"BleedBox\", \"ArtBox\"],\n pdfVersion: 1.4\n },\n PrintScaling: {\n defaultValue: \"AppDefault\",\n value: \"AppDefault\",\n type: \"name\",\n explicitSet: false,\n valueSet: [\"AppDefault\", \"None\"],\n pdfVersion: 1.6\n },\n Duplex: {\n defaultValue: \"\",\n value: \"none\",\n type: \"name\",\n explicitSet: false,\n valueSet: [\n \"Simplex\",\n \"DuplexFlipShortEdge\",\n \"DuplexFlipLongEdge\",\n \"none\"\n ],\n pdfVersion: 1.7\n },\n PickTrayByPDFSize: {\n defaultValue: false,\n value: false,\n type: \"boolean\",\n explicitSet: false,\n valueSet: [true, false],\n pdfVersion: 1.7\n },\n PrintPageRange: {\n defaultValue: \"\",\n value: \"\",\n type: \"array\",\n explicitSet: false,\n valueSet: null,\n pdfVersion: 1.7\n },\n NumCopies: {\n defaultValue: 1,\n value: 1,\n type: \"integer\",\n explicitSet: false,\n valueSet: null,\n pdfVersion: 1.7\n }\n };\n\n var configurationKeys = Object.keys(configurationTemplate);\n\n var rangeArray = [];\n var i = 0;\n var j = 0;\n var k = 0;\n var isValid;\n\n var method;\n var value;\n\n function arrayContainsElement(array, element) {\n var iterator;\n var result = false;\n\n for (iterator = 0; iterator < array.length; iterator += 1) {\n if (array[iterator] === element) {\n result = true;\n }\n }\n return result;\n }\n\n if (this.internal.viewerpreferences === undefined) {\n this.internal.viewerpreferences = {};\n this.internal.viewerpreferences.configuration = JSON.parse(\n JSON.stringify(configurationTemplate)\n );\n this.internal.viewerpreferences.isSubscribed = false;\n }\n configuration = this.internal.viewerpreferences.configuration;\n\n if (options === \"reset\" || doReset === true) {\n var len = configurationKeys.length;\n\n for (k = 0; k < len; k += 1) {\n configuration[configurationKeys[k]].value =\n configuration[configurationKeys[k]].defaultValue;\n configuration[configurationKeys[k]].explicitSet = false;\n }\n }\n\n if (typeof options === \"object\") {\n for (method in options) {\n value = options[method];\n if (\n arrayContainsElement(configurationKeys, method) &&\n value !== undefined\n ) {\n if (\n configuration[method].type === \"boolean\" &&\n typeof value === \"boolean\"\n ) {\n configuration[method].value = value;\n } else if (\n configuration[method].type === \"name\" &&\n arrayContainsElement(configuration[method].valueSet, value)\n ) {\n configuration[method].value = value;\n } else if (\n configuration[method].type === \"integer\" &&\n Number.isInteger(value)\n ) {\n configuration[method].value = value;\n } else if (configuration[method].type === \"array\") {\n for (i = 0; i < value.length; i += 1) {\n isValid = true;\n if (value[i].length === 1 && typeof value[i][0] === \"number\") {\n rangeArray.push(String(value[i] - 1));\n } else if (value[i].length > 1) {\n for (j = 0; j < value[i].length; j += 1) {\n if (typeof value[i][j] !== \"number\") {\n isValid = false;\n }\n }\n if (isValid === true) {\n rangeArray.push([value[i][0] - 1, value[i][1] - 1].join(\" \"));\n }\n }\n }\n configuration[method].value = \"[\" + rangeArray.join(\" \") + \"]\";\n } else {\n configuration[method].value = configuration[method].defaultValue;\n }\n\n configuration[method].explicitSet = true;\n }\n }\n }\n\n if (this.internal.viewerpreferences.isSubscribed === false) {\n this.internal.events.subscribe(\"putCatalog\", function() {\n var pdfDict = [];\n var vPref;\n for (vPref in configuration) {\n if (configuration[vPref].explicitSet === true) {\n if (configuration[vPref].type === \"name\") {\n pdfDict.push(\"/\" + vPref + \" /\" + configuration[vPref].value);\n } else {\n pdfDict.push(\"/\" + vPref + \" \" + configuration[vPref].value);\n }\n }\n }\n if (pdfDict.length !== 0) {\n this.internal.write(\n \"/ViewerPreferences\\n<<\\n\" + pdfDict.join(\"\\n\") + \"\\n>>\"\n );\n }\n });\n this.internal.viewerpreferences.isSubscribed = true;\n }\n\n this.internal.viewerpreferences.configuration = configuration;\n return this;\n };\n})(jsPDF.API);\n","/** ====================================================================\n * @license\n * jsPDF XMP metadata plugin\n * Copyright (c) 2016 Jussi Utunen, u-jussi@suomi24.fi\n *\n * Permission is hereby granted, free of charge, to any person obtaining\n * a copy of this software and associated documentation files (the\n * \"Software\"), to deal in the Software without restriction, including\n * without limitation the rights to use, copy, modify, merge, publish,\n * distribute, sublicense, and/or sell copies of the Software, and to\n * permit persons to whom the Software is furnished to do so, subject to\n * the following conditions:\n *\n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\n * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\n * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\n * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n * ====================================================================\n */\n\nimport { jsPDF } from \"../jspdf.js\";\n\n/**\n * @name xmp_metadata\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n\n var postPutResources = function() {\n var xmpmeta_beginning = '';\n var rdf_beginning =\n '';\n var rdf_ending = \"\";\n var xmpmeta_ending = \"\";\n var utf8_xmpmeta_beginning = unescape(\n encodeURIComponent(xmpmeta_beginning)\n );\n var utf8_rdf_beginning = unescape(encodeURIComponent(rdf_beginning));\n var utf8_metadata = unescape(\n encodeURIComponent(this.internal.__metadata__.metadata)\n );\n var utf8_rdf_ending = unescape(encodeURIComponent(rdf_ending));\n var utf8_xmpmeta_ending = unescape(encodeURIComponent(xmpmeta_ending));\n\n var total_len =\n utf8_rdf_beginning.length +\n utf8_metadata.length +\n utf8_rdf_ending.length +\n utf8_xmpmeta_beginning.length +\n utf8_xmpmeta_ending.length;\n\n this.internal.__metadata__.metadata_object_number = this.internal.newObject();\n this.internal.write(\n \"<< /Type /Metadata /Subtype /XML /Length \" + total_len + \" >>\"\n );\n this.internal.write(\"stream\");\n this.internal.write(\n utf8_xmpmeta_beginning +\n utf8_rdf_beginning +\n utf8_metadata +\n utf8_rdf_ending +\n utf8_xmpmeta_ending\n );\n this.internal.write(\"endstream\");\n this.internal.write(\"endobj\");\n };\n\n var putCatalog = function() {\n if (this.internal.__metadata__.metadata_object_number) {\n this.internal.write(\n \"/Metadata \" +\n this.internal.__metadata__.metadata_object_number +\n \" 0 R\"\n );\n }\n };\n\n /**\n * Adds XMP formatted metadata to PDF\n *\n * @name addMetadata\n * @function\n * @param {String} metadata The actual metadata to be added. The metadata shall be stored as XMP simple value. Note that if the metadata string contains XML markup characters \"<\", \">\" or \"&\", those characters should be written using XML entities.\n * @param {String} namespaceuri Sets the namespace URI for the metadata. Last character should be slash or hash.\n * @returns {jsPDF} jsPDF-instance\n */\n jsPDFAPI.addMetadata = function(metadata, namespaceuri) {\n if (typeof this.internal.__metadata__ === \"undefined\") {\n this.internal.__metadata__ = {\n metadata: metadata,\n namespaceuri: namespaceuri || \"http://jspdf.default.namespaceuri/\"\n };\n this.internal.events.subscribe(\"putCatalog\", putCatalog);\n\n this.internal.events.subscribe(\"postPutResources\", postPutResources);\n }\n return this;\n };\n})(jsPDF.API);\n","import { jsPDF } from \"../jspdf.js\";\nimport { toPDFName } from \"../libs/pdfname.js\";\n\n/**\n * @name utf8\n * @module\n */\n(function(jsPDF) {\n \"use strict\";\n var jsPDFAPI = jsPDF.API;\n\n /***************************************************************************************************/\n /* function : pdfEscape16 */\n /* comment : The character id of a 2-byte string is converted to a hexadecimal number by obtaining */\n /* the corresponding glyph id and width, and then adding padding to the string. */\n /***************************************************************************************************/\n var pdfEscape16 = (jsPDFAPI.pdfEscape16 = function(text, font) {\n var widths = font.metadata.Unicode.widths;\n var padz = [\"\", \"0\", \"00\", \"000\", \"0000\"];\n var ar = [\"\"];\n for (var i = 0, l = text.length, t; i < l; ++i) {\n t = font.metadata.characterToGlyph(text.charCodeAt(i));\n font.metadata.glyIdsUsed.push(t);\n font.metadata.toUnicode[t] = text.charCodeAt(i);\n if (widths.indexOf(t) == -1) {\n widths.push(t);\n widths.push([parseInt(font.metadata.widthOfGlyph(t), 10)]);\n }\n if (t == \"0\") {\n //Spaces are not allowed in cmap.\n return ar.join(\"\");\n } else {\n t = t.toString(16);\n ar.push(padz[4 - t.length], t);\n }\n }\n return ar.join(\"\");\n });\n\n var toUnicodeCmap = function(map) {\n var code, codes, range, unicode, unicodeMap, _i, _len;\n unicodeMap =\n \"/CIDInit /ProcSet findresource begin\\n12 dict begin\\nbegincmap\\n/CIDSystemInfo <<\\n /Registry (Adobe)\\n /Ordering (UCS)\\n /Supplement 0\\n>> def\\n/CMapName /Adobe-Identity-UCS def\\n/CMapType 2 def\\n1 begincodespacerange\\n<0000>\\nendcodespacerange\";\n codes = Object.keys(map).sort(function(a, b) {\n return a - b;\n });\n\n range = [];\n for (_i = 0, _len = codes.length; _i < _len; _i++) {\n code = codes[_i];\n if (range.length >= 100) {\n unicodeMap +=\n \"\\n\" +\n range.length +\n \" beginbfchar\\n\" +\n range.join(\"\\n\") +\n \"\\nendbfchar\";\n range = [];\n }\n\n if (\n map[code] !== undefined &&\n map[code] !== null &&\n typeof map[code].toString === \"function\"\n ) {\n unicode = (\"0000\" + map[code].toString(16)).slice(-4);\n code = (\"0000\" + (+code).toString(16)).slice(-4);\n range.push(\"<\" + code + \"><\" + unicode + \">\");\n }\n }\n\n if (range.length) {\n unicodeMap +=\n \"\\n\" +\n range.length +\n \" beginbfchar\\n\" +\n range.join(\"\\n\") +\n \"\\nendbfchar\\n\";\n }\n unicodeMap +=\n \"endcmap\\nCMapName currentdict /CMap defineresource pop\\nend\\nend\";\n return unicodeMap;\n };\n\n var identityHFunction = function(options) {\n var font = options.font;\n var out = options.out;\n var newObject = options.newObject;\n var putStream = options.putStream;\n\n if (\n font.metadata instanceof jsPDF.API.TTFFont &&\n font.encoding === \"Identity-H\"\n ) {\n //Tag with Identity-H\n var widths = font.metadata.Unicode.widths;\n var data = font.metadata.subset.encode(font.metadata.glyIdsUsed, 1);\n var pdfOutput = data;\n var pdfOutput2 = \"\";\n for (var i = 0; i < pdfOutput.length; i++) {\n pdfOutput2 += String.fromCharCode(pdfOutput[i]);\n }\n var fontTable = newObject();\n putStream({ data: pdfOutput2, addLength1: true, objectId: fontTable });\n out(\"endobj\");\n\n var cmap = newObject();\n var cmapData = toUnicodeCmap(font.metadata.toUnicode);\n putStream({ data: cmapData, addLength1: true, objectId: cmap });\n out(\"endobj\");\n\n var fontDescriptor = newObject();\n out(\"<<\");\n out(\"/Type /FontDescriptor\");\n out(\"/FontName /\" + toPDFName(font.fontName));\n out(\"/FontFile2 \" + fontTable + \" 0 R\");\n out(\"/FontBBox \" + jsPDF.API.PDFObject.convert(font.metadata.bbox));\n out(\"/Flags \" + font.metadata.flags);\n out(\"/StemV \" + font.metadata.stemV);\n out(\"/ItalicAngle \" + font.metadata.italicAngle);\n out(\"/Ascent \" + font.metadata.ascender);\n out(\"/Descent \" + font.metadata.decender);\n out(\"/CapHeight \" + font.metadata.capHeight);\n out(\">>\");\n out(\"endobj\");\n\n var DescendantFont = newObject();\n out(\"<<\");\n out(\"/Type /Font\");\n out(\"/BaseFont /\" + toPDFName(font.fontName));\n out(\"/FontDescriptor \" + fontDescriptor + \" 0 R\");\n out(\"/W \" + jsPDF.API.PDFObject.convert(widths));\n out(\"/CIDToGIDMap /Identity\");\n out(\"/DW 1000\");\n out(\"/Subtype /CIDFontType2\");\n out(\"/CIDSystemInfo\");\n out(\"<<\");\n out(\"/Supplement 0\");\n out(\"/Registry (Adobe)\");\n out(\"/Ordering (\" + font.encoding + \")\");\n out(\">>\");\n out(\">>\");\n out(\"endobj\");\n\n font.objectNumber = newObject();\n out(\"<<\");\n out(\"/Type /Font\");\n out(\"/Subtype /Type0\");\n out(\"/ToUnicode \" + cmap + \" 0 R\");\n out(\"/BaseFont /\" + toPDFName(font.fontName));\n out(\"/Encoding /\" + font.encoding);\n out(\"/DescendantFonts [\" + DescendantFont + \" 0 R]\");\n out(\">>\");\n out(\"endobj\");\n\n font.isAlreadyPutted = true;\n }\n };\n\n jsPDFAPI.events.push([\n \"putFont\",\n function(args) {\n identityHFunction(args);\n }\n ]);\n\n var winAnsiEncodingFunction = function(options) {\n var font = options.font;\n var out = options.out;\n var newObject = options.newObject;\n var putStream = options.putStream;\n\n if (\n font.metadata instanceof jsPDF.API.TTFFont &&\n font.encoding === \"WinAnsiEncoding\"\n ) {\n //Tag with WinAnsi encoding\n var data = font.metadata.rawData;\n var pdfOutput = data;\n var pdfOutput2 = \"\";\n for (var i = 0; i < pdfOutput.length; i++) {\n pdfOutput2 += String.fromCharCode(pdfOutput[i]);\n }\n var fontTable = newObject();\n putStream({ data: pdfOutput2, addLength1: true, objectId: fontTable });\n out(\"endobj\");\n\n var cmap = newObject();\n var cmapData = toUnicodeCmap(font.metadata.toUnicode);\n putStream({ data: cmapData, addLength1: true, objectId: cmap });\n out(\"endobj\");\n\n var fontDescriptor = newObject();\n out(\"<<\");\n out(\"/Descent \" + font.metadata.decender);\n out(\"/CapHeight \" + font.metadata.capHeight);\n out(\"/StemV \" + font.metadata.stemV);\n out(\"/Type /FontDescriptor\");\n out(\"/FontFile2 \" + fontTable + \" 0 R\");\n out(\"/Flags 96\");\n out(\"/FontBBox \" + jsPDF.API.PDFObject.convert(font.metadata.bbox));\n out(\"/FontName /\" + toPDFName(font.fontName));\n out(\"/ItalicAngle \" + font.metadata.italicAngle);\n out(\"/Ascent \" + font.metadata.ascender);\n out(\">>\");\n out(\"endobj\");\n font.objectNumber = newObject();\n for (var j = 0; j < font.metadata.hmtx.widths.length; j++) {\n font.metadata.hmtx.widths[j] = parseInt(\n font.metadata.hmtx.widths[j] * (1000 / font.metadata.head.unitsPerEm)\n ); //Change the width of Em units to Point units.\n }\n out(\n \"<>\"\n );\n out(\"endobj\");\n font.isAlreadyPutted = true;\n }\n };\n\n jsPDFAPI.events.push([\n \"putFont\",\n function(args) {\n winAnsiEncodingFunction(args);\n }\n ]);\n\n var utf8TextFunction = function(args) {\n var text = args.text || \"\";\n var x = args.x;\n var y = args.y;\n var options = args.options || {};\n var mutex = args.mutex || {};\n\n var pdfEscape = mutex.pdfEscape;\n var activeFontKey = mutex.activeFontKey;\n var fonts = mutex.fonts;\n var key = activeFontKey;\n\n var str = \"\",\n s = 0,\n cmapConfirm;\n var strText = \"\";\n var encoding = fonts[key].encoding;\n\n if (fonts[key].encoding !== \"Identity-H\") {\n return {\n text: text,\n x: x,\n y: y,\n options: options,\n mutex: mutex\n };\n }\n strText = text;\n\n key = activeFontKey;\n if (Array.isArray(text)) {\n strText = text[0];\n }\n for (s = 0; s < strText.length; s += 1) {\n if (fonts[key].metadata.hasOwnProperty(\"cmap\")) {\n cmapConfirm =\n fonts[key].metadata.cmap.unicode.codeMap[strText[s].charCodeAt(0)];\n /*\n if (Object.prototype.toString.call(text) === '[object Array]') {\n var i = 0;\n // for (i = 0; i < text.length; i += 1) {\n if (Object.prototype.toString.call(text[s]) === '[object Array]') {\n cmapConfirm = fonts[key].metadata.cmap.unicode.codeMap[strText[s][0].charCodeAt(0)]; //Make sure the cmap has the corresponding glyph id\n } else {\n\n }\n //}\n\n } else {\n cmapConfirm = fonts[key].metadata.cmap.unicode.codeMap[strText[s].charCodeAt(0)]; //Make sure the cmap has the corresponding glyph id\n }*/\n }\n if (!cmapConfirm) {\n if (\n strText[s].charCodeAt(0) < 256 &&\n fonts[key].metadata.hasOwnProperty(\"Unicode\")\n ) {\n str += strText[s];\n } else {\n str += \"\";\n }\n } else {\n str += strText[s];\n }\n }\n var result = \"\";\n if (parseInt(key.slice(1)) < 14 || encoding === \"WinAnsiEncoding\") {\n //For the default 13 font\n result = pdfEscape(str, key)\n .split(\"\")\n .map(function(cv) {\n return cv.charCodeAt(0).toString(16);\n })\n .join(\"\");\n } else if (encoding === \"Identity-H\") {\n result = pdfEscape16(str, fonts[key]);\n }\n mutex.isHex = true;\n\n return {\n text: result,\n x: x,\n y: y,\n options: options,\n mutex: mutex\n };\n };\n\n var utf8EscapeFunction = function(parms) {\n var text = parms.text || \"\",\n x = parms.x,\n y = parms.y,\n options = parms.options,\n mutex = parms.mutex;\n var tmpText = [];\n var args = {\n text: text,\n x: x,\n y: y,\n options: options,\n mutex: mutex\n };\n\n if (Array.isArray(text)) {\n var i = 0;\n for (i = 0; i < text.length; i += 1) {\n if (Array.isArray(text[i])) {\n if (text[i].length === 3) {\n tmpText.push([\n utf8TextFunction(Object.assign({}, args, { text: text[i][0] }))\n .text,\n text[i][1],\n text[i][2]\n ]);\n } else {\n tmpText.push(\n utf8TextFunction(Object.assign({}, args, { text: text[i] })).text\n );\n }\n } else {\n tmpText.push(\n utf8TextFunction(Object.assign({}, args, { text: text[i] })).text\n );\n }\n }\n parms.text = tmpText;\n } else {\n parms.text = utf8TextFunction(\n Object.assign({}, args, { text: text })\n ).text;\n }\n };\n\n jsPDFAPI.events.push([\"postProcessText\", utf8EscapeFunction]);\n})(jsPDF);\n","/**\n * @license\n * jsPDF virtual FileSystem functionality\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\n\nimport { jsPDF } from \"../jspdf.js\";\n\n/**\n * Use the vFS to handle files\n *\n * @name vFS\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n\n var _initializeVFS = function() {\n if (typeof this.internal.vFS === \"undefined\") {\n this.internal.vFS = {};\n }\n return true;\n };\n\n /**\n * Check if the file exists in the vFS\n *\n * @name existsFileInVFS\n * @function\n * @param {string} Possible filename in the vFS.\n * @returns {boolean}\n * @example\n * doc.existsFileInVFS(\"someFile.txt\");\n */\n jsPDFAPI.existsFileInVFS = function(filename) {\n _initializeVFS.call(this);\n return typeof this.internal.vFS[filename] !== \"undefined\";\n };\n\n /**\n * Add a file to the vFS\n *\n * @name addFileToVFS\n * @function\n * @param {string} filename The name of the file which should be added.\n * @param {string} filecontent The content of the file.\n * @returns {jsPDF}\n * @example\n * doc.addFileToVFS(\"someFile.txt\", \"BADFACE1\");\n */\n jsPDFAPI.addFileToVFS = function(filename, filecontent) {\n _initializeVFS.call(this);\n this.internal.vFS[filename] = filecontent;\n return this;\n };\n\n /**\n * Get the file from the vFS\n *\n * @name getFileFromVFS\n * @function\n * @param {string} The name of the file which gets requested.\n * @returns {string}\n * @example\n * doc.getFileFromVFS(\"someFile.txt\");\n */\n jsPDFAPI.getFileFromVFS = function(filename) {\n _initializeVFS.call(this);\n\n if (typeof this.internal.vFS[filename] !== \"undefined\") {\n return this.internal.vFS[filename];\n }\n return null;\n };\n})(jsPDF.API);\n","/**\n * @license\n * Unicode Bidi Engine based on the work of Alex Shensis (@asthensis)\n * MIT License\n */\n\nimport { jsPDF } from \"../jspdf.js\";\n\n(function(jsPDF) {\n \"use strict\";\n /**\n * Table of Unicode types.\n *\n * Generated by:\n *\n * var bidi = require(\"./bidi/index\");\n * var bidi_accumulate = bidi.slice(0, 256).concat(bidi.slice(0x0500, 0x0500 + 256 * 3)).\n * concat(bidi.slice(0x2000, 0x2000 + 256)).concat(bidi.slice(0xFB00, 0xFB00 + 256)).\n * concat(bidi.slice(0xFE00, 0xFE00 + 2 * 256));\n *\n * for( var i = 0; i < bidi_accumulate.length; i++) {\n * \tif(bidi_accumulate[i] === undefined || bidi_accumulate[i] === 'ON')\n * \t\tbidi_accumulate[i] = 'N'; //mark as neutral to conserve space and substitute undefined\n * }\n * var bidiAccumulateStr = 'return [ \"' + bidi_accumulate.toString().replace(/,/g, '\", \"') + '\" ];';\n * require(\"fs\").writeFile('unicode-types.js', bidiAccumulateStr);\n *\n * Based on:\n * https://github.com/mathiasbynens/unicode-8.0.0\n */\n var bidiUnicodeTypes = [\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"S\",\n \"B\",\n \"S\",\n \"WS\",\n \"B\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"B\",\n \"B\",\n \"B\",\n \"S\",\n \"WS\",\n \"N\",\n \"N\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"ES\",\n \"CS\",\n \"ES\",\n \"CS\",\n \"CS\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"CS\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"B\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"CS\",\n \"N\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"L\",\n \"N\",\n \"N\",\n \"BN\",\n \"N\",\n \"N\",\n \"ET\",\n \"ET\",\n \"EN\",\n \"EN\",\n \"N\",\n \"L\",\n \"N\",\n \"N\",\n \"N\",\n \"EN\",\n \"L\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"L\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"ET\",\n \"N\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"R\",\n \"NSM\",\n \"R\",\n \"NSM\",\n \"NSM\",\n \"R\",\n \"NSM\",\n \"NSM\",\n \"R\",\n \"NSM\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"AN\",\n \"AN\",\n \"AN\",\n \"AN\",\n \"AN\",\n \"AN\",\n \"N\",\n \"N\",\n \"AL\",\n \"ET\",\n \"ET\",\n \"AL\",\n \"CS\",\n \"AL\",\n \"N\",\n \"N\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"AL\",\n \"AL\",\n \"N\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"AN\",\n \"AN\",\n \"AN\",\n \"AN\",\n \"AN\",\n \"AN\",\n \"AN\",\n \"AN\",\n \"AN\",\n \"AN\",\n \"ET\",\n \"AN\",\n \"AN\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"NSM\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"AN\",\n \"N\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"AL\",\n \"AL\",\n \"NSM\",\n \"NSM\",\n \"N\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"AL\",\n \"AL\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"N\",\n \"AL\",\n \"AL\",\n \"NSM\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"N\",\n \"N\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"AL\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"R\",\n \"R\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"R\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"WS\",\n \"WS\",\n \"WS\",\n \"WS\",\n \"WS\",\n \"WS\",\n \"WS\",\n \"WS\",\n \"WS\",\n \"WS\",\n \"WS\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"L\",\n \"R\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"WS\",\n \"B\",\n \"LRE\",\n \"RLE\",\n \"PDF\",\n \"LRO\",\n \"RLO\",\n \"CS\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"CS\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"WS\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"N\",\n \"LRI\",\n \"RLI\",\n \"FSI\",\n \"PDI\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"EN\",\n \"L\",\n \"N\",\n \"N\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"ES\",\n \"ES\",\n \"N\",\n \"N\",\n \"N\",\n \"L\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"ES\",\n \"ES\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"N\",\n \"N\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"R\",\n \"NSM\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"ES\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"N\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"N\",\n \"R\",\n \"N\",\n \"R\",\n \"R\",\n \"N\",\n \"R\",\n \"R\",\n \"N\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"CS\",\n \"N\",\n \"CS\",\n \"N\",\n \"N\",\n \"CS\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"ET\",\n \"N\",\n \"N\",\n \"ES\",\n \"ES\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"ET\",\n \"ET\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"N\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"N\",\n \"N\",\n \"BN\",\n \"N\",\n \"N\",\n \"N\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"ES\",\n \"CS\",\n \"ES\",\n \"CS\",\n \"CS\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"CS\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"N\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"N\",\n \"N\",\n \"ET\",\n \"ET\",\n \"N\",\n \"N\",\n \"N\",\n \"ET\",\n \"ET\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\"\n ];\n\n /**\n * Unicode Bidi algorithm compliant Bidi engine.\n * For reference see http://unicode.org/reports/tr9/\n */\n\n /**\n * constructor ( options )\n *\n * Initializes Bidi engine\n *\n * @param {Object} See 'setOptions' below for detailed description.\n * options are cashed between invocation of 'doBidiReorder' method\n *\n * sample usage pattern of BidiEngine:\n * var opt = {\n * \tisInputVisual: true,\n * \tisInputRtl: false,\n * \tisOutputVisual: false,\n * \tisOutputRtl: false,\n * \tisSymmetricSwapping: true\n * }\n * var sourceToTarget = [], levels = [];\n * var bidiEng = Globalize.bidiEngine(opt);\n * var src = \"text string to be reordered\";\n * var ret = bidiEng.doBidiReorder(src, sourceToTarget, levels);\n */\n\n jsPDF.__bidiEngine__ = jsPDF.prototype.__bidiEngine__ = function(options) {\n var _UNICODE_TYPES = _bidiUnicodeTypes;\n\n var _STATE_TABLE_LTR = [\n [0, 3, 0, 1, 0, 0, 0],\n [0, 3, 0, 1, 2, 2, 0],\n [0, 3, 0, 0x11, 2, 0, 1],\n [0, 3, 5, 5, 4, 1, 0],\n [0, 3, 0x15, 0x15, 4, 0, 1],\n [0, 3, 5, 5, 4, 2, 0]\n ];\n\n var _STATE_TABLE_RTL = [\n [2, 0, 1, 1, 0, 1, 0],\n [2, 0, 1, 1, 0, 2, 0],\n [2, 0, 2, 1, 3, 2, 0],\n [2, 0, 2, 0x21, 3, 1, 1]\n ];\n\n var _TYPE_NAMES_MAP = { L: 0, R: 1, EN: 2, AN: 3, N: 4, B: 5, S: 6 };\n\n var _UNICODE_RANGES_MAP = {\n 0: 0,\n 5: 1,\n 6: 2,\n 7: 3,\n 0x20: 4,\n 0xfb: 5,\n 0xfe: 6,\n 0xff: 7\n };\n\n var _SWAP_TABLE = [\n \"\\u0028\",\n \"\\u0029\",\n \"\\u0028\",\n \"\\u003C\",\n \"\\u003E\",\n \"\\u003C\",\n \"\\u005B\",\n \"\\u005D\",\n \"\\u005B\",\n \"\\u007B\",\n \"\\u007D\",\n \"\\u007B\",\n \"\\u00AB\",\n \"\\u00BB\",\n \"\\u00AB\",\n \"\\u2039\",\n \"\\u203A\",\n \"\\u2039\",\n \"\\u2045\",\n \"\\u2046\",\n \"\\u2045\",\n \"\\u207D\",\n \"\\u207E\",\n \"\\u207D\",\n \"\\u208D\",\n \"\\u208E\",\n \"\\u208D\",\n \"\\u2264\",\n \"\\u2265\",\n \"\\u2264\",\n \"\\u2329\",\n \"\\u232A\",\n \"\\u2329\",\n \"\\uFE59\",\n \"\\uFE5A\",\n \"\\uFE59\",\n \"\\uFE5B\",\n \"\\uFE5C\",\n \"\\uFE5B\",\n \"\\uFE5D\",\n \"\\uFE5E\",\n \"\\uFE5D\",\n \"\\uFE64\",\n \"\\uFE65\",\n \"\\uFE64\"\n ];\n\n var _LTR_RANGES_REG_EXPR = new RegExp(\n /^([1-4|9]|1[0-9]|2[0-9]|3[0168]|4[04589]|5[012]|7[78]|159|16[0-9]|17[0-2]|21[569]|22[03489]|250)$/\n );\n\n var _lastArabic = false,\n _hasUbatAl,\n _hasUbatB,\n _hasUbatS,\n DIR_LTR = 0,\n DIR_RTL = 1,\n _isInVisual,\n _isInRtl,\n _isOutVisual,\n _isOutRtl,\n _isSymmetricSwapping,\n _dir = DIR_LTR;\n\n this.__bidiEngine__ = {};\n\n var _init = function(text, sourceToTargetMap) {\n if (sourceToTargetMap) {\n for (var i = 0; i < text.length; i++) {\n sourceToTargetMap[i] = i;\n }\n }\n if (_isInRtl === undefined) {\n _isInRtl = _isContextualDirRtl(text);\n }\n if (_isOutRtl === undefined) {\n _isOutRtl = _isContextualDirRtl(text);\n }\n };\n\n // for reference see 3.2 in http://unicode.org/reports/tr9/\n //\n var _getCharType = function(ch) {\n var charCode = ch.charCodeAt(),\n range = charCode >> 8,\n rangeIdx = _UNICODE_RANGES_MAP[range];\n\n if (rangeIdx !== undefined) {\n return _UNICODE_TYPES[rangeIdx * 256 + (charCode & 0xff)];\n } else if (range === 0xfc || range === 0xfd) {\n return \"AL\";\n } else if (_LTR_RANGES_REG_EXPR.test(range)) {\n //unlikely case\n return \"L\";\n } else if (range === 8) {\n // even less likely\n return \"R\";\n }\n return \"N\"; //undefined type, mark as neutral\n };\n\n var _isContextualDirRtl = function(text) {\n for (var i = 0, charType; i < text.length; i++) {\n charType = _getCharType(text.charAt(i));\n if (charType === \"L\") {\n return false;\n } else if (charType === \"R\") {\n return true;\n }\n }\n return false;\n };\n\n // for reference see 3.3.4 & 3.3.5 in http://unicode.org/reports/tr9/\n //\n var _resolveCharType = function(chars, types, resolvedTypes, index) {\n var cType = types[index],\n wType,\n nType,\n i,\n len;\n switch (cType) {\n case \"L\":\n case \"R\":\n _lastArabic = false;\n break;\n case \"N\":\n case \"AN\":\n break;\n\n case \"EN\":\n if (_lastArabic) {\n cType = \"AN\";\n }\n break;\n\n case \"AL\":\n _lastArabic = true;\n _hasUbatAl = true;\n cType = \"R\";\n break;\n\n case \"WS\":\n cType = \"N\";\n break;\n\n case \"CS\":\n if (\n index < 1 ||\n index + 1 >= types.length ||\n ((wType = resolvedTypes[index - 1]) !== \"EN\" && wType !== \"AN\") ||\n ((nType = types[index + 1]) !== \"EN\" && nType !== \"AN\")\n ) {\n cType = \"N\";\n } else if (_lastArabic) {\n nType = \"AN\";\n }\n cType = nType === wType ? nType : \"N\";\n break;\n\n case \"ES\":\n wType = index > 0 ? resolvedTypes[index - 1] : \"B\";\n cType =\n wType === \"EN\" &&\n index + 1 < types.length &&\n types[index + 1] === \"EN\"\n ? \"EN\"\n : \"N\";\n break;\n\n case \"ET\":\n if (index > 0 && resolvedTypes[index - 1] === \"EN\") {\n cType = \"EN\";\n break;\n } else if (_lastArabic) {\n cType = \"N\";\n break;\n }\n i = index + 1;\n len = types.length;\n while (i < len && types[i] === \"ET\") {\n i++;\n }\n if (i < len && types[i] === \"EN\") {\n cType = \"EN\";\n } else {\n cType = \"N\";\n }\n break;\n\n case \"NSM\":\n if (_isInVisual && !_isInRtl) {\n //V->L\n len = types.length;\n i = index + 1;\n while (i < len && types[i] === \"NSM\") {\n i++;\n }\n if (i < len) {\n var c = chars[index];\n var rtlCandidate = (c >= 0x0591 && c <= 0x08ff) || c === 0xfb1e;\n wType = types[i];\n if (rtlCandidate && (wType === \"R\" || wType === \"AL\")) {\n cType = \"R\";\n break;\n }\n }\n }\n if (index < 1 || (wType = types[index - 1]) === \"B\") {\n cType = \"N\";\n } else {\n cType = resolvedTypes[index - 1];\n }\n break;\n\n case \"B\":\n _lastArabic = false;\n _hasUbatB = true;\n cType = _dir;\n break;\n\n case \"S\":\n _hasUbatS = true;\n cType = \"N\";\n break;\n\n case \"LRE\":\n case \"RLE\":\n case \"LRO\":\n case \"RLO\":\n case \"PDF\":\n _lastArabic = false;\n break;\n case \"BN\":\n cType = \"N\";\n break;\n }\n return cType;\n };\n\n var _handleUbatS = function(types, levels, length) {\n for (var i = 0; i < length; i++) {\n if (types[i] === \"S\") {\n levels[i] = _dir;\n for (var j = i - 1; j >= 0; j--) {\n if (types[j] === \"WS\") {\n levels[j] = _dir;\n } else {\n break;\n }\n }\n }\n }\n };\n\n var _invertString = function(text, sourceToTargetMap, levels) {\n var charArray = text.split(\"\");\n if (levels) {\n _computeLevels(charArray, levels, { hiLevel: _dir });\n }\n charArray.reverse();\n sourceToTargetMap && sourceToTargetMap.reverse();\n return charArray.join(\"\");\n };\n\n // For reference see 3.3 in http://unicode.org/reports/tr9/\n //\n var _computeLevels = function(chars, levels, params) {\n var action,\n condition,\n i,\n index,\n newLevel,\n prevState,\n condPos = -1,\n len = chars.length,\n newState = 0,\n resolvedTypes = [],\n stateTable = _dir ? _STATE_TABLE_RTL : _STATE_TABLE_LTR,\n types = [];\n\n _lastArabic = false;\n _hasUbatAl = false;\n _hasUbatB = false;\n _hasUbatS = false;\n for (i = 0; i < len; i++) {\n types[i] = _getCharType(chars[i]);\n }\n for (index = 0; index < len; index++) {\n prevState = newState;\n resolvedTypes[index] = _resolveCharType(\n chars,\n types,\n resolvedTypes,\n index\n );\n newState = stateTable[prevState][_TYPE_NAMES_MAP[resolvedTypes[index]]];\n action = newState & 0xf0;\n newState &= 0x0f;\n levels[index] = newLevel = stateTable[newState][5];\n if (action > 0) {\n if (action === 0x10) {\n for (i = condPos; i < index; i++) {\n levels[i] = 1;\n }\n condPos = -1;\n } else {\n condPos = -1;\n }\n }\n condition = stateTable[newState][6];\n if (condition) {\n if (condPos === -1) {\n condPos = index;\n }\n } else {\n if (condPos > -1) {\n for (i = condPos; i < index; i++) {\n levels[i] = newLevel;\n }\n condPos = -1;\n }\n }\n if (types[index] === \"B\") {\n levels[index] = 0;\n }\n params.hiLevel |= newLevel;\n }\n if (_hasUbatS) {\n _handleUbatS(types, levels, len);\n }\n };\n\n // for reference see 3.4 in http://unicode.org/reports/tr9/\n //\n var _invertByLevel = function(\n level,\n charArray,\n sourceToTargetMap,\n levels,\n params\n ) {\n if (params.hiLevel < level) {\n return;\n }\n if (level === 1 && _dir === DIR_RTL && !_hasUbatB) {\n charArray.reverse();\n sourceToTargetMap && sourceToTargetMap.reverse();\n return;\n }\n var ch,\n high,\n end,\n low,\n len = charArray.length,\n start = 0;\n\n while (start < len) {\n if (levels[start] >= level) {\n end = start + 1;\n while (end < len && levels[end] >= level) {\n end++;\n }\n for (low = start, high = end - 1; low < high; low++, high--) {\n ch = charArray[low];\n charArray[low] = charArray[high];\n charArray[high] = ch;\n if (sourceToTargetMap) {\n ch = sourceToTargetMap[low];\n sourceToTargetMap[low] = sourceToTargetMap[high];\n sourceToTargetMap[high] = ch;\n }\n }\n start = end;\n }\n start++;\n }\n };\n\n // for reference see 7 & BD16 in http://unicode.org/reports/tr9/\n //\n var _symmetricSwap = function(charArray, levels, params) {\n if (params.hiLevel !== 0 && _isSymmetricSwapping) {\n for (var i = 0, index; i < charArray.length; i++) {\n if (levels[i] === 1) {\n index = _SWAP_TABLE.indexOf(charArray[i]);\n if (index >= 0) {\n charArray[i] = _SWAP_TABLE[index + 1];\n }\n }\n }\n }\n };\n\n var _reorder = function(text, sourceToTargetMap, levels) {\n var charArray = text.split(\"\"),\n params = { hiLevel: _dir };\n\n if (!levels) {\n levels = [];\n }\n _computeLevels(charArray, levels, params);\n _symmetricSwap(charArray, levels, params);\n _invertByLevel(DIR_RTL + 1, charArray, sourceToTargetMap, levels, params);\n _invertByLevel(DIR_RTL, charArray, sourceToTargetMap, levels, params);\n return charArray.join(\"\");\n };\n\n // doBidiReorder( text, sourceToTargetMap, levels )\n // Performs Bidi reordering by implementing Unicode Bidi algorithm.\n // Returns reordered string\n // @text [String]:\n // - input string to be reordered, this is input parameter\n // $sourceToTargetMap [Array] (optional)\n // - resultant mapping between input and output strings, this is output parameter\n // $levels [Array] (optional)\n // - array of calculated Bidi levels, , this is output parameter\n this.__bidiEngine__.doBidiReorder = function(\n text,\n sourceToTargetMap,\n levels\n ) {\n _init(text, sourceToTargetMap);\n if (!_isInVisual && _isOutVisual && !_isOutRtl) {\n // LLTR->VLTR, LRTL->VLTR\n _dir = _isInRtl ? DIR_RTL : DIR_LTR;\n text = _reorder(text, sourceToTargetMap, levels);\n } else if (_isInVisual && _isOutVisual && _isInRtl ^ _isOutRtl) {\n // VRTL->VLTR, VLTR->VRTL\n _dir = _isInRtl ? DIR_RTL : DIR_LTR;\n text = _invertString(text, sourceToTargetMap, levels);\n } else if (!_isInVisual && _isOutVisual && _isOutRtl) {\n // LLTR->VRTL, LRTL->VRTL\n _dir = _isInRtl ? DIR_RTL : DIR_LTR;\n text = _reorder(text, sourceToTargetMap, levels);\n text = _invertString(text, sourceToTargetMap);\n } else if (_isInVisual && !_isInRtl && !_isOutVisual && !_isOutRtl) {\n // VLTR->LLTR\n _dir = DIR_LTR;\n text = _reorder(text, sourceToTargetMap, levels);\n } else if (_isInVisual && !_isOutVisual && _isInRtl ^ _isOutRtl) {\n // VLTR->LRTL, VRTL->LLTR\n text = _invertString(text, sourceToTargetMap);\n if (_isInRtl) {\n //LLTR -> VLTR\n _dir = DIR_LTR;\n text = _reorder(text, sourceToTargetMap, levels);\n } else {\n //LRTL -> VRTL\n _dir = DIR_RTL;\n text = _reorder(text, sourceToTargetMap, levels);\n text = _invertString(text, sourceToTargetMap);\n }\n } else if (_isInVisual && _isInRtl && !_isOutVisual && _isOutRtl) {\n // VRTL->LRTL\n _dir = DIR_RTL;\n text = _reorder(text, sourceToTargetMap, levels);\n text = _invertString(text, sourceToTargetMap);\n } else if (!_isInVisual && !_isOutVisual && _isInRtl ^ _isOutRtl) {\n // LRTL->LLTR, LLTR->LRTL\n var isSymmetricSwappingOrig = _isSymmetricSwapping;\n if (_isInRtl) {\n //LRTL->LLTR\n _dir = DIR_RTL;\n text = _reorder(text, sourceToTargetMap, levels);\n _dir = DIR_LTR;\n _isSymmetricSwapping = false;\n text = _reorder(text, sourceToTargetMap, levels);\n _isSymmetricSwapping = isSymmetricSwappingOrig;\n } else {\n //LLTR->LRTL\n _dir = DIR_LTR;\n text = _reorder(text, sourceToTargetMap, levels);\n text = _invertString(text, sourceToTargetMap);\n _dir = DIR_RTL;\n _isSymmetricSwapping = false;\n text = _reorder(text, sourceToTargetMap, levels);\n _isSymmetricSwapping = isSymmetricSwappingOrig;\n text = _invertString(text, sourceToTargetMap);\n }\n }\n return text;\n };\n\n /**\n * @name setOptions( options )\n * @function\n * Sets options for Bidi conversion\n * @param {Object}:\n * - isInputVisual {boolean} (defaults to false): allowed values: true(Visual mode), false(Logical mode)\n * - isInputRtl {boolean}: allowed values true(Right-to-left direction), false (Left-to-right directiion), undefined(Contectual direction, i.e.direction defined by first strong character of input string)\n * - isOutputVisual {boolean} (defaults to false): allowed values: true(Visual mode), false(Logical mode)\n * - isOutputRtl {boolean}: allowed values true(Right-to-left direction), false (Left-to-right directiion), undefined(Contectual direction, i.e.direction defined by first strong characterof input string)\n * - isSymmetricSwapping {boolean} (defaults to false): allowed values true(needs symmetric swapping), false (no need in symmetric swapping),\n */\n this.__bidiEngine__.setOptions = function(options) {\n if (options) {\n _isInVisual = options.isInputVisual;\n _isOutVisual = options.isOutputVisual;\n _isInRtl = options.isInputRtl;\n _isOutRtl = options.isOutputRtl;\n _isSymmetricSwapping = options.isSymmetricSwapping;\n }\n };\n\n this.__bidiEngine__.setOptions(options);\n return this.__bidiEngine__;\n };\n\n var _bidiUnicodeTypes = bidiUnicodeTypes;\n\n var bidiEngine = new jsPDF.__bidiEngine__({ isInputVisual: true });\n\n var bidiEngineFunction = function(args) {\n var text = args.text;\n var x = args.x;\n var y = args.y;\n var options = args.options || {};\n var mutex = args.mutex || {};\n var lang = options.lang;\n var tmpText = [];\n\n options.isInputVisual =\n typeof options.isInputVisual === \"boolean\" ? options.isInputVisual : true;\n bidiEngine.setOptions(options);\n\n if (Object.prototype.toString.call(text) === \"[object Array]\") {\n var i = 0;\n tmpText = [];\n for (i = 0; i < text.length; i += 1) {\n if (Object.prototype.toString.call(text[i]) === \"[object Array]\") {\n tmpText.push([\n bidiEngine.doBidiReorder(text[i][0]),\n text[i][1],\n text[i][2]\n ]);\n } else {\n tmpText.push([bidiEngine.doBidiReorder(text[i])]);\n }\n }\n args.text = tmpText;\n } else {\n args.text = bidiEngine.doBidiReorder(text);\n }\n bidiEngine.setOptions({ isInputVisual: true });\n };\n\n jsPDF.API.events.push([\"postProcessText\", bidiEngineFunction]);\n})(jsPDF);\n","/* eslint-disable no-control-regex */\n/************************************************\n * Title : custom font *\n * Start Data : 2017. 01. 22. *\n * Comment : TEXT API *\n ************************************************/\n\n/******************************\n * jsPDF extension API Design *\n * ****************************/\n\nimport { jsPDF } from \"../jspdf.js\";\n\njsPDF.API.TTFFont = (function() {\n /************************************************************************/\n /* function : open */\n /* comment : Decode the encoded ttf content and create a TTFFont object. */\n /************************************************************************/\n TTFFont.open = function(file) {\n return new TTFFont(file);\n };\n /***************************************************************/\n /* function : TTFFont gernerator */\n /* comment : Decode TTF contents are parsed, Data, */\n /* Subset object is created, and registerTTF function is called.*/\n /***************************************************************/\n function TTFFont(rawData) {\n var data;\n this.rawData = rawData;\n data = this.contents = new Data(rawData);\n this.contents.pos = 4;\n if (data.readString(4) === \"ttcf\") {\n throw new Error(\"TTCF not supported.\");\n } else {\n data.pos = 0;\n this.parse();\n this.subset = new Subset(this);\n this.registerTTF();\n }\n }\n /********************************************************/\n /* function : parse */\n /* comment : TTF Parses the file contents by each table.*/\n /********************************************************/\n TTFFont.prototype.parse = function() {\n this.directory = new Directory(this.contents);\n this.head = new HeadTable(this);\n this.name = new NameTable(this);\n this.cmap = new CmapTable(this);\n this.toUnicode = {};\n this.hhea = new HheaTable(this);\n this.maxp = new MaxpTable(this);\n this.hmtx = new HmtxTable(this);\n this.post = new PostTable(this);\n this.os2 = new OS2Table(this);\n this.loca = new LocaTable(this);\n this.glyf = new GlyfTable(this);\n this.ascender =\n (this.os2.exists && this.os2.ascender) || this.hhea.ascender;\n this.decender =\n (this.os2.exists && this.os2.decender) || this.hhea.decender;\n this.lineGap = (this.os2.exists && this.os2.lineGap) || this.hhea.lineGap;\n return (this.bbox = [\n this.head.xMin,\n this.head.yMin,\n this.head.xMax,\n this.head.yMax\n ]);\n };\n /***************************************************************/\n /* function : registerTTF */\n /* comment : Get the value to assign pdf font descriptors. */\n /***************************************************************/\n TTFFont.prototype.registerTTF = function() {\n var e, hi, low, raw, _ref;\n this.scaleFactor = 1000.0 / this.head.unitsPerEm;\n this.bbox = function() {\n var _i, _len, _ref, _results;\n _ref = this.bbox;\n _results = [];\n for (_i = 0, _len = _ref.length; _i < _len; _i++) {\n e = _ref[_i];\n _results.push(Math.round(e * this.scaleFactor));\n }\n return _results;\n }.call(this);\n this.stemV = 0;\n if (this.post.exists) {\n raw = this.post.italic_angle;\n hi = raw >> 16;\n low = raw & 0xff;\n if ((hi & 0x8000) !== 0) {\n hi = -((hi ^ 0xffff) + 1);\n }\n this.italicAngle = +(\"\" + hi + \".\" + low);\n } else {\n this.italicAngle = 0;\n }\n this.ascender = Math.round(this.ascender * this.scaleFactor);\n this.decender = Math.round(this.decender * this.scaleFactor);\n this.lineGap = Math.round(this.lineGap * this.scaleFactor);\n this.capHeight = (this.os2.exists && this.os2.capHeight) || this.ascender;\n this.xHeight = (this.os2.exists && this.os2.xHeight) || 0;\n this.familyClass = ((this.os2.exists && this.os2.familyClass) || 0) >> 8;\n this.isSerif =\n (_ref = this.familyClass) === 1 ||\n _ref === 2 ||\n _ref === 3 ||\n _ref === 4 ||\n _ref === 5 ||\n _ref === 7;\n this.isScript = this.familyClass === 10;\n this.flags = 0;\n if (this.post.isFixedPitch) {\n this.flags |= 1 << 0;\n }\n if (this.isSerif) {\n this.flags |= 1 << 1;\n }\n if (this.isScript) {\n this.flags |= 1 << 3;\n }\n if (this.italicAngle !== 0) {\n this.flags |= 1 << 6;\n }\n this.flags |= 1 << 5;\n if (!this.cmap.unicode) {\n throw new Error(\"No unicode cmap for font\");\n }\n };\n TTFFont.prototype.characterToGlyph = function(character) {\n var _ref;\n return (\n ((_ref = this.cmap.unicode) != null ? _ref.codeMap[character] : void 0) ||\n 0\n );\n };\n TTFFont.prototype.widthOfGlyph = function(glyph) {\n var scale;\n scale = 1000.0 / this.head.unitsPerEm;\n return this.hmtx.forGlyph(glyph).advance * scale;\n };\n TTFFont.prototype.widthOfString = function(string, size, charSpace) {\n var charCode, i, scale, width, _ref;\n string = \"\" + string;\n width = 0;\n for (\n i = 0, _ref = string.length;\n 0 <= _ref ? i < _ref : i > _ref;\n i = 0 <= _ref ? ++i : --i\n ) {\n charCode = string.charCodeAt(i);\n width +=\n this.widthOfGlyph(this.characterToGlyph(charCode)) +\n charSpace * (1000 / size) || 0;\n }\n scale = size / 1000;\n return width * scale;\n };\n TTFFont.prototype.lineHeight = function(size, includeGap) {\n var gap;\n if (includeGap == null) {\n includeGap = false;\n }\n gap = includeGap ? this.lineGap : 0;\n return ((this.ascender + gap - this.decender) / 1000) * size;\n };\n return TTFFont;\n})();\n\n/************************************************************************************************/\n/* function : Data */\n/* comment : The ttf data decoded and stored in an array is read and written to the Data object.*/\n/************************************************************************************************/\nvar Data = (function() {\n function Data(data) {\n this.data = data != null ? data : [];\n this.pos = 0;\n this.length = this.data.length;\n }\n Data.prototype.readByte = function() {\n return this.data[this.pos++];\n };\n Data.prototype.writeByte = function(byte) {\n return (this.data[this.pos++] = byte);\n };\n Data.prototype.readUInt32 = function() {\n var b1, b2, b3, b4;\n b1 = this.readByte() * 0x1000000;\n b2 = this.readByte() << 16;\n b3 = this.readByte() << 8;\n b4 = this.readByte();\n return b1 + b2 + b3 + b4;\n };\n Data.prototype.writeUInt32 = function(val) {\n this.writeByte((val >>> 24) & 0xff);\n this.writeByte((val >> 16) & 0xff);\n this.writeByte((val >> 8) & 0xff);\n return this.writeByte(val & 0xff);\n };\n Data.prototype.readInt32 = function() {\n var int;\n int = this.readUInt32();\n if (int >= 0x80000000) {\n return int - 0x100000000;\n } else {\n return int;\n }\n };\n Data.prototype.writeInt32 = function(val) {\n if (val < 0) {\n val += 0x100000000;\n }\n return this.writeUInt32(val);\n };\n Data.prototype.readUInt16 = function() {\n var b1, b2;\n b1 = this.readByte() << 8;\n b2 = this.readByte();\n return b1 | b2;\n };\n Data.prototype.writeUInt16 = function(val) {\n this.writeByte((val >> 8) & 0xff);\n return this.writeByte(val & 0xff);\n };\n Data.prototype.readInt16 = function() {\n var int;\n int = this.readUInt16();\n if (int >= 0x8000) {\n return int - 0x10000;\n } else {\n return int;\n }\n };\n Data.prototype.writeInt16 = function(val) {\n if (val < 0) {\n val += 0x10000;\n }\n return this.writeUInt16(val);\n };\n Data.prototype.readString = function(length) {\n var i, ret;\n ret = [];\n for (\n i = 0;\n 0 <= length ? i < length : i > length;\n i = 0 <= length ? ++i : --i\n ) {\n ret[i] = String.fromCharCode(this.readByte());\n }\n return ret.join(\"\");\n };\n Data.prototype.writeString = function(val) {\n var i, _ref, _results;\n _results = [];\n for (\n i = 0, _ref = val.length;\n 0 <= _ref ? i < _ref : i > _ref;\n i = 0 <= _ref ? ++i : --i\n ) {\n _results.push(this.writeByte(val.charCodeAt(i)));\n }\n return _results;\n };\n /*Data.prototype.stringAt = function (pos, length) {\n this.pos = pos;\n return this.readString(length);\n };*/\n Data.prototype.readShort = function() {\n return this.readInt16();\n };\n Data.prototype.writeShort = function(val) {\n return this.writeInt16(val);\n };\n Data.prototype.readLongLong = function() {\n var b1, b2, b3, b4, b5, b6, b7, b8;\n b1 = this.readByte();\n b2 = this.readByte();\n b3 = this.readByte();\n b4 = this.readByte();\n b5 = this.readByte();\n b6 = this.readByte();\n b7 = this.readByte();\n b8 = this.readByte();\n if (b1 & 0x80) {\n return (\n ((b1 ^ 0xff) * 0x100000000000000 +\n (b2 ^ 0xff) * 0x1000000000000 +\n (b3 ^ 0xff) * 0x10000000000 +\n (b4 ^ 0xff) * 0x100000000 +\n (b5 ^ 0xff) * 0x1000000 +\n (b6 ^ 0xff) * 0x10000 +\n (b7 ^ 0xff) * 0x100 +\n (b8 ^ 0xff) +\n 1) *\n -1\n );\n }\n return (\n b1 * 0x100000000000000 +\n b2 * 0x1000000000000 +\n b3 * 0x10000000000 +\n b4 * 0x100000000 +\n b5 * 0x1000000 +\n b6 * 0x10000 +\n b7 * 0x100 +\n b8\n );\n };\n Data.prototype.writeLongLong = function(val) {\n var high, low;\n high = Math.floor(val / 0x100000000);\n low = val & 0xffffffff;\n this.writeByte((high >> 24) & 0xff);\n this.writeByte((high >> 16) & 0xff);\n this.writeByte((high >> 8) & 0xff);\n this.writeByte(high & 0xff);\n this.writeByte((low >> 24) & 0xff);\n this.writeByte((low >> 16) & 0xff);\n this.writeByte((low >> 8) & 0xff);\n return this.writeByte(low & 0xff);\n };\n Data.prototype.readInt = function() {\n return this.readInt32();\n };\n Data.prototype.writeInt = function(val) {\n return this.writeInt32(val);\n };\n /*Data.prototype.slice = function (start, end) {\n return this.data.slice(start, end);\n };*/\n Data.prototype.read = function(bytes) {\n var buf, i;\n buf = [];\n for (\n i = 0;\n 0 <= bytes ? i < bytes : i > bytes;\n i = 0 <= bytes ? ++i : --i\n ) {\n buf.push(this.readByte());\n }\n return buf;\n };\n Data.prototype.write = function(bytes) {\n var byte, i, _len, _results;\n _results = [];\n for (i = 0, _len = bytes.length; i < _len; i++) {\n byte = bytes[i];\n _results.push(this.writeByte(byte));\n }\n return _results;\n };\n return Data;\n})();\n\nvar Directory = (function() {\n var checksum;\n\n /*****************************************************************************************************/\n /* function : Directory generator */\n /* comment : Initialize the offset, tag, length, and checksum for each table for the font to be used.*/\n /*****************************************************************************************************/\n function Directory(data) {\n var entry, i, _ref;\n this.scalarType = data.readInt();\n this.tableCount = data.readShort();\n this.searchRange = data.readShort();\n this.entrySelector = data.readShort();\n this.rangeShift = data.readShort();\n this.tables = {};\n for (\n i = 0, _ref = this.tableCount;\n 0 <= _ref ? i < _ref : i > _ref;\n i = 0 <= _ref ? ++i : --i\n ) {\n entry = {\n tag: data.readString(4),\n checksum: data.readInt(),\n offset: data.readInt(),\n length: data.readInt()\n };\n this.tables[entry.tag] = entry;\n }\n }\n /********************************************************************************************************/\n /* function : encode */\n /* comment : It encodes and stores the font table object and information used for the directory object. */\n /********************************************************************************************************/\n Directory.prototype.encode = function(tables) {\n var adjustment,\n directory,\n directoryLength,\n entrySelector,\n headOffset,\n log2,\n offset,\n rangeShift,\n searchRange,\n sum,\n table,\n tableCount,\n tableData,\n tag;\n tableCount = Object.keys(tables).length;\n log2 = Math.log(2);\n searchRange = Math.floor(Math.log(tableCount) / log2) * 16;\n entrySelector = Math.floor(searchRange / log2);\n rangeShift = tableCount * 16 - searchRange;\n directory = new Data();\n directory.writeInt(this.scalarType);\n directory.writeShort(tableCount);\n directory.writeShort(searchRange);\n directory.writeShort(entrySelector);\n directory.writeShort(rangeShift);\n directoryLength = tableCount * 16;\n offset = directory.pos + directoryLength;\n headOffset = null;\n tableData = [];\n for (tag in tables) {\n table = tables[tag];\n directory.writeString(tag);\n directory.writeInt(checksum(table));\n directory.writeInt(offset);\n directory.writeInt(table.length);\n tableData = tableData.concat(table);\n if (tag === \"head\") {\n headOffset = offset;\n }\n offset += table.length;\n while (offset % 4) {\n tableData.push(0);\n offset++;\n }\n }\n directory.write(tableData);\n sum = checksum(directory.data);\n adjustment = 0xb1b0afba - sum;\n directory.pos = headOffset + 8;\n directory.writeUInt32(adjustment);\n return directory.data;\n };\n /***************************************************************/\n /* function : checksum */\n /* comment : Duplicate the table for the tag. */\n /***************************************************************/\n checksum = function(data) {\n var i, sum, tmp, _ref;\n data = __slice.call(data);\n while (data.length % 4) {\n data.push(0);\n }\n tmp = new Data(data);\n sum = 0;\n for (i = 0, _ref = data.length; i < _ref; i = i += 4) {\n sum += tmp.readUInt32();\n }\n return sum & 0xffffffff;\n };\n return Directory;\n})();\n\nvar Table,\n __hasProp = {}.hasOwnProperty,\n __extends = function(child, parent) {\n for (var key in parent) {\n if (__hasProp.call(parent, key)) child[key] = parent[key];\n }\n\n function ctor() {\n this.constructor = child;\n }\n ctor.prototype = parent.prototype;\n child.prototype = new ctor();\n child.__super__ = parent.prototype;\n return child;\n };\n\n/***************************************************************/\n/* function : Table */\n/* comment : Save info for each table, and parse the table. */\n/***************************************************************/\nTable = (function() {\n function Table(file) {\n var info;\n this.file = file;\n info = this.file.directory.tables[this.tag];\n this.exists = !!info;\n if (info) {\n (this.offset = info.offset), (this.length = info.length);\n this.parse(this.file.contents);\n }\n }\n Table.prototype.parse = function() {};\n Table.prototype.encode = function() {};\n Table.prototype.raw = function() {\n if (!this.exists) {\n return null;\n }\n this.file.contents.pos = this.offset;\n return this.file.contents.read(this.length);\n };\n return Table;\n})();\n\nvar HeadTable = (function(_super) {\n __extends(HeadTable, _super);\n\n function HeadTable() {\n return HeadTable.__super__.constructor.apply(this, arguments);\n }\n HeadTable.prototype.tag = \"head\";\n HeadTable.prototype.parse = function(data) {\n data.pos = this.offset;\n this.version = data.readInt();\n this.revision = data.readInt();\n this.checkSumAdjustment = data.readInt();\n this.magicNumber = data.readInt();\n this.flags = data.readShort();\n this.unitsPerEm = data.readShort();\n this.created = data.readLongLong();\n this.modified = data.readLongLong();\n this.xMin = data.readShort();\n this.yMin = data.readShort();\n this.xMax = data.readShort();\n this.yMax = data.readShort();\n this.macStyle = data.readShort();\n this.lowestRecPPEM = data.readShort();\n this.fontDirectionHint = data.readShort();\n this.indexToLocFormat = data.readShort();\n return (this.glyphDataFormat = data.readShort());\n };\n HeadTable.prototype.encode = function(indexToLocFormat) {\n var table;\n table = new Data();\n table.writeInt(this.version);\n table.writeInt(this.revision);\n table.writeInt(this.checkSumAdjustment);\n table.writeInt(this.magicNumber);\n table.writeShort(this.flags);\n table.writeShort(this.unitsPerEm);\n table.writeLongLong(this.created);\n table.writeLongLong(this.modified);\n table.writeShort(this.xMin);\n table.writeShort(this.yMin);\n table.writeShort(this.xMax);\n table.writeShort(this.yMax);\n table.writeShort(this.macStyle);\n table.writeShort(this.lowestRecPPEM);\n table.writeShort(this.fontDirectionHint);\n table.writeShort(indexToLocFormat);\n table.writeShort(this.glyphDataFormat);\n return table.data;\n };\n return HeadTable;\n})(Table);\n\n/************************************************************************************/\n/* function : CmapEntry */\n/* comment : Cmap Initializes and encodes object information (required by pdf spec).*/\n/************************************************************************************/\nvar CmapEntry = (function() {\n function CmapEntry(data, offset) {\n var code,\n count,\n endCode,\n glyphId,\n glyphIds,\n i,\n idDelta,\n idRangeOffset,\n index,\n saveOffset,\n segCount,\n segCountX2,\n start,\n startCode,\n tail,\n _j,\n _k,\n _len;\n this.platformID = data.readUInt16();\n this.encodingID = data.readShort();\n this.offset = offset + data.readInt();\n saveOffset = data.pos;\n data.pos = this.offset;\n this.format = data.readUInt16();\n this.length = data.readUInt16();\n this.language = data.readUInt16();\n this.isUnicode =\n (this.platformID === 3 && this.encodingID === 1 && this.format === 4) ||\n (this.platformID === 0 && this.format === 4);\n this.codeMap = {};\n switch (this.format) {\n case 0:\n for (i = 0; i < 256; ++i) {\n this.codeMap[i] = data.readByte();\n }\n break;\n case 4:\n segCountX2 = data.readUInt16();\n segCount = segCountX2 / 2;\n data.pos += 6;\n endCode = (function() {\n var _j, _results;\n _results = [];\n for (\n i = _j = 0;\n 0 <= segCount ? _j < segCount : _j > segCount;\n i = 0 <= segCount ? ++_j : --_j\n ) {\n _results.push(data.readUInt16());\n }\n return _results;\n })();\n data.pos += 2;\n startCode = (function() {\n var _j, _results;\n _results = [];\n for (\n i = _j = 0;\n 0 <= segCount ? _j < segCount : _j > segCount;\n i = 0 <= segCount ? ++_j : --_j\n ) {\n _results.push(data.readUInt16());\n }\n return _results;\n })();\n idDelta = (function() {\n var _j, _results;\n _results = [];\n for (\n i = _j = 0;\n 0 <= segCount ? _j < segCount : _j > segCount;\n i = 0 <= segCount ? ++_j : --_j\n ) {\n _results.push(data.readUInt16());\n }\n return _results;\n })();\n idRangeOffset = (function() {\n var _j, _results;\n _results = [];\n for (\n i = _j = 0;\n 0 <= segCount ? _j < segCount : _j > segCount;\n i = 0 <= segCount ? ++_j : --_j\n ) {\n _results.push(data.readUInt16());\n }\n return _results;\n })();\n count = (this.length - data.pos + this.offset) / 2;\n glyphIds = (function() {\n var _j, _results;\n _results = [];\n for (\n i = _j = 0;\n 0 <= count ? _j < count : _j > count;\n i = 0 <= count ? ++_j : --_j\n ) {\n _results.push(data.readUInt16());\n }\n return _results;\n })();\n for (i = _j = 0, _len = endCode.length; _j < _len; i = ++_j) {\n tail = endCode[i];\n start = startCode[i];\n for (\n code = _k = start;\n start <= tail ? _k <= tail : _k >= tail;\n code = start <= tail ? ++_k : --_k\n ) {\n if (idRangeOffset[i] === 0) {\n glyphId = code + idDelta[i];\n } else {\n index = idRangeOffset[i] / 2 + (code - start) - (segCount - i);\n glyphId = glyphIds[index] || 0;\n if (glyphId !== 0) {\n glyphId += idDelta[i];\n }\n }\n this.codeMap[code] = glyphId & 0xffff;\n }\n }\n }\n data.pos = saveOffset;\n }\n CmapEntry.encode = function(charmap, encoding) {\n var charMap,\n code,\n codeMap,\n codes,\n delta,\n deltas,\n diff,\n endCode,\n endCodes,\n entrySelector,\n glyphIDs,\n i,\n id,\n indexes,\n last,\n map,\n nextID,\n offset,\n old,\n rangeOffsets,\n rangeShift,\n searchRange,\n segCount,\n segCountX2,\n startCode,\n startCodes,\n startGlyph,\n subtable,\n _i,\n _j,\n _k,\n _l,\n _len,\n _len1,\n _len2,\n _len3,\n _len4,\n _len5,\n _len6,\n _len7,\n _m,\n _n,\n _name,\n _o,\n _p,\n _q;\n subtable = new Data();\n codes = Object.keys(charmap).sort(function(a, b) {\n return a - b;\n });\n switch (encoding) {\n case \"macroman\":\n id = 0;\n indexes = (function() {\n var _results = [];\n for (i = 0; i < 256; ++i) {\n _results.push(0);\n }\n return _results;\n })();\n map = {\n 0: 0\n };\n codeMap = {};\n for (_i = 0, _len = codes.length; _i < _len; _i++) {\n code = codes[_i];\n if (map[(_name = charmap[code])] == null) {\n map[_name] = ++id;\n }\n codeMap[code] = {\n old: charmap[code],\n new: map[charmap[code]]\n };\n indexes[code] = map[charmap[code]];\n }\n subtable.writeUInt16(1);\n subtable.writeUInt16(0);\n subtable.writeUInt32(12);\n subtable.writeUInt16(0);\n subtable.writeUInt16(262);\n subtable.writeUInt16(0);\n subtable.write(indexes);\n return {\n charMap: codeMap,\n subtable: subtable.data,\n maxGlyphID: id + 1\n };\n case \"unicode\":\n startCodes = [];\n endCodes = [];\n nextID = 0;\n map = {};\n charMap = {};\n last = diff = null;\n for (_j = 0, _len1 = codes.length; _j < _len1; _j++) {\n code = codes[_j];\n old = charmap[code];\n if (map[old] == null) {\n map[old] = ++nextID;\n }\n charMap[code] = {\n old: old,\n new: map[old]\n };\n delta = map[old] - code;\n if (last == null || delta !== diff) {\n if (last) {\n endCodes.push(last);\n }\n startCodes.push(code);\n diff = delta;\n }\n last = code;\n }\n if (last) {\n endCodes.push(last);\n }\n endCodes.push(0xffff);\n startCodes.push(0xffff);\n segCount = startCodes.length;\n segCountX2 = segCount * 2;\n searchRange = 2 * Math.pow(Math.log(segCount) / Math.LN2, 2);\n entrySelector = Math.log(searchRange / 2) / Math.LN2;\n rangeShift = 2 * segCount - searchRange;\n deltas = [];\n rangeOffsets = [];\n glyphIDs = [];\n for (i = _k = 0, _len2 = startCodes.length; _k < _len2; i = ++_k) {\n startCode = startCodes[i];\n endCode = endCodes[i];\n if (startCode === 0xffff) {\n deltas.push(0);\n rangeOffsets.push(0);\n break;\n }\n startGlyph = charMap[startCode][\"new\"];\n if (startCode - startGlyph >= 0x8000) {\n deltas.push(0);\n rangeOffsets.push(2 * (glyphIDs.length + segCount - i));\n for (\n code = _l = startCode;\n startCode <= endCode ? _l <= endCode : _l >= endCode;\n code = startCode <= endCode ? ++_l : --_l\n ) {\n glyphIDs.push(charMap[code][\"new\"]);\n }\n } else {\n deltas.push(startGlyph - startCode);\n rangeOffsets.push(0);\n }\n }\n subtable.writeUInt16(3);\n subtable.writeUInt16(1);\n subtable.writeUInt32(12);\n subtable.writeUInt16(4);\n subtable.writeUInt16(16 + segCount * 8 + glyphIDs.length * 2);\n subtable.writeUInt16(0);\n subtable.writeUInt16(segCountX2);\n subtable.writeUInt16(searchRange);\n subtable.writeUInt16(entrySelector);\n subtable.writeUInt16(rangeShift);\n for (_m = 0, _len3 = endCodes.length; _m < _len3; _m++) {\n code = endCodes[_m];\n subtable.writeUInt16(code);\n }\n subtable.writeUInt16(0);\n for (_n = 0, _len4 = startCodes.length; _n < _len4; _n++) {\n code = startCodes[_n];\n subtable.writeUInt16(code);\n }\n for (_o = 0, _len5 = deltas.length; _o < _len5; _o++) {\n delta = deltas[_o];\n subtable.writeUInt16(delta);\n }\n for (_p = 0, _len6 = rangeOffsets.length; _p < _len6; _p++) {\n offset = rangeOffsets[_p];\n subtable.writeUInt16(offset);\n }\n for (_q = 0, _len7 = glyphIDs.length; _q < _len7; _q++) {\n id = glyphIDs[_q];\n subtable.writeUInt16(id);\n }\n return {\n charMap: charMap,\n subtable: subtable.data,\n maxGlyphID: nextID + 1\n };\n }\n };\n return CmapEntry;\n})();\n\nvar CmapTable = (function(_super) {\n __extends(CmapTable, _super);\n\n function CmapTable() {\n return CmapTable.__super__.constructor.apply(this, arguments);\n }\n CmapTable.prototype.tag = \"cmap\";\n CmapTable.prototype.parse = function(data) {\n var entry, i, tableCount;\n data.pos = this.offset;\n this.version = data.readUInt16();\n tableCount = data.readUInt16();\n this.tables = [];\n this.unicode = null;\n for (\n i = 0;\n 0 <= tableCount ? i < tableCount : i > tableCount;\n i = 0 <= tableCount ? ++i : --i\n ) {\n entry = new CmapEntry(data, this.offset);\n this.tables.push(entry);\n if (entry.isUnicode) {\n if (this.unicode == null) {\n this.unicode = entry;\n }\n }\n }\n return true;\n };\n /*************************************************************************/\n /* function : encode */\n /* comment : Encode the cmap table corresponding to the input character. */\n /*************************************************************************/\n CmapTable.encode = function(charmap, encoding) {\n var result, table;\n if (encoding == null) {\n encoding = \"macroman\";\n }\n result = CmapEntry.encode(charmap, encoding);\n table = new Data();\n table.writeUInt16(0);\n table.writeUInt16(1);\n result.table = table.data.concat(result.subtable);\n return result;\n };\n return CmapTable;\n})(Table);\n\nvar HheaTable = (function(_super) {\n __extends(HheaTable, _super);\n\n function HheaTable() {\n return HheaTable.__super__.constructor.apply(this, arguments);\n }\n HheaTable.prototype.tag = \"hhea\";\n HheaTable.prototype.parse = function(data) {\n data.pos = this.offset;\n this.version = data.readInt();\n this.ascender = data.readShort();\n this.decender = data.readShort();\n this.lineGap = data.readShort();\n this.advanceWidthMax = data.readShort();\n this.minLeftSideBearing = data.readShort();\n this.minRightSideBearing = data.readShort();\n this.xMaxExtent = data.readShort();\n this.caretSlopeRise = data.readShort();\n this.caretSlopeRun = data.readShort();\n this.caretOffset = data.readShort();\n data.pos += 4 * 2;\n this.metricDataFormat = data.readShort();\n return (this.numberOfMetrics = data.readUInt16());\n };\n /*HheaTable.prototype.encode = function (ids) {\n var i, table, _i, _ref;\n table = new Data;\n table.writeInt(this.version);\n table.writeShort(this.ascender);\n table.writeShort(this.decender);\n table.writeShort(this.lineGap);\n table.writeShort(this.advanceWidthMax);\n table.writeShort(this.minLeftSideBearing);\n table.writeShort(this.minRightSideBearing);\n table.writeShort(this.xMaxExtent);\n table.writeShort(this.caretSlopeRise);\n table.writeShort(this.caretSlopeRun);\n table.writeShort(this.caretOffset);\n for (i = _i = 0, _ref = 4 * 2; 0 <= _ref ? _i < _ref : _i > _ref; i = 0 <= _ref ? ++_i : --_i) {\n table.writeByte(0);\n }\n table.writeShort(this.metricDataFormat);\n table.writeUInt16(ids.length);\n return table.data;\n };*/\n return HheaTable;\n})(Table);\n\nvar OS2Table = (function(_super) {\n __extends(OS2Table, _super);\n\n function OS2Table() {\n return OS2Table.__super__.constructor.apply(this, arguments);\n }\n OS2Table.prototype.tag = \"OS/2\";\n OS2Table.prototype.parse = function(data) {\n data.pos = this.offset;\n this.version = data.readUInt16();\n this.averageCharWidth = data.readShort();\n this.weightClass = data.readUInt16();\n this.widthClass = data.readUInt16();\n this.type = data.readShort();\n this.ySubscriptXSize = data.readShort();\n this.ySubscriptYSize = data.readShort();\n this.ySubscriptXOffset = data.readShort();\n this.ySubscriptYOffset = data.readShort();\n this.ySuperscriptXSize = data.readShort();\n this.ySuperscriptYSize = data.readShort();\n this.ySuperscriptXOffset = data.readShort();\n this.ySuperscriptYOffset = data.readShort();\n this.yStrikeoutSize = data.readShort();\n this.yStrikeoutPosition = data.readShort();\n this.familyClass = data.readShort();\n this.panose = (function() {\n var i, _results;\n _results = [];\n for (i = 0; i < 10; ++i) {\n _results.push(data.readByte());\n }\n return _results;\n })();\n this.charRange = (function() {\n var i, _results;\n _results = [];\n for (i = 0; i < 4; ++i) {\n _results.push(data.readInt());\n }\n return _results;\n })();\n this.vendorID = data.readString(4);\n this.selection = data.readShort();\n this.firstCharIndex = data.readShort();\n this.lastCharIndex = data.readShort();\n if (this.version > 0) {\n this.ascent = data.readShort();\n this.descent = data.readShort();\n this.lineGap = data.readShort();\n this.winAscent = data.readShort();\n this.winDescent = data.readShort();\n this.codePageRange = (function() {\n var i, _results;\n _results = [];\n for (i = 0; i < 2; i = ++i) {\n _results.push(data.readInt());\n }\n return _results;\n })();\n if (this.version > 1) {\n this.xHeight = data.readShort();\n this.capHeight = data.readShort();\n this.defaultChar = data.readShort();\n this.breakChar = data.readShort();\n return (this.maxContext = data.readShort());\n }\n }\n };\n /*OS2Table.prototype.encode = function () {\n return this.raw();\n };*/\n return OS2Table;\n})(Table);\n\nvar PostTable = (function(_super) {\n var POSTSCRIPT_GLYPHS;\n __extends(PostTable, _super);\n\n function PostTable() {\n return PostTable.__super__.constructor.apply(this, arguments);\n }\n PostTable.prototype.tag = \"post\";\n PostTable.prototype.parse = function(data) {\n var length, numberOfGlyphs, _results;\n data.pos = this.offset;\n this.format = data.readInt();\n this.italicAngle = data.readInt();\n this.underlinePosition = data.readShort();\n this.underlineThickness = data.readShort();\n this.isFixedPitch = data.readInt();\n this.minMemType42 = data.readInt();\n this.maxMemType42 = data.readInt();\n this.minMemType1 = data.readInt();\n this.maxMemType1 = data.readInt();\n switch (this.format) {\n case 0x00010000:\n break;\n case 0x00020000:\n numberOfGlyphs = data.readUInt16();\n this.glyphNameIndex = [];\n var i;\n for (\n i = 0;\n 0 <= numberOfGlyphs ? i < numberOfGlyphs : i > numberOfGlyphs;\n i = 0 <= numberOfGlyphs ? ++i : --i\n ) {\n this.glyphNameIndex.push(data.readUInt16());\n }\n this.names = [];\n _results = [];\n while (data.pos < this.offset + this.length) {\n length = data.readByte();\n _results.push(this.names.push(data.readString(length)));\n }\n return _results;\n case 0x00025000:\n numberOfGlyphs = data.readUInt16();\n return (this.offsets = data.read(numberOfGlyphs));\n case 0x00030000:\n break;\n case 0x00040000:\n return (this.map = function() {\n var _j, _ref, _results1;\n _results1 = [];\n for (\n i = _j = 0, _ref = this.file.maxp.numGlyphs;\n 0 <= _ref ? _j < _ref : _j > _ref;\n i = 0 <= _ref ? ++_j : --_j\n ) {\n _results1.push(data.readUInt32());\n }\n return _results1;\n }.call(this));\n }\n };\n /*PostTable.prototype.glyphFor = function (code) {\n var index;\n switch (this.format) {\n case 0x00010000:\n return POSTSCRIPT_GLYPHS[code] || '.notdef';\n case 0x00020000:\n index = this.glyphNameIndex[code];\n if (index <= 257) {\n return POSTSCRIPT_GLYPHS[index];\n }\n else {\n return this.names[index - 258] || '.notdef';\n }\n break;\n case 0x00025000:\n return POSTSCRIPT_GLYPHS[code + this.offsets[code]] || '.notdef';\n case 0x00030000:\n return '.notdef';\n case 0x00040000:\n return this.map[code] || 0xFFFF;\n }\n };*/\n /*PostTable.prototype.encode = function (mapping) {\n var id, index, indexes, position, post, raw, string, strings, table, _i, _j, _k, _len, _len1, _len2;\n if (!this.exists) {\n return null;\n }\n raw = this.raw();\n if (this.format === 0x00030000) {\n return raw;\n }\n table = new Data(raw.slice(0, 32));\n table.writeUInt32(0x00020000);\n table.pos = 32;\n indexes = [];\n strings = [];\n for (_i = 0, _len = mapping.length; _i < _len; _i++) {\n id = mapping[_i];\n post = this.glyphFor(id);\n position = POSTSCRIPT_GLYPHS.indexOf(post);\n if (position !== -1) {\n indexes.push(position);\n }\n else {\n indexes.push(257 + strings.length);\n strings.push(post);\n }\n }\n table.writeUInt16(Object.keys(mapping).length);\n for (_j = 0, _len1 = indexes.length; _j < _len1; _j++) {\n index = indexes[_j];\n table.writeUInt16(index);\n }\n for (_k = 0, _len2 = strings.length; _k < _len2; _k++) {\n string = strings[_k];\n table.writeByte(string.length);\n table.writeString(string);\n }\n return table.data;\n };*/\n POSTSCRIPT_GLYPHS = \".notdef .null nonmarkingreturn space exclam quotedbl numbersign dollar percent\\nampersand quotesingle parenleft parenright asterisk plus comma hyphen period slash\\nzero one two three four five six seven eight nine colon semicolon less equal greater\\nquestion at A B C D E F G H I J K L M N O P Q R S T U V W X Y Z\\nbracketleft backslash bracketright asciicircum underscore grave\\na b c d e f g h i j k l m n o p q r s t u v w x y z\\nbraceleft bar braceright asciitilde Adieresis Aring Ccedilla Eacute Ntilde Odieresis\\nUdieresis aacute agrave acircumflex adieresis atilde aring ccedilla eacute egrave\\necircumflex edieresis iacute igrave icircumflex idieresis ntilde oacute ograve\\nocircumflex odieresis otilde uacute ugrave ucircumflex udieresis dagger degree cent\\nsterling section bullet paragraph germandbls registered copyright trademark acute\\ndieresis notequal AE Oslash infinity plusminus lessequal greaterequal yen mu\\npartialdiff summation product pi integral ordfeminine ordmasculine Omega ae oslash\\nquestiondown exclamdown logicalnot radical florin approxequal Delta guillemotleft\\nguillemotright ellipsis nonbreakingspace Agrave Atilde Otilde OE oe endash emdash\\nquotedblleft quotedblright quoteleft quoteright divide lozenge ydieresis Ydieresis\\nfraction currency guilsinglleft guilsinglright fi fl daggerdbl periodcentered\\nquotesinglbase quotedblbase perthousand Acircumflex Ecircumflex Aacute Edieresis\\nEgrave Iacute Icircumflex Idieresis Igrave Oacute Ocircumflex apple Ograve Uacute\\nUcircumflex Ugrave dotlessi circumflex tilde macron breve dotaccent ring cedilla\\nhungarumlaut ogonek caron Lslash lslash Scaron scaron Zcaron zcaron brokenbar Eth\\neth Yacute yacute Thorn thorn minus multiply onesuperior twosuperior threesuperior\\nonehalf onequarter threequarters franc Gbreve gbreve Idotaccent Scedilla scedilla\\nCacute cacute Ccaron ccaron dcroat\".split(\n /\\s+/g\n );\n return PostTable;\n})(Table);\n\n/*********************************************************************************************************/\n/* function : NameEntry */\n/* comment : Store copyright information, platformID, encodingID, and languageID in the NameEntry object.*/\n/*********************************************************************************************************/\nvar NameEntry = (function() {\n function NameEntry(raw, entry) {\n this.raw = raw;\n this.length = raw.length;\n this.platformID = entry.platformID;\n this.encodingID = entry.encodingID;\n this.languageID = entry.languageID;\n }\n return NameEntry;\n})();\n\nvar NameTable = (function(_super) {\n var subsetTag;\n __extends(NameTable, _super);\n\n function NameTable() {\n return NameTable.__super__.constructor.apply(this, arguments);\n }\n NameTable.prototype.tag = \"name\";\n NameTable.prototype.parse = function(data) {\n var count,\n entries,\n entry,\n i,\n name,\n stringOffset,\n strings,\n text,\n _j,\n _len,\n _name;\n data.pos = this.offset;\n data.readShort(); //format\n count = data.readShort();\n stringOffset = data.readShort();\n entries = [];\n for (\n i = 0;\n 0 <= count ? i < count : i > count;\n i = 0 <= count ? ++i : --i\n ) {\n entries.push({\n platformID: data.readShort(),\n encodingID: data.readShort(),\n languageID: data.readShort(),\n nameID: data.readShort(),\n length: data.readShort(),\n offset: this.offset + stringOffset + data.readShort()\n });\n }\n strings = {};\n for (i = _j = 0, _len = entries.length; _j < _len; i = ++_j) {\n entry = entries[i];\n data.pos = entry.offset;\n text = data.readString(entry.length);\n name = new NameEntry(text, entry);\n if (strings[(_name = entry.nameID)] == null) {\n strings[_name] = [];\n }\n strings[entry.nameID].push(name);\n }\n this.strings = strings;\n this.copyright = strings[0];\n this.fontFamily = strings[1];\n this.fontSubfamily = strings[2];\n this.uniqueSubfamily = strings[3];\n this.fontName = strings[4];\n this.version = strings[5];\n try {\n this.postscriptName = strings[6][0].raw.replace(\n /[\\x00-\\x19\\x80-\\xff]/g,\n \"\"\n );\n } catch (e) {\n this.postscriptName = strings[4][0].raw.replace(\n /[\\x00-\\x19\\x80-\\xff]/g,\n \"\"\n );\n }\n this.trademark = strings[7];\n this.manufacturer = strings[8];\n this.designer = strings[9];\n this.description = strings[10];\n this.vendorUrl = strings[11];\n this.designerUrl = strings[12];\n this.license = strings[13];\n this.licenseUrl = strings[14];\n this.preferredFamily = strings[15];\n this.preferredSubfamily = strings[17];\n this.compatibleFull = strings[18];\n return (this.sampleText = strings[19]);\n };\n subsetTag = \"AAAAAA\";\n /*NameTable.prototype.encode = function () {\n var id, list, nameID, nameTable, postscriptName, strCount, strTable, string, strings, table, val, _i, _len, _ref;\n strings = {};\n _ref = this.strings;\n for (id in _ref) {\n val = _ref[id];\n strings[id] = val;\n }\n postscriptName = new NameEntry(\"\" + subsetTag + \"+\" + this.postscriptName, {\n platformID: 1\n , encodingID: 0\n , languageID: 0\n });\n strings[6] = [postscriptName];\n subsetTag = successorOf(subsetTag);\n strCount = 0;\n for (id in strings) {\n list = strings[id];\n if (list != null) {\n strCount += list.length;\n }\n }\n table = new Data;\n strTable = new Data;\n table.writeShort(0);\n table.writeShort(strCount);\n table.writeShort(6 + 12 * strCount);\n for (nameID in strings) {\n list = strings[nameID];\n if (list != null) {\n for (_i = 0, _len = list.length; _i < _len; _i++) {\n string = list[_i];\n table.writeShort(string.platformID);\n table.writeShort(string.encodingID);\n table.writeShort(string.languageID);\n table.writeShort(nameID);\n table.writeShort(string.length);\n table.writeShort(strTable.pos);\n strTable.writeString(string.raw);\n }\n }\n }\n return nameTable = {\n postscriptName: postscriptName.raw\n , table: table.data.concat(strTable.data)\n };\n };*/\n return NameTable;\n})(Table);\n\nvar MaxpTable = (function(_super) {\n __extends(MaxpTable, _super);\n\n function MaxpTable() {\n return MaxpTable.__super__.constructor.apply(this, arguments);\n }\n MaxpTable.prototype.tag = \"maxp\";\n MaxpTable.prototype.parse = function(data) {\n data.pos = this.offset;\n this.version = data.readInt();\n this.numGlyphs = data.readUInt16();\n this.maxPoints = data.readUInt16();\n this.maxContours = data.readUInt16();\n this.maxCompositePoints = data.readUInt16();\n this.maxComponentContours = data.readUInt16();\n this.maxZones = data.readUInt16();\n this.maxTwilightPoints = data.readUInt16();\n this.maxStorage = data.readUInt16();\n this.maxFunctionDefs = data.readUInt16();\n this.maxInstructionDefs = data.readUInt16();\n this.maxStackElements = data.readUInt16();\n this.maxSizeOfInstructions = data.readUInt16();\n this.maxComponentElements = data.readUInt16();\n return (this.maxComponentDepth = data.readUInt16());\n };\n /*MaxpTable.prototype.encode = function (ids) {\n var table;\n table = new Data;\n table.writeInt(this.version);\n table.writeUInt16(ids.length);\n table.writeUInt16(this.maxPoints);\n table.writeUInt16(this.maxContours);\n table.writeUInt16(this.maxCompositePoints);\n table.writeUInt16(this.maxComponentContours);\n table.writeUInt16(this.maxZones);\n table.writeUInt16(this.maxTwilightPoints);\n table.writeUInt16(this.maxStorage);\n table.writeUInt16(this.maxFunctionDefs);\n table.writeUInt16(this.maxInstructionDefs);\n table.writeUInt16(this.maxStackElements);\n table.writeUInt16(this.maxSizeOfInstructions);\n table.writeUInt16(this.maxComponentElements);\n table.writeUInt16(this.maxComponentDepth);\n return table.data;\n };*/\n return MaxpTable;\n})(Table);\n\nvar HmtxTable = (function(_super) {\n __extends(HmtxTable, _super);\n\n function HmtxTable() {\n return HmtxTable.__super__.constructor.apply(this, arguments);\n }\n HmtxTable.prototype.tag = \"hmtx\";\n HmtxTable.prototype.parse = function(data) {\n var i, last, lsbCount, m, _j, _ref, _results;\n data.pos = this.offset;\n this.metrics = [];\n for (\n i = 0, _ref = this.file.hhea.numberOfMetrics;\n 0 <= _ref ? i < _ref : i > _ref;\n i = 0 <= _ref ? ++i : --i\n ) {\n this.metrics.push({\n advance: data.readUInt16(),\n lsb: data.readInt16()\n });\n }\n lsbCount = this.file.maxp.numGlyphs - this.file.hhea.numberOfMetrics;\n this.leftSideBearings = (function() {\n var _j, _results;\n _results = [];\n for (\n i = _j = 0;\n 0 <= lsbCount ? _j < lsbCount : _j > lsbCount;\n i = 0 <= lsbCount ? ++_j : --_j\n ) {\n _results.push(data.readInt16());\n }\n return _results;\n })();\n this.widths = function() {\n var _j, _len, _ref1, _results;\n _ref1 = this.metrics;\n _results = [];\n for (_j = 0, _len = _ref1.length; _j < _len; _j++) {\n m = _ref1[_j];\n _results.push(m.advance);\n }\n return _results;\n }.call(this);\n last = this.widths[this.widths.length - 1];\n _results = [];\n for (\n i = _j = 0;\n 0 <= lsbCount ? _j < lsbCount : _j > lsbCount;\n i = 0 <= lsbCount ? ++_j : --_j\n ) {\n _results.push(this.widths.push(last));\n }\n return _results;\n };\n /***************************************************************/\n /* function : forGlyph */\n /* comment : Returns the advance width and lsb for this glyph. */\n /***************************************************************/\n HmtxTable.prototype.forGlyph = function(id) {\n if (id in this.metrics) {\n return this.metrics[id];\n }\n return {\n advance: this.metrics[this.metrics.length - 1].advance,\n lsb: this.leftSideBearings[id - this.metrics.length]\n };\n };\n /*HmtxTable.prototype.encode = function (mapping) {\n var id, metric, table, _i, _len;\n table = new Data;\n for (_i = 0, _len = mapping.length; _i < _len; _i++) {\n id = mapping[_i];\n metric = this.forGlyph(id);\n table.writeUInt16(metric.advance);\n table.writeUInt16(metric.lsb);\n }\n return table.data;\n };*/\n return HmtxTable;\n})(Table);\n\nvar __slice = [].slice;\n\nvar GlyfTable = (function(_super) {\n __extends(GlyfTable, _super);\n\n function GlyfTable() {\n return GlyfTable.__super__.constructor.apply(this, arguments);\n }\n GlyfTable.prototype.tag = \"glyf\";\n GlyfTable.prototype.parse = function() {\n return (this.cache = {});\n };\n GlyfTable.prototype.glyphFor = function(id) {\n var data,\n index,\n length,\n loca,\n numberOfContours,\n raw,\n xMax,\n xMin,\n yMax,\n yMin;\n if (id in this.cache) {\n return this.cache[id];\n }\n loca = this.file.loca;\n data = this.file.contents;\n index = loca.indexOf(id);\n length = loca.lengthOf(id);\n if (length === 0) {\n return (this.cache[id] = null);\n }\n data.pos = this.offset + index;\n raw = new Data(data.read(length));\n numberOfContours = raw.readShort();\n xMin = raw.readShort();\n yMin = raw.readShort();\n xMax = raw.readShort();\n yMax = raw.readShort();\n if (numberOfContours === -1) {\n this.cache[id] = new CompoundGlyph(raw, xMin, yMin, xMax, yMax);\n } else {\n this.cache[id] = new SimpleGlyph(\n raw,\n numberOfContours,\n xMin,\n yMin,\n xMax,\n yMax\n );\n }\n return this.cache[id];\n };\n GlyfTable.prototype.encode = function(glyphs, mapping, old2new) {\n var glyph, id, offsets, table, _i, _len;\n table = [];\n offsets = [];\n for (_i = 0, _len = mapping.length; _i < _len; _i++) {\n id = mapping[_i];\n glyph = glyphs[id];\n offsets.push(table.length);\n if (glyph) {\n table = table.concat(glyph.encode(old2new));\n }\n }\n offsets.push(table.length);\n return {\n table: table,\n offsets: offsets\n };\n };\n return GlyfTable;\n})(Table);\n\nvar SimpleGlyph = (function() {\n /**************************************************************************/\n /* function : SimpleGlyph */\n /* comment : Stores raw, xMin, yMin, xMax, and yMax values for this glyph.*/\n /**************************************************************************/\n function SimpleGlyph(raw, numberOfContours, xMin, yMin, xMax, yMax) {\n this.raw = raw;\n this.numberOfContours = numberOfContours;\n this.xMin = xMin;\n this.yMin = yMin;\n this.xMax = xMax;\n this.yMax = yMax;\n this.compound = false;\n }\n SimpleGlyph.prototype.encode = function() {\n return this.raw.data;\n };\n return SimpleGlyph;\n})();\n\nvar CompoundGlyph = (function() {\n var ARG_1_AND_2_ARE_WORDS,\n MORE_COMPONENTS,\n WE_HAVE_AN_X_AND_Y_SCALE,\n WE_HAVE_A_SCALE,\n WE_HAVE_A_TWO_BY_TWO,\n WE_HAVE_INSTRUCTIONS;\n ARG_1_AND_2_ARE_WORDS = 0x0001;\n WE_HAVE_A_SCALE = 0x0008;\n MORE_COMPONENTS = 0x0020;\n WE_HAVE_AN_X_AND_Y_SCALE = 0x0040;\n WE_HAVE_A_TWO_BY_TWO = 0x0080;\n WE_HAVE_INSTRUCTIONS = 0x0100;\n\n /********************************************************************************************************************/\n /* function : CompoundGlypg generator */\n /* comment : It stores raw, xMin, yMin, xMax, yMax, glyph id, and glyph offset for the corresponding compound glyph.*/\n /********************************************************************************************************************/\n function CompoundGlyph(raw, xMin, yMin, xMax, yMax) {\n var data, flags;\n this.raw = raw;\n this.xMin = xMin;\n this.yMin = yMin;\n this.xMax = xMax;\n this.yMax = yMax;\n this.compound = true;\n this.glyphIDs = [];\n this.glyphOffsets = [];\n data = this.raw;\n while (true) {\n flags = data.readShort();\n this.glyphOffsets.push(data.pos);\n this.glyphIDs.push(data.readUInt16());\n if (!(flags & MORE_COMPONENTS)) {\n break;\n }\n if (flags & ARG_1_AND_2_ARE_WORDS) {\n data.pos += 4;\n } else {\n data.pos += 2;\n }\n if (flags & WE_HAVE_A_TWO_BY_TWO) {\n data.pos += 8;\n } else if (flags & WE_HAVE_AN_X_AND_Y_SCALE) {\n data.pos += 4;\n } else if (flags & WE_HAVE_A_SCALE) {\n data.pos += 2;\n }\n }\n }\n /****************************************************************************************************************/\n /* function : CompoundGlypg encode */\n /* comment : After creating a table for the characters you typed, you call directory.encode to encode the table.*/\n /****************************************************************************************************************/\n CompoundGlyph.prototype.encode = function() {\n var i, result, _len, _ref;\n result = new Data(__slice.call(this.raw.data));\n _ref = this.glyphIDs;\n for (i = 0, _len = _ref.length; i < _len; ++i) {\n result.pos = this.glyphOffsets[i];\n }\n return result.data;\n };\n return CompoundGlyph;\n})();\n\nvar LocaTable = (function(_super) {\n __extends(LocaTable, _super);\n\n function LocaTable() {\n return LocaTable.__super__.constructor.apply(this, arguments);\n }\n LocaTable.prototype.tag = \"loca\";\n LocaTable.prototype.parse = function(data) {\n var format, i;\n data.pos = this.offset;\n format = this.file.head.indexToLocFormat;\n if (format === 0) {\n return (this.offsets = function() {\n var _ref, _results;\n _results = [];\n for (i = 0, _ref = this.length; i < _ref; i += 2) {\n _results.push(data.readUInt16() * 2);\n }\n return _results;\n }.call(this));\n } else {\n return (this.offsets = function() {\n var _ref, _results;\n _results = [];\n for (i = 0, _ref = this.length; i < _ref; i += 4) {\n _results.push(data.readUInt32());\n }\n return _results;\n }.call(this));\n }\n };\n LocaTable.prototype.indexOf = function(id) {\n return this.offsets[id];\n };\n LocaTable.prototype.lengthOf = function(id) {\n return this.offsets[id + 1] - this.offsets[id];\n };\n LocaTable.prototype.encode = function(offsets, activeGlyphs) {\n var LocaTable = new Uint32Array(this.offsets.length);\n var glyfPtr = 0;\n var listGlyf = 0;\n for (var k = 0; k < LocaTable.length; ++k) {\n LocaTable[k] = glyfPtr;\n if (listGlyf < activeGlyphs.length && activeGlyphs[listGlyf] == k) {\n ++listGlyf;\n LocaTable[k] = glyfPtr;\n var start = this.offsets[k];\n var len = this.offsets[k + 1] - start;\n if (len > 0) {\n glyfPtr += len;\n }\n }\n }\n var newLocaTable = new Array(LocaTable.length * 4);\n for (var j = 0; j < LocaTable.length; ++j) {\n newLocaTable[4 * j + 3] = LocaTable[j] & 0x000000ff;\n newLocaTable[4 * j + 2] = (LocaTable[j] & 0x0000ff00) >> 8;\n newLocaTable[4 * j + 1] = (LocaTable[j] & 0x00ff0000) >> 16;\n newLocaTable[4 * j] = (LocaTable[j] & 0xff000000) >> 24;\n }\n return newLocaTable;\n };\n return LocaTable;\n})(Table);\n\n/************************************************************************************/\n/* function : invert */\n/* comment : Change the object's (key: value) to create an object with (value: key).*/\n/************************************************************************************/\nvar invert = function(object) {\n var key, ret, val;\n ret = {};\n for (key in object) {\n val = object[key];\n ret[val] = key;\n }\n return ret;\n};\n\n/*var successorOf = function (input) {\n var added, alphabet, carry, i, index, isUpperCase, last, length, next, result;\n alphabet = 'abcdefghijklmnopqrstuvwxyz';\n length = alphabet.length;\n result = input;\n i = input.length;\n while (i >= 0) {\n last = input.charAt(--i);\n if (isNaN(last)) {\n index = alphabet.indexOf(last.toLowerCase());\n if (index === -1) {\n next = last;\n carry = true;\n }\n else {\n next = alphabet.charAt((index + 1) % length);\n isUpperCase = last === last.toUpperCase();\n if (isUpperCase) {\n next = next.toUpperCase();\n }\n carry = index + 1 >= length;\n if (carry && i === 0) {\n added = isUpperCase ? 'A' : 'a';\n result = added + next + result.slice(1);\n break;\n }\n }\n }\n else {\n next = +last + 1;\n carry = next > 9;\n if (carry) {\n next = 0;\n }\n if (carry && i === 0) {\n result = '1' + next + result.slice(1);\n break;\n }\n }\n result = result.slice(0, i) + next + result.slice(i + 1);\n if (!carry) {\n break;\n }\n }\n return result;\n };*/\n\nvar Subset = (function() {\n function Subset(font) {\n this.font = font;\n this.subset = {};\n this.unicodes = {};\n this.next = 33;\n }\n /*Subset.prototype.use = function (character) {\n var i, _i, _ref;\n if (typeof character === 'string') {\n for (i = _i = 0, _ref = character.length; 0 <= _ref ? _i < _ref : _i > _ref; i = 0 <= _ref ? ++_i : --_i) {\n this.use(character.charCodeAt(i));\n }\n return;\n }\n if (!this.unicodes[character]) {\n this.subset[this.next] = character;\n return this.unicodes[character] = this.next++;\n }\n };*/\n /*Subset.prototype.encodeText = function (text) {\n var char, i, string, _i, _ref;\n string = '';\n for (i = _i = 0, _ref = text.length; 0 <= _ref ? _i < _ref : _i > _ref; i = 0 <= _ref ? ++_i : --_i) {\n char = this.unicodes[text.charCodeAt(i)];\n string += String.fromCharCode(char);\n }\n return string;\n };*/\n /***************************************************************/\n /* function : generateCmap */\n /* comment : Returns the unicode cmap for this font. */\n /***************************************************************/\n Subset.prototype.generateCmap = function() {\n var mapping, roman, unicode, unicodeCmap, _ref;\n unicodeCmap = this.font.cmap.tables[0].codeMap;\n mapping = {};\n _ref = this.subset;\n for (roman in _ref) {\n unicode = _ref[roman];\n mapping[roman] = unicodeCmap[unicode];\n }\n return mapping;\n };\n /*Subset.prototype.glyphIDs = function () {\n var ret, roman, unicode, unicodeCmap, val, _ref;\n unicodeCmap = this.font.cmap.tables[0].codeMap;\n ret = [0];\n _ref = this.subset;\n for (roman in _ref) {\n unicode = _ref[roman];\n val = unicodeCmap[unicode];\n if ((val != null) && __indexOf.call(ret, val) < 0) {\n ret.push(val);\n }\n }\n return ret.sort();\n };*/\n /******************************************************************/\n /* function : glyphsFor */\n /* comment : Returns simple glyph objects for the input character.*/\n /******************************************************************/\n Subset.prototype.glyphsFor = function(glyphIDs) {\n var additionalIDs, glyph, glyphs, id, _i, _len, _ref;\n glyphs = {};\n for (_i = 0, _len = glyphIDs.length; _i < _len; _i++) {\n id = glyphIDs[_i];\n glyphs[id] = this.font.glyf.glyphFor(id);\n }\n additionalIDs = [];\n for (id in glyphs) {\n glyph = glyphs[id];\n if (glyph != null ? glyph.compound : void 0) {\n additionalIDs.push.apply(additionalIDs, glyph.glyphIDs);\n }\n }\n if (additionalIDs.length > 0) {\n _ref = this.glyphsFor(additionalIDs);\n for (id in _ref) {\n glyph = _ref[id];\n glyphs[id] = glyph;\n }\n }\n return glyphs;\n };\n /***************************************************************/\n /* function : encode */\n /* comment : Encode various tables for the characters you use. */\n /***************************************************************/\n Subset.prototype.encode = function(glyID, indexToLocFormat) {\n var cmap,\n code,\n glyf,\n glyphs,\n id,\n ids,\n loca,\n new2old,\n newIDs,\n nextGlyphID,\n old2new,\n oldID,\n oldIDs,\n tables,\n _ref;\n cmap = CmapTable.encode(this.generateCmap(), \"unicode\");\n glyphs = this.glyphsFor(glyID);\n old2new = {\n 0: 0\n };\n _ref = cmap.charMap;\n for (code in _ref) {\n ids = _ref[code];\n old2new[ids.old] = ids[\"new\"];\n }\n nextGlyphID = cmap.maxGlyphID;\n for (oldID in glyphs) {\n if (!(oldID in old2new)) {\n old2new[oldID] = nextGlyphID++;\n }\n }\n new2old = invert(old2new);\n newIDs = Object.keys(new2old).sort(function(a, b) {\n return a - b;\n });\n oldIDs = (function() {\n var _i, _len, _results;\n _results = [];\n for (_i = 0, _len = newIDs.length; _i < _len; _i++) {\n id = newIDs[_i];\n _results.push(new2old[id]);\n }\n return _results;\n })();\n glyf = this.font.glyf.encode(glyphs, oldIDs, old2new);\n loca = this.font.loca.encode(glyf.offsets, oldIDs);\n tables = {\n cmap: this.font.cmap.raw(),\n glyf: glyf.table,\n loca: loca,\n hmtx: this.font.hmtx.raw(),\n hhea: this.font.hhea.raw(),\n maxp: this.font.maxp.raw(),\n post: this.font.post.raw(),\n name: this.font.name.raw(),\n head: this.font.head.encode(indexToLocFormat)\n };\n if (this.font.os2.exists) {\n tables[\"OS/2\"] = this.font.os2.raw();\n }\n return this.font.directory.encode(tables);\n };\n return Subset;\n})();\n\njsPDF.API.PDFObject = (function() {\n var pad;\n\n function PDFObject() {}\n pad = function(str, length) {\n return (Array(length + 1).join(\"0\") + str).slice(-length);\n };\n /*****************************************************************************/\n /* function : convert */\n /* comment :Converts pdf tag's / FontBBox and array values in / W to strings */\n /*****************************************************************************/\n PDFObject.convert = function(object) {\n var e, items, key, out, val;\n if (Array.isArray(object)) {\n items = (function() {\n var _i, _len, _results;\n _results = [];\n for (_i = 0, _len = object.length; _i < _len; _i++) {\n e = object[_i];\n _results.push(PDFObject.convert(e));\n }\n return _results;\n })().join(\" \");\n return \"[\" + items + \"]\";\n } else if (typeof object === \"string\") {\n return \"/\" + object;\n } else if (object != null ? object.isString : void 0) {\n return \"(\" + object + \")\";\n } else if (object instanceof Date) {\n return (\n \"(D:\" +\n pad(object.getUTCFullYear(), 4) +\n pad(object.getUTCMonth(), 2) +\n pad(object.getUTCDate(), 2) +\n pad(object.getUTCHours(), 2) +\n pad(object.getUTCMinutes(), 2) +\n pad(object.getUTCSeconds(), 2) +\n \"Z)\"\n );\n } else if ({}.toString.call(object) === \"[object Object]\") {\n out = [\"<<\"];\n for (key in object) {\n val = object[key];\n out.push(\"/\" + key + \" \" + PDFObject.convert(val));\n }\n out.push(\">>\");\n return out.join(\"\\n\");\n } else {\n return \"\" + object;\n }\n };\n return PDFObject;\n})();\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","/* Web Font Loader v1.6.28 - (c) Adobe Systems, Google. License: Apache 2.0 */(function(){function aa(a,b,c){return a.call.apply(a.bind,arguments)}function ba(a,b,c){if(!a)throw Error();if(2=b.f?e():a.fonts.load(fa(b.a),b.h).then(function(a){1<=a.length?d():setTimeout(f,25)},function(){e()})}f()}),e=null,f=new Promise(function(a,d){e=setTimeout(d,b.f)});Promise.race([f,d]).then(function(){e&&(clearTimeout(e),e=null);b.g(b.a)},function(){b.j(b.a)})};function Q(a,b,c,d,e,f,g){this.v=a;this.B=b;this.c=c;this.a=d;this.s=g||\"BESbswy\";this.f={};this.w=e||3E3;this.u=f||null;this.m=this.j=this.h=this.g=null;this.g=new M(this.c,this.s);this.h=new M(this.c,this.s);this.j=new M(this.c,this.s);this.m=new M(this.c,this.s);a=new G(this.a.c+\",serif\",J(this.a));a=O(a);this.g.a.style.cssText=a;a=new G(this.a.c+\",sans-serif\",J(this.a));a=O(a);this.h.a.style.cssText=a;a=new G(\"serif\",J(this.a));a=O(a);this.j.a.style.cssText=a;a=new G(\"sans-serif\",J(this.a));a=\nO(a);this.m.a.style.cssText=a;N(this.g);N(this.h);N(this.j);N(this.m)}var R={D:\"serif\",C:\"sans-serif\"},S=null;function T(){if(null===S){var a=/AppleWebKit\\/([0-9]+)(?:\\.([0-9]+))/.exec(window.navigator.userAgent);S=!!a&&(536>parseInt(a[1],10)||536===parseInt(a[1],10)&&11>=parseInt(a[2],10))}return S}Q.prototype.start=function(){this.f.serif=this.j.a.offsetWidth;this.f[\"sans-serif\"]=this.m.a.offsetWidth;this.A=q();U(this)};\nfunction la(a,b,c){for(var d in R)if(R.hasOwnProperty(d)&&b===a.f[R[d]]&&c===a.f[R[d]])return!0;return!1}function U(a){var b=a.g.a.offsetWidth,c=a.h.a.offsetWidth,d;(d=b===a.f.serif&&c===a.f[\"sans-serif\"])||(d=T()&&la(a,b,c));d?q()-a.A>=a.w?T()&&la(a,b,c)&&(null===a.u||a.u.hasOwnProperty(a.a.c))?V(a,a.v):V(a,a.B):ma(a):V(a,a.v)}function ma(a){setTimeout(p(function(){U(this)},a),50)}function V(a,b){setTimeout(p(function(){v(this.g.a);v(this.h.a);v(this.j.a);v(this.m.a);b(this.a)},a),0)};function W(a,b,c){this.c=a;this.a=b;this.f=0;this.m=this.j=!1;this.s=c}var X=null;W.prototype.g=function(a){var b=this.a;b.g&&w(b.f,[b.a.c(\"wf\",a.c,J(a).toString(),\"active\")],[b.a.c(\"wf\",a.c,J(a).toString(),\"loading\"),b.a.c(\"wf\",a.c,J(a).toString(),\"inactive\")]);K(b,\"fontactive\",a);this.m=!0;na(this)};\nW.prototype.h=function(a){var b=this.a;if(b.g){var c=y(b.f,b.a.c(\"wf\",a.c,J(a).toString(),\"active\")),d=[],e=[b.a.c(\"wf\",a.c,J(a).toString(),\"loading\")];c||d.push(b.a.c(\"wf\",a.c,J(a).toString(),\"inactive\"));w(b.f,d,e)}K(b,\"fontinactive\",a);na(this)};function na(a){0==--a.f&&a.j&&(a.m?(a=a.a,a.g&&w(a.f,[a.a.c(\"wf\",\"active\")],[a.a.c(\"wf\",\"loading\"),a.a.c(\"wf\",\"inactive\")]),K(a,\"active\")):L(a.a))};function oa(a){this.j=a;this.a=new ja;this.h=0;this.f=this.g=!0}oa.prototype.load=function(a){this.c=new ca(this.j,a.context||this.j);this.g=!1!==a.events;this.f=!1!==a.classes;pa(this,new ha(this.c,a),a)};\nfunction qa(a,b,c,d,e){var f=0==--a.h;(a.f||a.g)&&setTimeout(function(){var a=e||null,m=d||null||{};if(0===c.length&&f)L(b.a);else{b.f+=c.length;f&&(b.j=f);var h,l=[];for(h=0;h= newByteLength && (!preserveResizability || fixedLength)) {\n newBuffer = slice(arrayBuffer, 0, newByteLength);\n } else {\n var options = preserveResizability && !fixedLength && maxByteLength ? { maxByteLength: maxByteLength(arrayBuffer) } : undefined;\n newBuffer = new ArrayBuffer(newByteLength, options);\n var a = new DataView(arrayBuffer);\n var b = new DataView(newBuffer);\n var copyLength = min(newByteLength, byteLength);\n for (var i = 0; i < copyLength; i++) setInt8(b, i, getInt8(a, i));\n }\n if (!PROPER_STRUCTURED_CLONE_TRANSFER) detachTransferable(arrayBuffer);\n return newBuffer;\n};\n","'use strict';\nvar NATIVE_ARRAY_BUFFER = require('../internals/array-buffer-basic-detection');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\nvar hasOwn = require('../internals/has-own-property');\nvar classof = require('../internals/classof');\nvar tryToString = require('../internals/try-to-string');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar defineBuiltInAccessor = require('../internals/define-built-in-accessor');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar uid = require('../internals/uid');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar enforceInternalState = InternalStateModule.enforce;\nvar getInternalState = InternalStateModule.get;\nvar Int8Array = global.Int8Array;\nvar Int8ArrayPrototype = Int8Array && Int8Array.prototype;\nvar Uint8ClampedArray = global.Uint8ClampedArray;\nvar Uint8ClampedArrayPrototype = Uint8ClampedArray && Uint8ClampedArray.prototype;\nvar TypedArray = Int8Array && getPrototypeOf(Int8Array);\nvar TypedArrayPrototype = Int8ArrayPrototype && getPrototypeOf(Int8ArrayPrototype);\nvar ObjectPrototype = Object.prototype;\nvar TypeError = global.TypeError;\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar TYPED_ARRAY_TAG = uid('TYPED_ARRAY_TAG');\nvar TYPED_ARRAY_CONSTRUCTOR = 'TypedArrayConstructor';\n// Fixing native typed arrays in Opera Presto crashes the browser, see #595\nvar NATIVE_ARRAY_BUFFER_VIEWS = NATIVE_ARRAY_BUFFER && !!setPrototypeOf && classof(global.opera) !== 'Opera';\nvar TYPED_ARRAY_TAG_REQUIRED = false;\nvar NAME, Constructor, Prototype;\n\nvar TypedArrayConstructorsList = {\n Int8Array: 1,\n Uint8Array: 1,\n Uint8ClampedArray: 1,\n Int16Array: 2,\n Uint16Array: 2,\n Int32Array: 4,\n Uint32Array: 4,\n Float32Array: 4,\n Float64Array: 8\n};\n\nvar BigIntArrayConstructorsList = {\n BigInt64Array: 8,\n BigUint64Array: 8\n};\n\nvar isView = function isView(it) {\n if (!isObject(it)) return false;\n var klass = classof(it);\n return klass === 'DataView'\n || hasOwn(TypedArrayConstructorsList, klass)\n || hasOwn(BigIntArrayConstructorsList, klass);\n};\n\nvar getTypedArrayConstructor = function (it) {\n var proto = getPrototypeOf(it);\n if (!isObject(proto)) return;\n var state = getInternalState(proto);\n return (state && hasOwn(state, TYPED_ARRAY_CONSTRUCTOR)) ? state[TYPED_ARRAY_CONSTRUCTOR] : getTypedArrayConstructor(proto);\n};\n\nvar isTypedArray = function (it) {\n if (!isObject(it)) return false;\n var klass = classof(it);\n return hasOwn(TypedArrayConstructorsList, klass)\n || hasOwn(BigIntArrayConstructorsList, klass);\n};\n\nvar aTypedArray = function (it) {\n if (isTypedArray(it)) return it;\n throw new TypeError('Target is not a typed array');\n};\n\nvar aTypedArrayConstructor = function (C) {\n if (isCallable(C) && (!setPrototypeOf || isPrototypeOf(TypedArray, C))) return C;\n throw new TypeError(tryToString(C) + ' is not a typed array constructor');\n};\n\nvar exportTypedArrayMethod = function (KEY, property, forced, options) {\n if (!DESCRIPTORS) return;\n if (forced) for (var ARRAY in TypedArrayConstructorsList) {\n var TypedArrayConstructor = global[ARRAY];\n if (TypedArrayConstructor && hasOwn(TypedArrayConstructor.prototype, KEY)) try {\n delete TypedArrayConstructor.prototype[KEY];\n } catch (error) {\n // old WebKit bug - some methods are non-configurable\n try {\n TypedArrayConstructor.prototype[KEY] = property;\n } catch (error2) { /* empty */ }\n }\n }\n if (!TypedArrayPrototype[KEY] || forced) {\n defineBuiltIn(TypedArrayPrototype, KEY, forced ? property\n : NATIVE_ARRAY_BUFFER_VIEWS && Int8ArrayPrototype[KEY] || property, options);\n }\n};\n\nvar exportTypedArrayStaticMethod = function (KEY, property, forced) {\n var ARRAY, TypedArrayConstructor;\n if (!DESCRIPTORS) return;\n if (setPrototypeOf) {\n if (forced) for (ARRAY in TypedArrayConstructorsList) {\n TypedArrayConstructor = global[ARRAY];\n if (TypedArrayConstructor && hasOwn(TypedArrayConstructor, KEY)) try {\n delete TypedArrayConstructor[KEY];\n } catch (error) { /* empty */ }\n }\n if (!TypedArray[KEY] || forced) {\n // V8 ~ Chrome 49-50 `%TypedArray%` methods are non-writable non-configurable\n try {\n return defineBuiltIn(TypedArray, KEY, forced ? property : NATIVE_ARRAY_BUFFER_VIEWS && TypedArray[KEY] || property);\n } catch (error) { /* empty */ }\n } else return;\n }\n for (ARRAY in TypedArrayConstructorsList) {\n TypedArrayConstructor = global[ARRAY];\n if (TypedArrayConstructor && (!TypedArrayConstructor[KEY] || forced)) {\n defineBuiltIn(TypedArrayConstructor, KEY, property);\n }\n }\n};\n\nfor (NAME in TypedArrayConstructorsList) {\n Constructor = global[NAME];\n Prototype = Constructor && Constructor.prototype;\n if (Prototype) enforceInternalState(Prototype)[TYPED_ARRAY_CONSTRUCTOR] = Constructor;\n else NATIVE_ARRAY_BUFFER_VIEWS = false;\n}\n\nfor (NAME in BigIntArrayConstructorsList) {\n Constructor = global[NAME];\n Prototype = Constructor && Constructor.prototype;\n if (Prototype) enforceInternalState(Prototype)[TYPED_ARRAY_CONSTRUCTOR] = Constructor;\n}\n\n// WebKit bug - typed arrays constructors prototype is Object.prototype\nif (!NATIVE_ARRAY_BUFFER_VIEWS || !isCallable(TypedArray) || TypedArray === Function.prototype) {\n // eslint-disable-next-line no-shadow -- safe\n TypedArray = function TypedArray() {\n throw new TypeError('Incorrect invocation');\n };\n if (NATIVE_ARRAY_BUFFER_VIEWS) for (NAME in TypedArrayConstructorsList) {\n if (global[NAME]) setPrototypeOf(global[NAME], TypedArray);\n }\n}\n\nif (!NATIVE_ARRAY_BUFFER_VIEWS || !TypedArrayPrototype || TypedArrayPrototype === ObjectPrototype) {\n TypedArrayPrototype = TypedArray.prototype;\n if (NATIVE_ARRAY_BUFFER_VIEWS) for (NAME in TypedArrayConstructorsList) {\n if (global[NAME]) setPrototypeOf(global[NAME].prototype, TypedArrayPrototype);\n }\n}\n\n// WebKit bug - one more object in Uint8ClampedArray prototype chain\nif (NATIVE_ARRAY_BUFFER_VIEWS && getPrototypeOf(Uint8ClampedArrayPrototype) !== TypedArrayPrototype) {\n setPrototypeOf(Uint8ClampedArrayPrototype, TypedArrayPrototype);\n}\n\nif (DESCRIPTORS && !hasOwn(TypedArrayPrototype, TO_STRING_TAG)) {\n TYPED_ARRAY_TAG_REQUIRED = true;\n defineBuiltInAccessor(TypedArrayPrototype, TO_STRING_TAG, {\n configurable: true,\n get: function () {\n return isObject(this) ? this[TYPED_ARRAY_TAG] : undefined;\n }\n });\n for (NAME in TypedArrayConstructorsList) if (global[NAME]) {\n createNonEnumerableProperty(global[NAME], TYPED_ARRAY_TAG, NAME);\n }\n}\n\nmodule.exports = {\n NATIVE_ARRAY_BUFFER_VIEWS: NATIVE_ARRAY_BUFFER_VIEWS,\n TYPED_ARRAY_TAG: TYPED_ARRAY_TAG_REQUIRED && TYPED_ARRAY_TAG,\n aTypedArray: aTypedArray,\n aTypedArrayConstructor: aTypedArrayConstructor,\n exportTypedArrayMethod: exportTypedArrayMethod,\n exportTypedArrayStaticMethod: exportTypedArrayStaticMethod,\n getTypedArrayConstructor: getTypedArrayConstructor,\n isView: isView,\n isTypedArray: isTypedArray,\n TypedArray: TypedArray,\n TypedArrayPrototype: TypedArrayPrototype\n};\n","'use strict';\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\n\nmodule.exports = function (Constructor, list, $length) {\n var index = 0;\n var length = arguments.length > 2 ? $length : lengthOfArrayLike(list);\n var result = new Constructor(length);\n while (length > index) result[index] = list[index++];\n return result;\n};\n","'use strict';\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\n\n// `Array.prototype.{ indexOf, includes }` methods implementation\nvar createMethod = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIndexedObject($this);\n var length = lengthOfArrayLike(O);\n if (length === 0) return !IS_INCLUDES && -1;\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare -- NaN check\n if (IS_INCLUDES && el !== el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare -- NaN check\n if (value !== value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) {\n if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.includes` method\n // https://tc39.es/ecma262/#sec-array.prototype.includes\n includes: createMethod(true),\n // `Array.prototype.indexOf` method\n // https://tc39.es/ecma262/#sec-array.prototype.indexof\n indexOf: createMethod(false)\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar isArray = require('../internals/is-array');\n\nvar $TypeError = TypeError;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// Safari < 13 does not throw an error in this case\nvar SILENT_ON_NON_WRITABLE_LENGTH_SET = DESCRIPTORS && !function () {\n // makes no sense without proper strict mode support\n if (this !== undefined) return true;\n try {\n // eslint-disable-next-line es/no-object-defineproperty -- safe\n Object.defineProperty([], 'length', { writable: false }).length = 1;\n } catch (error) {\n return error instanceof TypeError;\n }\n}();\n\nmodule.exports = SILENT_ON_NON_WRITABLE_LENGTH_SET ? function (O, length) {\n if (isArray(O) && !getOwnPropertyDescriptor(O, 'length').writable) {\n throw new $TypeError('Cannot set read only .length');\n } return O.length = length;\n} : function (O, length) {\n return O.length = length;\n};\n","'use strict';\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\n\n// https://tc39.es/proposal-change-array-by-copy/#sec-array.prototype.toReversed\n// https://tc39.es/proposal-change-array-by-copy/#sec-%typedarray%.prototype.toReversed\nmodule.exports = function (O, C) {\n var len = lengthOfArrayLike(O);\n var A = new C(len);\n var k = 0;\n for (; k < len; k++) A[k] = O[len - k - 1];\n return A;\n};\n","'use strict';\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar $RangeError = RangeError;\n\n// https://tc39.es/proposal-change-array-by-copy/#sec-array.prototype.with\n// https://tc39.es/proposal-change-array-by-copy/#sec-%typedarray%.prototype.with\nmodule.exports = function (O, C, index, value) {\n var len = lengthOfArrayLike(O);\n var relativeIndex = toIntegerOrInfinity(index);\n var actualIndex = relativeIndex < 0 ? len + relativeIndex : relativeIndex;\n if (actualIndex >= len || actualIndex < 0) throw new $RangeError('Incorrect index');\n var A = new C(len);\n var k = 0;\n for (; k < len; k++) A[k] = k === actualIndex ? value : O[k];\n return A;\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nvar toString = uncurryThis({}.toString);\nvar stringSlice = uncurryThis(''.slice);\n\nmodule.exports = function (it) {\n return stringSlice(toString(it), 8, -1);\n};\n","'use strict';\nvar TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar isCallable = require('../internals/is-callable');\nvar classofRaw = require('../internals/classof-raw');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar $Object = Object;\n\n// ES3 wrong here\nvar CORRECT_ARGUMENTS = classofRaw(function () { return arguments; }()) === 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n try {\n return it[key];\n } catch (error) { /* empty */ }\n};\n\n// getting tag from ES6+ `Object.prototype.toString`\nmodule.exports = TO_STRING_TAG_SUPPORT ? classofRaw : function (it) {\n var O, tag, result;\n return it === undefined ? 'Undefined' : it === null ? 'Null'\n // @@toStringTag case\n : typeof (tag = tryGet(O = $Object(it), TO_STRING_TAG)) == 'string' ? tag\n // builtinTag case\n : CORRECT_ARGUMENTS ? classofRaw(O)\n // ES3 arguments fallback\n : (result = classofRaw(O)) === 'Object' && isCallable(O.callee) ? 'Arguments' : result;\n};\n","'use strict';\nvar hasOwn = require('../internals/has-own-property');\nvar ownKeys = require('../internals/own-keys');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar definePropertyModule = require('../internals/object-define-property');\n\nmodule.exports = function (target, source, exceptions) {\n var keys = ownKeys(source);\n var defineProperty = definePropertyModule.f;\n var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n if (!hasOwn(target, key) && !(exceptions && hasOwn(exceptions, key))) {\n defineProperty(target, key, getOwnPropertyDescriptor(source, key));\n }\n }\n};\n","'use strict';\nvar fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n function F() { /* empty */ }\n F.prototype.constructor = null;\n // eslint-disable-next-line es/no-object-getprototypeof -- required for testing\n return Object.getPrototypeOf(new F()) !== F.prototype;\n});\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = DESCRIPTORS ? function (object, key, value) {\n return definePropertyModule.f(object, key, createPropertyDescriptor(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n","'use strict';\nmodule.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","'use strict';\nvar makeBuiltIn = require('../internals/make-built-in');\nvar defineProperty = require('../internals/object-define-property');\n\nmodule.exports = function (target, name, descriptor) {\n if (descriptor.get) makeBuiltIn(descriptor.get, name, { getter: true });\n if (descriptor.set) makeBuiltIn(descriptor.set, name, { setter: true });\n return defineProperty.f(target, name, descriptor);\n};\n","'use strict';\nvar isCallable = require('../internals/is-callable');\nvar definePropertyModule = require('../internals/object-define-property');\nvar makeBuiltIn = require('../internals/make-built-in');\nvar defineGlobalProperty = require('../internals/define-global-property');\n\nmodule.exports = function (O, key, value, options) {\n if (!options) options = {};\n var simple = options.enumerable;\n var name = options.name !== undefined ? options.name : key;\n if (isCallable(value)) makeBuiltIn(value, name, options);\n if (options.global) {\n if (simple) O[key] = value;\n else defineGlobalProperty(key, value);\n } else {\n try {\n if (!options.unsafe) delete O[key];\n else if (O[key]) simple = true;\n } catch (error) { /* empty */ }\n if (simple) O[key] = value;\n else definePropertyModule.f(O, key, {\n value: value,\n enumerable: false,\n configurable: !options.nonConfigurable,\n writable: !options.nonWritable\n });\n } return O;\n};\n","'use strict';\nvar global = require('../internals/global');\n\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar defineProperty = Object.defineProperty;\n\nmodule.exports = function (key, value) {\n try {\n defineProperty(global, key, { value: value, configurable: true, writable: true });\n } catch (error) {\n global[key] = value;\n } return value;\n};\n","'use strict';\nvar fails = require('../internals/fails');\n\n// Detect IE8's incomplete defineProperty implementation\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] !== 7;\n});\n","'use strict';\nvar global = require('../internals/global');\nvar tryNodeRequire = require('../internals/try-node-require');\nvar PROPER_STRUCTURED_CLONE_TRANSFER = require('../internals/structured-clone-proper-transfer');\n\nvar structuredClone = global.structuredClone;\nvar $ArrayBuffer = global.ArrayBuffer;\nvar $MessageChannel = global.MessageChannel;\nvar detach = false;\nvar WorkerThreads, channel, buffer, $detach;\n\nif (PROPER_STRUCTURED_CLONE_TRANSFER) {\n detach = function (transferable) {\n structuredClone(transferable, { transfer: [transferable] });\n };\n} else if ($ArrayBuffer) try {\n if (!$MessageChannel) {\n WorkerThreads = tryNodeRequire('worker_threads');\n if (WorkerThreads) $MessageChannel = WorkerThreads.MessageChannel;\n }\n\n if ($MessageChannel) {\n channel = new $MessageChannel();\n buffer = new $ArrayBuffer(2);\n\n $detach = function (transferable) {\n channel.port1.postMessage(null, [transferable]);\n };\n\n if (buffer.byteLength === 2) {\n $detach(buffer);\n if (buffer.byteLength === 0) detach = $detach;\n }\n }\n} catch (error) { /* empty */ }\n\nmodule.exports = detach;\n","'use strict';\nvar global = require('../internals/global');\nvar isObject = require('../internals/is-object');\n\nvar document = global.document;\n// typeof document.createElement is 'object' in old IE\nvar EXISTS = isObject(document) && isObject(document.createElement);\n\nmodule.exports = function (it) {\n return EXISTS ? document.createElement(it) : {};\n};\n","'use strict';\nvar $TypeError = TypeError;\nvar MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF; // 2 ** 53 - 1 == 9007199254740991\n\nmodule.exports = function (it) {\n if (it > MAX_SAFE_INTEGER) throw $TypeError('Maximum allowed index exceeded');\n return it;\n};\n","'use strict';\nvar IS_DENO = require('../internals/engine-is-deno');\nvar IS_NODE = require('../internals/engine-is-node');\n\nmodule.exports = !IS_DENO && !IS_NODE\n && typeof window == 'object'\n && typeof document == 'object';\n","'use strict';\n/* global Deno -- Deno case */\nmodule.exports = typeof Deno == 'object' && Deno && typeof Deno.version == 'object';\n","'use strict';\nvar global = require('../internals/global');\nvar classof = require('../internals/classof-raw');\n\nmodule.exports = classof(global.process) === 'process';\n","'use strict';\nmodule.exports = typeof navigator != 'undefined' && String(navigator.userAgent) || '';\n","'use strict';\nvar global = require('../internals/global');\nvar userAgent = require('../internals/engine-user-agent');\n\nvar process = global.process;\nvar Deno = global.Deno;\nvar versions = process && process.versions || Deno && Deno.version;\nvar v8 = versions && versions.v8;\nvar match, version;\n\nif (v8) {\n match = v8.split('.');\n // in old Chrome, versions of V8 isn't V8 = Chrome / 10\n // but their correct versions are not interesting for us\n version = match[0] > 0 && match[0] < 4 ? 1 : +(match[0] + match[1]);\n}\n\n// BrowserFS NodeJS `process` polyfill incorrectly set `.v8` to `0.0`\n// so check `userAgent` even if `.v8` exists, but 0\nif (!version && userAgent) {\n match = userAgent.match(/Edge\\/(\\d+)/);\n if (!match || match[1] >= 74) {\n match = userAgent.match(/Chrome\\/(\\d+)/);\n if (match) version = +match[1];\n }\n}\n\nmodule.exports = version;\n","'use strict';\n// IE8- don't enum bug keys\nmodule.exports = [\n 'constructor',\n 'hasOwnProperty',\n 'isPrototypeOf',\n 'propertyIsEnumerable',\n 'toLocaleString',\n 'toString',\n 'valueOf'\n];\n","'use strict';\nvar global = require('../internals/global');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar defineGlobalProperty = require('../internals/define-global-property');\nvar copyConstructorProperties = require('../internals/copy-constructor-properties');\nvar isForced = require('../internals/is-forced');\n\n/*\n options.target - name of the target object\n options.global - target is the global object\n options.stat - export as static methods of target\n options.proto - export as prototype methods of target\n options.real - real prototype method for the `pure` version\n options.forced - export even if the native feature is available\n options.bind - bind methods to the target, required for the `pure` version\n options.wrap - wrap constructors to preventing global pollution, required for the `pure` version\n options.unsafe - use the simple assignment of property instead of delete + defineProperty\n options.sham - add a flag to not completely full polyfills\n options.enumerable - export as enumerable property\n options.dontCallGetSet - prevent calling a getter on target\n options.name - the .name of the function if it does not match the key\n*/\nmodule.exports = function (options, source) {\n var TARGET = options.target;\n var GLOBAL = options.global;\n var STATIC = options.stat;\n var FORCED, target, key, targetProperty, sourceProperty, descriptor;\n if (GLOBAL) {\n target = global;\n } else if (STATIC) {\n target = global[TARGET] || defineGlobalProperty(TARGET, {});\n } else {\n target = global[TARGET] && global[TARGET].prototype;\n }\n if (target) for (key in source) {\n sourceProperty = source[key];\n if (options.dontCallGetSet) {\n descriptor = getOwnPropertyDescriptor(target, key);\n targetProperty = descriptor && descriptor.value;\n } else targetProperty = target[key];\n FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);\n // contained in target\n if (!FORCED && targetProperty !== undefined) {\n if (typeof sourceProperty == typeof targetProperty) continue;\n copyConstructorProperties(sourceProperty, targetProperty);\n }\n // add a flag to not completely full polyfills\n if (options.sham || (targetProperty && targetProperty.sham)) {\n createNonEnumerableProperty(sourceProperty, 'sham', true);\n }\n defineBuiltIn(target, key, sourceProperty, options);\n }\n};\n","'use strict';\nmodule.exports = function (exec) {\n try {\n return !!exec();\n } catch (error) {\n return true;\n }\n};\n","'use strict';\nvar fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es/no-function-prototype-bind -- safe\n var test = (function () { /* empty */ }).bind();\n // eslint-disable-next-line no-prototype-builtins -- safe\n return typeof test != 'function' || test.hasOwnProperty('prototype');\n});\n","'use strict';\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar call = Function.prototype.call;\n\nmodule.exports = NATIVE_BIND ? call.bind(call) : function () {\n return call.apply(call, arguments);\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar hasOwn = require('../internals/has-own-property');\n\nvar FunctionPrototype = Function.prototype;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getDescriptor = DESCRIPTORS && Object.getOwnPropertyDescriptor;\n\nvar EXISTS = hasOwn(FunctionPrototype, 'name');\n// additional protection from minified / mangled / dropped function names\nvar PROPER = EXISTS && (function something() { /* empty */ }).name === 'something';\nvar CONFIGURABLE = EXISTS && (!DESCRIPTORS || (DESCRIPTORS && getDescriptor(FunctionPrototype, 'name').configurable));\n\nmodule.exports = {\n EXISTS: EXISTS,\n PROPER: PROPER,\n CONFIGURABLE: CONFIGURABLE\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar aCallable = require('../internals/a-callable');\n\nmodule.exports = function (object, key, method) {\n try {\n // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\n return uncurryThis(aCallable(Object.getOwnPropertyDescriptor(object, key)[method]));\n } catch (error) { /* empty */ }\n};\n","'use strict';\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar FunctionPrototype = Function.prototype;\nvar call = FunctionPrototype.call;\nvar uncurryThisWithBind = NATIVE_BIND && FunctionPrototype.bind.bind(call, call);\n\nmodule.exports = NATIVE_BIND ? uncurryThisWithBind : function (fn) {\n return function () {\n return call.apply(fn, arguments);\n };\n};\n","'use strict';\nvar global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\n\nvar aFunction = function (argument) {\n return isCallable(argument) ? argument : undefined;\n};\n\nmodule.exports = function (namespace, method) {\n return arguments.length < 2 ? aFunction(global[namespace]) : global[namespace] && global[namespace][method];\n};\n","'use strict';\n// `GetIteratorDirect(obj)` abstract operation\n// https://tc39.es/proposal-iterator-helpers/#sec-getiteratordirect\nmodule.exports = function (obj) {\n return {\n iterator: obj,\n next: obj.next,\n done: false\n };\n};\n","'use strict';\nvar aCallable = require('../internals/a-callable');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\n\n// `GetMethod` abstract operation\n// https://tc39.es/ecma262/#sec-getmethod\nmodule.exports = function (V, P) {\n var func = V[P];\n return isNullOrUndefined(func) ? undefined : aCallable(func);\n};\n","'use strict';\nvar aCallable = require('../internals/a-callable');\nvar anObject = require('../internals/an-object');\nvar call = require('../internals/function-call');\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\nvar getIteratorDirect = require('../internals/get-iterator-direct');\n\nvar INVALID_SIZE = 'Invalid size';\nvar $RangeError = RangeError;\nvar $TypeError = TypeError;\nvar max = Math.max;\n\nvar SetRecord = function (set, intSize) {\n this.set = set;\n this.size = max(intSize, 0);\n this.has = aCallable(set.has);\n this.keys = aCallable(set.keys);\n};\n\nSetRecord.prototype = {\n getIterator: function () {\n return getIteratorDirect(anObject(call(this.keys, this.set)));\n },\n includes: function (it) {\n return call(this.has, this.set, it);\n }\n};\n\n// `GetSetRecord` abstract operation\n// https://tc39.es/proposal-set-methods/#sec-getsetrecord\nmodule.exports = function (obj) {\n anObject(obj);\n var numSize = +obj.size;\n // NOTE: If size is undefined, then numSize will be NaN\n // eslint-disable-next-line no-self-compare -- NaN check\n if (numSize !== numSize) throw new $TypeError(INVALID_SIZE);\n var intSize = toIntegerOrInfinity(numSize);\n if (intSize < 0) throw new $RangeError(INVALID_SIZE);\n return new SetRecord(obj, intSize);\n};\n","'use strict';\nvar check = function (it) {\n return it && it.Math === Math && it;\n};\n\n// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nmodule.exports =\n // eslint-disable-next-line es/no-global-this -- safe\n check(typeof globalThis == 'object' && globalThis) ||\n check(typeof window == 'object' && window) ||\n // eslint-disable-next-line no-restricted-globals -- safe\n check(typeof self == 'object' && self) ||\n check(typeof global == 'object' && global) ||\n check(typeof this == 'object' && this) ||\n // eslint-disable-next-line no-new-func -- fallback\n (function () { return this; })() || Function('return this')();\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar toObject = require('../internals/to-object');\n\nvar hasOwnProperty = uncurryThis({}.hasOwnProperty);\n\n// `HasOwnProperty` abstract operation\n// https://tc39.es/ecma262/#sec-hasownproperty\n// eslint-disable-next-line es/no-object-hasown -- safe\nmodule.exports = Object.hasOwn || function hasOwn(it, key) {\n return hasOwnProperty(toObject(it), key);\n};\n","'use strict';\nmodule.exports = {};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar createElement = require('../internals/document-create-element');\n\n// Thanks to IE8 for its funny defineProperty\nmodule.exports = !DESCRIPTORS && !fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty(createElement('div'), 'a', {\n get: function () { return 7; }\n }).a !== 7;\n});\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar classof = require('../internals/classof-raw');\n\nvar $Object = Object;\nvar split = uncurryThis(''.split);\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nmodule.exports = fails(function () {\n // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346\n // eslint-disable-next-line no-prototype-builtins -- safe\n return !$Object('z').propertyIsEnumerable(0);\n}) ? function (it) {\n return classof(it) === 'String' ? split(it, '') : $Object(it);\n} : $Object;\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar isCallable = require('../internals/is-callable');\nvar store = require('../internals/shared-store');\n\nvar functionToString = uncurryThis(Function.toString);\n\n// this helper broken in `core-js@3.4.1-3.4.4`, so we can't use `shared` helper\nif (!isCallable(store.inspectSource)) {\n store.inspectSource = function (it) {\n return functionToString(it);\n };\n}\n\nmodule.exports = store.inspectSource;\n","'use strict';\nvar NATIVE_WEAK_MAP = require('../internals/weak-map-basic-detection');\nvar global = require('../internals/global');\nvar isObject = require('../internals/is-object');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar hasOwn = require('../internals/has-own-property');\nvar shared = require('../internals/shared-store');\nvar sharedKey = require('../internals/shared-key');\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar OBJECT_ALREADY_INITIALIZED = 'Object already initialized';\nvar TypeError = global.TypeError;\nvar WeakMap = global.WeakMap;\nvar set, get, has;\n\nvar enforce = function (it) {\n return has(it) ? get(it) : set(it, {});\n};\n\nvar getterFor = function (TYPE) {\n return function (it) {\n var state;\n if (!isObject(it) || (state = get(it)).type !== TYPE) {\n throw new TypeError('Incompatible receiver, ' + TYPE + ' required');\n } return state;\n };\n};\n\nif (NATIVE_WEAK_MAP || shared.state) {\n var store = shared.state || (shared.state = new WeakMap());\n /* eslint-disable no-self-assign -- prototype methods protection */\n store.get = store.get;\n store.has = store.has;\n store.set = store.set;\n /* eslint-enable no-self-assign -- prototype methods protection */\n set = function (it, metadata) {\n if (store.has(it)) throw new TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n store.set(it, metadata);\n return metadata;\n };\n get = function (it) {\n return store.get(it) || {};\n };\n has = function (it) {\n return store.has(it);\n };\n} else {\n var STATE = sharedKey('state');\n hiddenKeys[STATE] = true;\n set = function (it, metadata) {\n if (hasOwn(it, STATE)) throw new TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n createNonEnumerableProperty(it, STATE, metadata);\n return metadata;\n };\n get = function (it) {\n return hasOwn(it, STATE) ? it[STATE] : {};\n };\n has = function (it) {\n return hasOwn(it, STATE);\n };\n}\n\nmodule.exports = {\n set: set,\n get: get,\n has: has,\n enforce: enforce,\n getterFor: getterFor\n};\n","'use strict';\nvar classof = require('../internals/classof-raw');\n\n// `IsArray` abstract operation\n// https://tc39.es/ecma262/#sec-isarray\n// eslint-disable-next-line es/no-array-isarray -- safe\nmodule.exports = Array.isArray || function isArray(argument) {\n return classof(argument) === 'Array';\n};\n","'use strict';\nvar classof = require('../internals/classof');\n\nmodule.exports = function (it) {\n var klass = classof(it);\n return klass === 'BigInt64Array' || klass === 'BigUint64Array';\n};\n","'use strict';\n// https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot\nvar documentAll = typeof document == 'object' && document.all;\n\n// `IsCallable` abstract operation\n// https://tc39.es/ecma262/#sec-iscallable\n// eslint-disable-next-line unicorn/no-typeof-undefined -- required for testing\nmodule.exports = typeof documentAll == 'undefined' && documentAll !== undefined ? function (argument) {\n return typeof argument == 'function' || argument === documentAll;\n} : function (argument) {\n return typeof argument == 'function';\n};\n","'use strict';\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\n\nvar replacement = /#|\\.prototype\\./;\n\nvar isForced = function (feature, detection) {\n var value = data[normalize(feature)];\n return value === POLYFILL ? true\n : value === NATIVE ? false\n : isCallable(detection) ? fails(detection)\n : !!detection;\n};\n\nvar normalize = isForced.normalize = function (string) {\n return String(string).replace(replacement, '.').toLowerCase();\n};\n\nvar data = isForced.data = {};\nvar NATIVE = isForced.NATIVE = 'N';\nvar POLYFILL = isForced.POLYFILL = 'P';\n\nmodule.exports = isForced;\n","'use strict';\n// we can't use just `it == null` since of `document.all` special case\n// https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot-aec\nmodule.exports = function (it) {\n return it === null || it === undefined;\n};\n","'use strict';\nvar isCallable = require('../internals/is-callable');\n\nmodule.exports = function (it) {\n return typeof it == 'object' ? it !== null : isCallable(it);\n};\n","'use strict';\nvar isObject = require('../internals/is-object');\n\nmodule.exports = function (argument) {\n return isObject(argument) || argument === null;\n};\n","'use strict';\nmodule.exports = false;\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\nvar isCallable = require('../internals/is-callable');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar $Object = Object;\n\nmodule.exports = USE_SYMBOL_AS_UID ? function (it) {\n return typeof it == 'symbol';\n} : function (it) {\n var $Symbol = getBuiltIn('Symbol');\n return isCallable($Symbol) && isPrototypeOf($Symbol.prototype, $Object(it));\n};\n","'use strict';\nvar call = require('../internals/function-call');\n\nmodule.exports = function (record, fn, ITERATOR_INSTEAD_OF_RECORD) {\n var iterator = ITERATOR_INSTEAD_OF_RECORD ? record : record.iterator;\n var next = record.next;\n var step, result;\n while (!(step = call(next, iterator)).done) {\n result = fn(step.value);\n if (result !== undefined) return result;\n }\n};\n","'use strict';\nvar call = require('../internals/function-call');\nvar anObject = require('../internals/an-object');\nvar getMethod = require('../internals/get-method');\n\nmodule.exports = function (iterator, kind, value) {\n var innerResult, innerError;\n anObject(iterator);\n try {\n innerResult = getMethod(iterator, 'return');\n if (!innerResult) {\n if (kind === 'throw') throw value;\n return value;\n }\n innerResult = call(innerResult, iterator);\n } catch (error) {\n innerError = true;\n innerResult = error;\n }\n if (kind === 'throw') throw value;\n if (innerError) throw innerResult;\n anObject(innerResult);\n return value;\n};\n","'use strict';\nvar toLength = require('../internals/to-length');\n\n// `LengthOfArrayLike` abstract operation\n// https://tc39.es/ecma262/#sec-lengthofarraylike\nmodule.exports = function (obj) {\n return toLength(obj.length);\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\nvar hasOwn = require('../internals/has-own-property');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar CONFIGURABLE_FUNCTION_NAME = require('../internals/function-name').CONFIGURABLE;\nvar inspectSource = require('../internals/inspect-source');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar enforceInternalState = InternalStateModule.enforce;\nvar getInternalState = InternalStateModule.get;\nvar $String = String;\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar defineProperty = Object.defineProperty;\nvar stringSlice = uncurryThis(''.slice);\nvar replace = uncurryThis(''.replace);\nvar join = uncurryThis([].join);\n\nvar CONFIGURABLE_LENGTH = DESCRIPTORS && !fails(function () {\n return defineProperty(function () { /* empty */ }, 'length', { value: 8 }).length !== 8;\n});\n\nvar TEMPLATE = String(String).split('String');\n\nvar makeBuiltIn = module.exports = function (value, name, options) {\n if (stringSlice($String(name), 0, 7) === 'Symbol(') {\n name = '[' + replace($String(name), /^Symbol\\(([^)]*)\\).*$/, '$1') + ']';\n }\n if (options && options.getter) name = 'get ' + name;\n if (options && options.setter) name = 'set ' + name;\n if (!hasOwn(value, 'name') || (CONFIGURABLE_FUNCTION_NAME && value.name !== name)) {\n if (DESCRIPTORS) defineProperty(value, 'name', { value: name, configurable: true });\n else value.name = name;\n }\n if (CONFIGURABLE_LENGTH && options && hasOwn(options, 'arity') && value.length !== options.arity) {\n defineProperty(value, 'length', { value: options.arity });\n }\n try {\n if (options && hasOwn(options, 'constructor') && options.constructor) {\n if (DESCRIPTORS) defineProperty(value, 'prototype', { writable: false });\n // in V8 ~ Chrome 53, prototypes of some methods, like `Array.prototype.values`, are non-writable\n } else if (value.prototype) value.prototype = undefined;\n } catch (error) { /* empty */ }\n var state = enforceInternalState(value);\n if (!hasOwn(state, 'source')) {\n state.source = join(TEMPLATE, typeof name == 'string' ? name : '');\n } return value;\n};\n\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n// eslint-disable-next-line no-extend-native -- required\nFunction.prototype.toString = makeBuiltIn(function toString() {\n return isCallable(this) && getInternalState(this).source || inspectSource(this);\n}, 'toString');\n","'use strict';\nvar ceil = Math.ceil;\nvar floor = Math.floor;\n\n// `Math.trunc` method\n// https://tc39.es/ecma262/#sec-math.trunc\n// eslint-disable-next-line es/no-math-trunc -- safe\nmodule.exports = Math.trunc || function trunc(x) {\n var n = +x;\n return (n > 0 ? floor : ceil)(n);\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\nvar V8_PROTOTYPE_DEFINE_BUG = require('../internals/v8-prototype-define-bug');\nvar anObject = require('../internals/an-object');\nvar toPropertyKey = require('../internals/to-property-key');\n\nvar $TypeError = TypeError;\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar $defineProperty = Object.defineProperty;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar ENUMERABLE = 'enumerable';\nvar CONFIGURABLE = 'configurable';\nvar WRITABLE = 'writable';\n\n// `Object.defineProperty` method\n// https://tc39.es/ecma262/#sec-object.defineproperty\nexports.f = DESCRIPTORS ? V8_PROTOTYPE_DEFINE_BUG ? function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPropertyKey(P);\n anObject(Attributes);\n if (typeof O === 'function' && P === 'prototype' && 'value' in Attributes && WRITABLE in Attributes && !Attributes[WRITABLE]) {\n var current = $getOwnPropertyDescriptor(O, P);\n if (current && current[WRITABLE]) {\n O[P] = Attributes.value;\n Attributes = {\n configurable: CONFIGURABLE in Attributes ? Attributes[CONFIGURABLE] : current[CONFIGURABLE],\n enumerable: ENUMERABLE in Attributes ? Attributes[ENUMERABLE] : current[ENUMERABLE],\n writable: false\n };\n }\n } return $defineProperty(O, P, Attributes);\n} : $defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPropertyKey(P);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return $defineProperty(O, P, Attributes);\n } catch (error) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw new $TypeError('Accessors not supported');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar call = require('../internals/function-call');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPropertyKey = require('../internals/to-property-key');\nvar hasOwn = require('../internals/has-own-property');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\n\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// `Object.getOwnPropertyDescriptor` method\n// https://tc39.es/ecma262/#sec-object.getownpropertydescriptor\nexports.f = DESCRIPTORS ? $getOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {\n O = toIndexedObject(O);\n P = toPropertyKey(P);\n if (IE8_DOM_DEFINE) try {\n return $getOwnPropertyDescriptor(O, P);\n } catch (error) { /* empty */ }\n if (hasOwn(O, P)) return createPropertyDescriptor(!call(propertyIsEnumerableModule.f, O, P), O[P]);\n};\n","'use strict';\nvar internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\nvar hiddenKeys = enumBugKeys.concat('length', 'prototype');\n\n// `Object.getOwnPropertyNames` method\n// https://tc39.es/ecma262/#sec-object.getownpropertynames\n// eslint-disable-next-line es/no-object-getownpropertynames -- safe\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return internalObjectKeys(O, hiddenKeys);\n};\n","'use strict';\n// eslint-disable-next-line es/no-object-getownpropertysymbols -- safe\nexports.f = Object.getOwnPropertySymbols;\n","'use strict';\nvar hasOwn = require('../internals/has-own-property');\nvar isCallable = require('../internals/is-callable');\nvar toObject = require('../internals/to-object');\nvar sharedKey = require('../internals/shared-key');\nvar CORRECT_PROTOTYPE_GETTER = require('../internals/correct-prototype-getter');\n\nvar IE_PROTO = sharedKey('IE_PROTO');\nvar $Object = Object;\nvar ObjectPrototype = $Object.prototype;\n\n// `Object.getPrototypeOf` method\n// https://tc39.es/ecma262/#sec-object.getprototypeof\n// eslint-disable-next-line es/no-object-getprototypeof -- safe\nmodule.exports = CORRECT_PROTOTYPE_GETTER ? $Object.getPrototypeOf : function (O) {\n var object = toObject(O);\n if (hasOwn(object, IE_PROTO)) return object[IE_PROTO];\n var constructor = object.constructor;\n if (isCallable(constructor) && object instanceof constructor) {\n return constructor.prototype;\n } return object instanceof $Object ? ObjectPrototype : null;\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = uncurryThis({}.isPrototypeOf);\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar hasOwn = require('../internals/has-own-property');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar indexOf = require('../internals/array-includes').indexOf;\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar push = uncurryThis([].push);\n\nmodule.exports = function (object, names) {\n var O = toIndexedObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) !hasOwn(hiddenKeys, key) && hasOwn(O, key) && push(result, key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (hasOwn(O, key = names[i++])) {\n ~indexOf(result, key) || push(result, key);\n }\n return result;\n};\n","'use strict';\nvar $propertyIsEnumerable = {}.propertyIsEnumerable;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// Nashorn ~ JDK8 bug\nvar NASHORN_BUG = getOwnPropertyDescriptor && !$propertyIsEnumerable.call({ 1: 2 }, 1);\n\n// `Object.prototype.propertyIsEnumerable` method implementation\n// https://tc39.es/ecma262/#sec-object.prototype.propertyisenumerable\nexports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {\n var descriptor = getOwnPropertyDescriptor(this, V);\n return !!descriptor && descriptor.enumerable;\n} : $propertyIsEnumerable;\n","'use strict';\n/* eslint-disable no-proto -- safe */\nvar uncurryThisAccessor = require('../internals/function-uncurry-this-accessor');\nvar isObject = require('../internals/is-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar aPossiblePrototype = require('../internals/a-possible-prototype');\n\n// `Object.setPrototypeOf` method\n// https://tc39.es/ecma262/#sec-object.setprototypeof\n// Works with __proto__ only. Old v8 can't work with null proto objects.\n// eslint-disable-next-line es/no-object-setprototypeof -- safe\nmodule.exports = Object.setPrototypeOf || ('__proto__' in {} ? function () {\n var CORRECT_SETTER = false;\n var test = {};\n var setter;\n try {\n setter = uncurryThisAccessor(Object.prototype, '__proto__', 'set');\n setter(test, []);\n CORRECT_SETTER = test instanceof Array;\n } catch (error) { /* empty */ }\n return function setPrototypeOf(O, proto) {\n requireObjectCoercible(O);\n aPossiblePrototype(proto);\n if (!isObject(O)) return O;\n if (CORRECT_SETTER) setter(O, proto);\n else O.__proto__ = proto;\n return O;\n };\n}() : undefined);\n","'use strict';\nvar call = require('../internals/function-call');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\n\nvar $TypeError = TypeError;\n\n// `OrdinaryToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-ordinarytoprimitive\nmodule.exports = function (input, pref) {\n var fn, val;\n if (pref === 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;\n if (isCallable(fn = input.valueOf) && !isObject(val = call(fn, input))) return val;\n if (pref !== 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;\n throw new $TypeError(\"Can't convert object to primitive value\");\n};\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar anObject = require('../internals/an-object');\n\nvar concat = uncurryThis([].concat);\n\n// all object keys, includes non-enumerable and symbols\nmodule.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {\n var keys = getOwnPropertyNamesModule.f(anObject(it));\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n return getOwnPropertySymbols ? concat(keys, getOwnPropertySymbols(it)) : keys;\n};\n","'use strict';\nvar anObject = require('../internals/an-object');\n\n// `RegExp.prototype.flags` getter implementation\n// https://tc39.es/ecma262/#sec-get-regexp.prototype.flags\nmodule.exports = function () {\n var that = anObject(this);\n var result = '';\n if (that.hasIndices) result += 'd';\n if (that.global) result += 'g';\n if (that.ignoreCase) result += 'i';\n if (that.multiline) result += 'm';\n if (that.dotAll) result += 's';\n if (that.unicode) result += 'u';\n if (that.unicodeSets) result += 'v';\n if (that.sticky) result += 'y';\n return result;\n};\n","'use strict';\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\n\nvar $TypeError = TypeError;\n\n// `RequireObjectCoercible` abstract operation\n// https://tc39.es/ecma262/#sec-requireobjectcoercible\nmodule.exports = function (it) {\n if (isNullOrUndefined(it)) throw new $TypeError(\"Can't call method on \" + it);\n return it;\n};\n","'use strict';\nvar SetHelpers = require('../internals/set-helpers');\nvar iterate = require('../internals/set-iterate');\n\nvar Set = SetHelpers.Set;\nvar add = SetHelpers.add;\n\nmodule.exports = function (set) {\n var result = new Set();\n iterate(set, function (it) {\n add(result, it);\n });\n return result;\n};\n","'use strict';\nvar aSet = require('../internals/a-set');\nvar SetHelpers = require('../internals/set-helpers');\nvar clone = require('../internals/set-clone');\nvar size = require('../internals/set-size');\nvar getSetRecord = require('../internals/get-set-record');\nvar iterateSet = require('../internals/set-iterate');\nvar iterateSimple = require('../internals/iterate-simple');\n\nvar has = SetHelpers.has;\nvar remove = SetHelpers.remove;\n\n// `Set.prototype.difference` method\n// https://github.com/tc39/proposal-set-methods\nmodule.exports = function difference(other) {\n var O = aSet(this);\n var otherRec = getSetRecord(other);\n var result = clone(O);\n if (size(O) <= otherRec.size) iterateSet(O, function (e) {\n if (otherRec.includes(e)) remove(result, e);\n });\n else iterateSimple(otherRec.getIterator(), function (e) {\n if (has(O, e)) remove(result, e);\n });\n return result;\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\n// eslint-disable-next-line es/no-set -- safe\nvar SetPrototype = Set.prototype;\n\nmodule.exports = {\n // eslint-disable-next-line es/no-set -- safe\n Set: Set,\n add: uncurryThis(SetPrototype.add),\n has: uncurryThis(SetPrototype.has),\n remove: uncurryThis(SetPrototype['delete']),\n proto: SetPrototype\n};\n","'use strict';\nvar aSet = require('../internals/a-set');\nvar SetHelpers = require('../internals/set-helpers');\nvar size = require('../internals/set-size');\nvar getSetRecord = require('../internals/get-set-record');\nvar iterateSet = require('../internals/set-iterate');\nvar iterateSimple = require('../internals/iterate-simple');\n\nvar Set = SetHelpers.Set;\nvar add = SetHelpers.add;\nvar has = SetHelpers.has;\n\n// `Set.prototype.intersection` method\n// https://github.com/tc39/proposal-set-methods\nmodule.exports = function intersection(other) {\n var O = aSet(this);\n var otherRec = getSetRecord(other);\n var result = new Set();\n\n if (size(O) > otherRec.size) {\n iterateSimple(otherRec.getIterator(), function (e) {\n if (has(O, e)) add(result, e);\n });\n } else {\n iterateSet(O, function (e) {\n if (otherRec.includes(e)) add(result, e);\n });\n }\n\n return result;\n};\n","'use strict';\nvar aSet = require('../internals/a-set');\nvar has = require('../internals/set-helpers').has;\nvar size = require('../internals/set-size');\nvar getSetRecord = require('../internals/get-set-record');\nvar iterateSet = require('../internals/set-iterate');\nvar iterateSimple = require('../internals/iterate-simple');\nvar iteratorClose = require('../internals/iterator-close');\n\n// `Set.prototype.isDisjointFrom` method\n// https://tc39.github.io/proposal-set-methods/#Set.prototype.isDisjointFrom\nmodule.exports = function isDisjointFrom(other) {\n var O = aSet(this);\n var otherRec = getSetRecord(other);\n if (size(O) <= otherRec.size) return iterateSet(O, function (e) {\n if (otherRec.includes(e)) return false;\n }, true) !== false;\n var iterator = otherRec.getIterator();\n return iterateSimple(iterator, function (e) {\n if (has(O, e)) return iteratorClose(iterator, 'normal', false);\n }) !== false;\n};\n","'use strict';\nvar aSet = require('../internals/a-set');\nvar size = require('../internals/set-size');\nvar iterate = require('../internals/set-iterate');\nvar getSetRecord = require('../internals/get-set-record');\n\n// `Set.prototype.isSubsetOf` method\n// https://tc39.github.io/proposal-set-methods/#Set.prototype.isSubsetOf\nmodule.exports = function isSubsetOf(other) {\n var O = aSet(this);\n var otherRec = getSetRecord(other);\n if (size(O) > otherRec.size) return false;\n return iterate(O, function (e) {\n if (!otherRec.includes(e)) return false;\n }, true) !== false;\n};\n","'use strict';\nvar aSet = require('../internals/a-set');\nvar has = require('../internals/set-helpers').has;\nvar size = require('../internals/set-size');\nvar getSetRecord = require('../internals/get-set-record');\nvar iterateSimple = require('../internals/iterate-simple');\nvar iteratorClose = require('../internals/iterator-close');\n\n// `Set.prototype.isSupersetOf` method\n// https://tc39.github.io/proposal-set-methods/#Set.prototype.isSupersetOf\nmodule.exports = function isSupersetOf(other) {\n var O = aSet(this);\n var otherRec = getSetRecord(other);\n if (size(O) < otherRec.size) return false;\n var iterator = otherRec.getIterator();\n return iterateSimple(iterator, function (e) {\n if (!has(O, e)) return iteratorClose(iterator, 'normal', false);\n }) !== false;\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar iterateSimple = require('../internals/iterate-simple');\nvar SetHelpers = require('../internals/set-helpers');\n\nvar Set = SetHelpers.Set;\nvar SetPrototype = SetHelpers.proto;\nvar forEach = uncurryThis(SetPrototype.forEach);\nvar keys = uncurryThis(SetPrototype.keys);\nvar next = keys(new Set()).next;\n\nmodule.exports = function (set, fn, interruptible) {\n return interruptible ? iterateSimple({ iterator: keys(set), next: next }, fn) : forEach(set, fn);\n};\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\n\nvar createSetLike = function (size) {\n return {\n size: size,\n has: function () {\n return false;\n },\n keys: function () {\n return {\n next: function () {\n return { done: true };\n }\n };\n }\n };\n};\n\nmodule.exports = function (name) {\n var Set = getBuiltIn('Set');\n try {\n new Set()[name](createSetLike(0));\n try {\n // late spec change, early WebKit ~ Safari 17.0 beta implementation does not pass it\n // https://github.com/tc39/proposal-set-methods/pull/88\n new Set()[name](createSetLike(-1));\n return false;\n } catch (error2) {\n return true;\n }\n } catch (error) {\n return false;\n }\n};\n","'use strict';\nvar uncurryThisAccessor = require('../internals/function-uncurry-this-accessor');\nvar SetHelpers = require('../internals/set-helpers');\n\nmodule.exports = uncurryThisAccessor(SetHelpers.proto, 'size', 'get') || function (set) {\n return set.size;\n};\n","'use strict';\nvar aSet = require('../internals/a-set');\nvar SetHelpers = require('../internals/set-helpers');\nvar clone = require('../internals/set-clone');\nvar getSetRecord = require('../internals/get-set-record');\nvar iterateSimple = require('../internals/iterate-simple');\n\nvar add = SetHelpers.add;\nvar has = SetHelpers.has;\nvar remove = SetHelpers.remove;\n\n// `Set.prototype.symmetricDifference` method\n// https://github.com/tc39/proposal-set-methods\nmodule.exports = function symmetricDifference(other) {\n var O = aSet(this);\n var keysIter = getSetRecord(other).getIterator();\n var result = clone(O);\n iterateSimple(keysIter, function (e) {\n if (has(O, e)) remove(result, e);\n else add(result, e);\n });\n return result;\n};\n","'use strict';\nvar aSet = require('../internals/a-set');\nvar add = require('../internals/set-helpers').add;\nvar clone = require('../internals/set-clone');\nvar getSetRecord = require('../internals/get-set-record');\nvar iterateSimple = require('../internals/iterate-simple');\n\n// `Set.prototype.union` method\n// https://github.com/tc39/proposal-set-methods\nmodule.exports = function union(other) {\n var O = aSet(this);\n var keysIter = getSetRecord(other).getIterator();\n var result = clone(O);\n iterateSimple(keysIter, function (it) {\n add(result, it);\n });\n return result;\n};\n","'use strict';\nvar shared = require('../internals/shared');\nvar uid = require('../internals/uid');\n\nvar keys = shared('keys');\n\nmodule.exports = function (key) {\n return keys[key] || (keys[key] = uid(key));\n};\n","'use strict';\nvar IS_PURE = require('../internals/is-pure');\nvar globalThis = require('../internals/global');\nvar defineGlobalProperty = require('../internals/define-global-property');\n\nvar SHARED = '__core-js_shared__';\nvar store = module.exports = globalThis[SHARED] || defineGlobalProperty(SHARED, {});\n\n(store.versions || (store.versions = [])).push({\n version: '3.37.1',\n mode: IS_PURE ? 'pure' : 'global',\n copyright: '© 2014-2024 Denis Pushkarev (zloirock.ru)',\n license: 'https://github.com/zloirock/core-js/blob/v3.37.1/LICENSE',\n source: 'https://github.com/zloirock/core-js'\n});\n","'use strict';\nvar store = require('../internals/shared-store');\n\nmodule.exports = function (key, value) {\n return store[key] || (store[key] = value || {});\n};\n","'use strict';\nvar global = require('../internals/global');\nvar fails = require('../internals/fails');\nvar V8 = require('../internals/engine-v8-version');\nvar IS_BROWSER = require('../internals/engine-is-browser');\nvar IS_DENO = require('../internals/engine-is-deno');\nvar IS_NODE = require('../internals/engine-is-node');\n\nvar structuredClone = global.structuredClone;\n\nmodule.exports = !!structuredClone && !fails(function () {\n // prevent V8 ArrayBufferDetaching protector cell invalidation and performance degradation\n // https://github.com/zloirock/core-js/issues/679\n if ((IS_DENO && V8 > 92) || (IS_NODE && V8 > 94) || (IS_BROWSER && V8 > 97)) return false;\n var buffer = new ArrayBuffer(8);\n var clone = structuredClone(buffer, { transfer: [buffer] });\n return buffer.byteLength !== 0 || clone.byteLength !== 8;\n});\n","'use strict';\n/* eslint-disable es/no-symbol -- required for testing */\nvar V8_VERSION = require('../internals/engine-v8-version');\nvar fails = require('../internals/fails');\nvar global = require('../internals/global');\n\nvar $String = global.String;\n\n// eslint-disable-next-line es/no-object-getownpropertysymbols -- required for testing\nmodule.exports = !!Object.getOwnPropertySymbols && !fails(function () {\n var symbol = Symbol('symbol detection');\n // Chrome 38 Symbol has incorrect toString conversion\n // `get-own-property-symbols` polyfill symbols converted to object are not Symbol instances\n // nb: Do not call `String` directly to avoid this being optimized out to `symbol+''` which will,\n // of course, fail.\n return !$String(symbol) || !(Object(symbol) instanceof Symbol) ||\n // Chrome 38-40 symbols are not inherited from DOM collections prototypes to instances\n !Symbol.sham && V8_VERSION && V8_VERSION < 41;\n});\n","'use strict';\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar max = Math.max;\nvar min = Math.min;\n\n// Helper for a popular repeating case of the spec:\n// Let integer be ? ToInteger(index).\n// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).\nmodule.exports = function (index, length) {\n var integer = toIntegerOrInfinity(index);\n return integer < 0 ? max(integer + length, 0) : min(integer, length);\n};\n","'use strict';\nvar toPrimitive = require('../internals/to-primitive');\n\nvar $TypeError = TypeError;\n\n// `ToBigInt` abstract operation\n// https://tc39.es/ecma262/#sec-tobigint\nmodule.exports = function (argument) {\n var prim = toPrimitive(argument, 'number');\n if (typeof prim == 'number') throw new $TypeError(\"Can't convert number to bigint\");\n // eslint-disable-next-line es/no-bigint -- safe\n return BigInt(prim);\n};\n","'use strict';\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\nvar toLength = require('../internals/to-length');\n\nvar $RangeError = RangeError;\n\n// `ToIndex` abstract operation\n// https://tc39.es/ecma262/#sec-toindex\nmodule.exports = function (it) {\n if (it === undefined) return 0;\n var number = toIntegerOrInfinity(it);\n var length = toLength(number);\n if (number !== length) throw new $RangeError('Wrong length or index');\n return length;\n};\n","'use strict';\n// toObject with fallback for non-array-like ES3 strings\nvar IndexedObject = require('../internals/indexed-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nmodule.exports = function (it) {\n return IndexedObject(requireObjectCoercible(it));\n};\n","'use strict';\nvar trunc = require('../internals/math-trunc');\n\n// `ToIntegerOrInfinity` abstract operation\n// https://tc39.es/ecma262/#sec-tointegerorinfinity\nmodule.exports = function (argument) {\n var number = +argument;\n // eslint-disable-next-line no-self-compare -- NaN check\n return number !== number || number === 0 ? 0 : trunc(number);\n};\n","'use strict';\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar min = Math.min;\n\n// `ToLength` abstract operation\n// https://tc39.es/ecma262/#sec-tolength\nmodule.exports = function (argument) {\n var len = toIntegerOrInfinity(argument);\n return len > 0 ? min(len, 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991\n};\n","'use strict';\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nvar $Object = Object;\n\n// `ToObject` abstract operation\n// https://tc39.es/ecma262/#sec-toobject\nmodule.exports = function (argument) {\n return $Object(requireObjectCoercible(argument));\n};\n","'use strict';\nvar call = require('../internals/function-call');\nvar isObject = require('../internals/is-object');\nvar isSymbol = require('../internals/is-symbol');\nvar getMethod = require('../internals/get-method');\nvar ordinaryToPrimitive = require('../internals/ordinary-to-primitive');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar $TypeError = TypeError;\nvar TO_PRIMITIVE = wellKnownSymbol('toPrimitive');\n\n// `ToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-toprimitive\nmodule.exports = function (input, pref) {\n if (!isObject(input) || isSymbol(input)) return input;\n var exoticToPrim = getMethod(input, TO_PRIMITIVE);\n var result;\n if (exoticToPrim) {\n if (pref === undefined) pref = 'default';\n result = call(exoticToPrim, input, pref);\n if (!isObject(result) || isSymbol(result)) return result;\n throw new $TypeError(\"Can't convert object to primitive value\");\n }\n if (pref === undefined) pref = 'number';\n return ordinaryToPrimitive(input, pref);\n};\n","'use strict';\nvar toPrimitive = require('../internals/to-primitive');\nvar isSymbol = require('../internals/is-symbol');\n\n// `ToPropertyKey` abstract operation\n// https://tc39.es/ecma262/#sec-topropertykey\nmodule.exports = function (argument) {\n var key = toPrimitive(argument, 'string');\n return isSymbol(key) ? key : key + '';\n};\n","'use strict';\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar test = {};\n\ntest[TO_STRING_TAG] = 'z';\n\nmodule.exports = String(test) === '[object z]';\n","'use strict';\nvar classof = require('../internals/classof');\n\nvar $String = String;\n\nmodule.exports = function (argument) {\n if (classof(argument) === 'Symbol') throw new TypeError('Cannot convert a Symbol value to a string');\n return $String(argument);\n};\n","'use strict';\nvar IS_NODE = require('../internals/engine-is-node');\n\nmodule.exports = function (name) {\n try {\n // eslint-disable-next-line no-new-func -- safe\n if (IS_NODE) return Function('return require(\"' + name + '\")')();\n } catch (error) { /* empty */ }\n};\n","'use strict';\nvar $String = String;\n\nmodule.exports = function (argument) {\n try {\n return $String(argument);\n } catch (error) {\n return 'Object';\n }\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nvar id = 0;\nvar postfix = Math.random();\nvar toString = uncurryThis(1.0.toString);\n\nmodule.exports = function (key) {\n return 'Symbol(' + (key === undefined ? '' : key) + ')_' + toString(++id + postfix, 36);\n};\n","'use strict';\n/* eslint-disable es/no-symbol -- required for testing */\nvar NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\n\nmodule.exports = NATIVE_SYMBOL\n && !Symbol.sham\n && typeof Symbol.iterator == 'symbol';\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\n\n// V8 ~ Chrome 36-\n// https://bugs.chromium.org/p/v8/issues/detail?id=3334\nmodule.exports = DESCRIPTORS && fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty(function () { /* empty */ }, 'prototype', {\n value: 42,\n writable: false\n }).prototype !== 42;\n});\n","'use strict';\nvar $TypeError = TypeError;\n\nmodule.exports = function (passed, required) {\n if (passed < required) throw new $TypeError('Not enough arguments');\n return passed;\n};\n","'use strict';\nvar global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\n\nvar WeakMap = global.WeakMap;\n\nmodule.exports = isCallable(WeakMap) && /native code/.test(String(WeakMap));\n","'use strict';\nvar global = require('../internals/global');\nvar shared = require('../internals/shared');\nvar hasOwn = require('../internals/has-own-property');\nvar uid = require('../internals/uid');\nvar NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar Symbol = global.Symbol;\nvar WellKnownSymbolsStore = shared('wks');\nvar createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol['for'] || Symbol : Symbol && Symbol.withoutSetter || uid;\n\nmodule.exports = function (name) {\n if (!hasOwn(WellKnownSymbolsStore, name)) {\n WellKnownSymbolsStore[name] = NATIVE_SYMBOL && hasOwn(Symbol, name)\n ? Symbol[name]\n : createWellKnownSymbol('Symbol.' + name);\n } return WellKnownSymbolsStore[name];\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar defineBuiltInAccessor = require('../internals/define-built-in-accessor');\nvar isDetached = require('../internals/array-buffer-is-detached');\n\nvar ArrayBufferPrototype = ArrayBuffer.prototype;\n\nif (DESCRIPTORS && !('detached' in ArrayBufferPrototype)) {\n defineBuiltInAccessor(ArrayBufferPrototype, 'detached', {\n configurable: true,\n get: function detached() {\n return isDetached(this);\n }\n });\n}\n","'use strict';\nvar $ = require('../internals/export');\nvar $transfer = require('../internals/array-buffer-transfer');\n\n// `ArrayBuffer.prototype.transferToFixedLength` method\n// https://tc39.es/proposal-arraybuffer-transfer/#sec-arraybuffer.prototype.transfertofixedlength\nif ($transfer) $({ target: 'ArrayBuffer', proto: true }, {\n transferToFixedLength: function transferToFixedLength() {\n return $transfer(this, arguments.length ? arguments[0] : undefined, false);\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar $transfer = require('../internals/array-buffer-transfer');\n\n// `ArrayBuffer.prototype.transfer` method\n// https://tc39.es/proposal-arraybuffer-transfer/#sec-arraybuffer.prototype.transfer\nif ($transfer) $({ target: 'ArrayBuffer', proto: true }, {\n transfer: function transfer() {\n return $transfer(this, arguments.length ? arguments[0] : undefined, true);\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar toObject = require('../internals/to-object');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar setArrayLength = require('../internals/array-set-length');\nvar doesNotExceedSafeInteger = require('../internals/does-not-exceed-safe-integer');\nvar fails = require('../internals/fails');\n\nvar INCORRECT_TO_LENGTH = fails(function () {\n return [].push.call({ length: 0x100000000 }, 1) !== 4294967297;\n});\n\n// V8 <= 121 and Safari <= 15.4; FF < 23 throws InternalError\n// https://bugs.chromium.org/p/v8/issues/detail?id=12681\nvar properErrorOnNonWritableLength = function () {\n try {\n // eslint-disable-next-line es/no-object-defineproperty -- safe\n Object.defineProperty([], 'length', { writable: false }).push();\n } catch (error) {\n return error instanceof TypeError;\n }\n};\n\nvar FORCED = INCORRECT_TO_LENGTH || !properErrorOnNonWritableLength();\n\n// `Array.prototype.push` method\n// https://tc39.es/ecma262/#sec-array.prototype.push\n$({ target: 'Array', proto: true, arity: 1, forced: FORCED }, {\n // eslint-disable-next-line no-unused-vars -- required for `.length`\n push: function push(item) {\n var O = toObject(this);\n var len = lengthOfArrayLike(O);\n var argCount = arguments.length;\n doesNotExceedSafeInteger(len + argCount);\n for (var i = 0; i < argCount; i++) {\n O[len] = arguments[i];\n len++;\n }\n setArrayLength(O, len);\n return len;\n }\n});\n","'use strict';\nvar global = require('../internals/global');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar defineBuiltInAccessor = require('../internals/define-built-in-accessor');\nvar regExpFlags = require('../internals/regexp-flags');\nvar fails = require('../internals/fails');\n\n// babel-minify and Closure Compiler transpiles RegExp('.', 'd') -> /./d and it causes SyntaxError\nvar RegExp = global.RegExp;\nvar RegExpPrototype = RegExp.prototype;\n\nvar FORCED = DESCRIPTORS && fails(function () {\n var INDICES_SUPPORT = true;\n try {\n RegExp('.', 'd');\n } catch (error) {\n INDICES_SUPPORT = false;\n }\n\n var O = {};\n // modern V8 bug\n var calls = '';\n var expected = INDICES_SUPPORT ? 'dgimsy' : 'gimsy';\n\n var addGetter = function (key, chr) {\n // eslint-disable-next-line es/no-object-defineproperty -- safe\n Object.defineProperty(O, key, { get: function () {\n calls += chr;\n return true;\n } });\n };\n\n var pairs = {\n dotAll: 's',\n global: 'g',\n ignoreCase: 'i',\n multiline: 'm',\n sticky: 'y'\n };\n\n if (INDICES_SUPPORT) pairs.hasIndices = 'd';\n\n for (var key in pairs) addGetter(key, pairs[key]);\n\n // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\n var result = Object.getOwnPropertyDescriptor(RegExpPrototype, 'flags').get.call(O);\n\n return result !== expected || calls !== expected;\n});\n\n// `RegExp.prototype.flags` getter\n// https://tc39.es/ecma262/#sec-get-regexp.prototype.flags\nif (FORCED) defineBuiltInAccessor(RegExpPrototype, 'flags', {\n configurable: true,\n get: regExpFlags\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar difference = require('../internals/set-difference');\nvar setMethodAcceptSetLike = require('../internals/set-method-accept-set-like');\n\n// `Set.prototype.difference` method\n// https://github.com/tc39/proposal-set-methods\n$({ target: 'Set', proto: true, real: true, forced: !setMethodAcceptSetLike('difference') }, {\n difference: difference\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar fails = require('../internals/fails');\nvar intersection = require('../internals/set-intersection');\nvar setMethodAcceptSetLike = require('../internals/set-method-accept-set-like');\n\nvar INCORRECT = !setMethodAcceptSetLike('intersection') || fails(function () {\n // eslint-disable-next-line es/no-array-from, es/no-set -- testing\n return String(Array.from(new Set([1, 2, 3]).intersection(new Set([3, 2])))) !== '3,2';\n});\n\n// `Set.prototype.intersection` method\n// https://github.com/tc39/proposal-set-methods\n$({ target: 'Set', proto: true, real: true, forced: INCORRECT }, {\n intersection: intersection\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar isDisjointFrom = require('../internals/set-is-disjoint-from');\nvar setMethodAcceptSetLike = require('../internals/set-method-accept-set-like');\n\n// `Set.prototype.isDisjointFrom` method\n// https://github.com/tc39/proposal-set-methods\n$({ target: 'Set', proto: true, real: true, forced: !setMethodAcceptSetLike('isDisjointFrom') }, {\n isDisjointFrom: isDisjointFrom\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar isSubsetOf = require('../internals/set-is-subset-of');\nvar setMethodAcceptSetLike = require('../internals/set-method-accept-set-like');\n\n// `Set.prototype.isSubsetOf` method\n// https://github.com/tc39/proposal-set-methods\n$({ target: 'Set', proto: true, real: true, forced: !setMethodAcceptSetLike('isSubsetOf') }, {\n isSubsetOf: isSubsetOf\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar isSupersetOf = require('../internals/set-is-superset-of');\nvar setMethodAcceptSetLike = require('../internals/set-method-accept-set-like');\n\n// `Set.prototype.isSupersetOf` method\n// https://github.com/tc39/proposal-set-methods\n$({ target: 'Set', proto: true, real: true, forced: !setMethodAcceptSetLike('isSupersetOf') }, {\n isSupersetOf: isSupersetOf\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar symmetricDifference = require('../internals/set-symmetric-difference');\nvar setMethodAcceptSetLike = require('../internals/set-method-accept-set-like');\n\n// `Set.prototype.symmetricDifference` method\n// https://github.com/tc39/proposal-set-methods\n$({ target: 'Set', proto: true, real: true, forced: !setMethodAcceptSetLike('symmetricDifference') }, {\n symmetricDifference: symmetricDifference\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar union = require('../internals/set-union');\nvar setMethodAcceptSetLike = require('../internals/set-method-accept-set-like');\n\n// `Set.prototype.union` method\n// https://github.com/tc39/proposal-set-methods\n$({ target: 'Set', proto: true, real: true, forced: !setMethodAcceptSetLike('union') }, {\n union: union\n});\n","'use strict';\nvar arrayToReversed = require('../internals/array-to-reversed');\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\nvar getTypedArrayConstructor = ArrayBufferViewCore.getTypedArrayConstructor;\n\n// `%TypedArray%.prototype.toReversed` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.toreversed\nexportTypedArrayMethod('toReversed', function toReversed() {\n return arrayToReversed(aTypedArray(this), getTypedArrayConstructor(this));\n});\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar aCallable = require('../internals/a-callable');\nvar arrayFromConstructorAndList = require('../internals/array-from-constructor-and-list');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar getTypedArrayConstructor = ArrayBufferViewCore.getTypedArrayConstructor;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\nvar sort = uncurryThis(ArrayBufferViewCore.TypedArrayPrototype.sort);\n\n// `%TypedArray%.prototype.toSorted` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.tosorted\nexportTypedArrayMethod('toSorted', function toSorted(compareFn) {\n if (compareFn !== undefined) aCallable(compareFn);\n var O = aTypedArray(this);\n var A = arrayFromConstructorAndList(getTypedArrayConstructor(O), O);\n return sort(A, compareFn);\n});\n","'use strict';\nvar arrayWith = require('../internals/array-with');\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar isBigIntArray = require('../internals/is-big-int-array');\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\nvar toBigInt = require('../internals/to-big-int');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar getTypedArrayConstructor = ArrayBufferViewCore.getTypedArrayConstructor;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\nvar PROPER_ORDER = !!function () {\n try {\n // eslint-disable-next-line no-throw-literal, es/no-typed-arrays, es/no-array-prototype-with -- required for testing\n new Int8Array(1)['with'](2, { valueOf: function () { throw 8; } });\n } catch (error) {\n // some early implementations, like WebKit, does not follow the final semantic\n // https://github.com/tc39/proposal-change-array-by-copy/pull/86\n return error === 8;\n }\n}();\n\n// `%TypedArray%.prototype.with` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.with\nexportTypedArrayMethod('with', { 'with': function (index, value) {\n var O = aTypedArray(this);\n var relativeIndex = toIntegerOrInfinity(index);\n var actualValue = isBigIntArray(O) ? toBigInt(value) : +value;\n return arrayWith(O, getTypedArrayConstructor(O), relativeIndex, actualValue);\n} }['with'], !PROPER_ORDER);\n","'use strict';\n// TODO: Remove from `core-js@4`\nrequire('../modules/es.set.difference.v2');\n","'use strict';\n// TODO: Remove from `core-js@4`\nrequire('../modules/es.set.intersection.v2');\n","'use strict';\n// TODO: Remove from `core-js@4`\nrequire('../modules/es.set.is-disjoint-from.v2');\n","'use strict';\n// TODO: Remove from `core-js@4`\nrequire('../modules/es.set.is-subset-of.v2');\n","'use strict';\n// TODO: Remove from `core-js@4`\nrequire('../modules/es.set.is-superset-of.v2');\n","'use strict';\n// TODO: Remove from `core-js@4`\nrequire('../modules/es.set.symmetric-difference.v2');\n","'use strict';\n// TODO: Remove from `core-js@4`\nrequire('../modules/es.set.union.v2');\n","'use strict';\nvar defineBuiltIn = require('../internals/define-built-in');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar toString = require('../internals/to-string');\nvar validateArgumentsLength = require('../internals/validate-arguments-length');\n\nvar $URLSearchParams = URLSearchParams;\nvar URLSearchParamsPrototype = $URLSearchParams.prototype;\nvar append = uncurryThis(URLSearchParamsPrototype.append);\nvar $delete = uncurryThis(URLSearchParamsPrototype['delete']);\nvar forEach = uncurryThis(URLSearchParamsPrototype.forEach);\nvar push = uncurryThis([].push);\nvar params = new $URLSearchParams('a=1&a=2&b=3');\n\nparams['delete']('a', 1);\n// `undefined` case is a Chromium 117 bug\n// https://bugs.chromium.org/p/v8/issues/detail?id=14222\nparams['delete']('b', undefined);\n\nif (params + '' !== 'a=2') {\n defineBuiltIn(URLSearchParamsPrototype, 'delete', function (name /* , value */) {\n var length = arguments.length;\n var $value = length < 2 ? undefined : arguments[1];\n if (length && $value === undefined) return $delete(this, name);\n var entries = [];\n forEach(this, function (v, k) { // also validates `this`\n push(entries, { key: k, value: v });\n });\n validateArgumentsLength(length, 1);\n var key = toString(name);\n var value = toString($value);\n var index = 0;\n var dindex = 0;\n var found = false;\n var entriesLength = entries.length;\n var entry;\n while (index < entriesLength) {\n entry = entries[index++];\n if (found || entry.key === key) {\n found = true;\n $delete(this, entry.key);\n } else dindex++;\n }\n while (dindex < entriesLength) {\n entry = entries[dindex++];\n if (!(entry.key === key && entry.value === value)) append(this, entry.key, entry.value);\n }\n }, { enumerable: true, unsafe: true });\n}\n","'use strict';\nvar defineBuiltIn = require('../internals/define-built-in');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar toString = require('../internals/to-string');\nvar validateArgumentsLength = require('../internals/validate-arguments-length');\n\nvar $URLSearchParams = URLSearchParams;\nvar URLSearchParamsPrototype = $URLSearchParams.prototype;\nvar getAll = uncurryThis(URLSearchParamsPrototype.getAll);\nvar $has = uncurryThis(URLSearchParamsPrototype.has);\nvar params = new $URLSearchParams('a=1');\n\n// `undefined` case is a Chromium 117 bug\n// https://bugs.chromium.org/p/v8/issues/detail?id=14222\nif (params.has('a', 2) || !params.has('a', undefined)) {\n defineBuiltIn(URLSearchParamsPrototype, 'has', function has(name /* , value */) {\n var length = arguments.length;\n var $value = length < 2 ? undefined : arguments[1];\n if (length && $value === undefined) return $has(this, name);\n var values = getAll(this, name); // also validates `this`\n validateArgumentsLength(length, 1);\n var value = toString($value);\n var index = 0;\n while (index < values.length) {\n if (values[index++] === value) return true;\n } return false;\n }, { enumerable: true, unsafe: true });\n}\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar defineBuiltInAccessor = require('../internals/define-built-in-accessor');\n\nvar URLSearchParamsPrototype = URLSearchParams.prototype;\nvar forEach = uncurryThis(URLSearchParamsPrototype.forEach);\n\n// `URLSearchParams.prototype.size` getter\n// https://github.com/whatwg/url/pull/734\nif (DESCRIPTORS && !('size' in URLSearchParamsPrototype)) {\n defineBuiltInAccessor(URLSearchParamsPrototype, 'size', {\n get: function size() {\n var count = 0;\n forEach(this, function () { count++; });\n return count;\n },\n configurable: true,\n enumerable: true\n });\n}\n","function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, _typeof(o);\n}\nexport { _typeof as default };","(function(){\"use strict\";try{if(typeof document!=\"undefined\"){var e=document.createElement(\"style\");e.appendChild(document.createTextNode(\".video-wrapper[data-v-f8afdaf5]{display:flex;justify-content:center;align-items:center;width:100%;height:100%;position:absolute;overflow:hidden;z-index:0}.fade[data-v-f8afdaf5]{backface-visibility:hidden}.fade-enter-active[data-v-f8afdaf5],.fade-leave-active[data-v-f8afdaf5]{transition:opacity 1s}.fade-enter[data-v-f8afdaf5],.fade-leave-to[data-v-f8afdaf5]{opacity:0}video[data-v-f8afdaf5]{visibility:visible;pointer-events:none;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);height:100%;width:100%}.video-buffering[data-v-21ec9d8c]{width:100%;overflow:hidden;background-size:cover;background-position:center;height:100%;top:0;left:0;position:absolute}.video-overlay[data-v-95abe06c]{height:100%;width:100%;top:0;left:0;position:absolute}.vue-responsive-videobg[data-v-7649c24c]{background:none;position:relative;width:100%;overflow:hidden}.vue-responsive-videobg .videobg-content[data-v-7649c24c]{position:absolute;top:0;left:0;width:100%;height:100%}\")),document.head.appendChild(e)}}catch(t){console.error(\"vite-plugin-css-injected-by-js\",t)}})();\nimport { openBlock as s, createBlock as p, Transition as w, withCtx as k, withDirectives as V, createElementVNode as d, normalizeStyle as c, vShow as E, createElementBlock as y, resolveComponent as u, createCommentVNode as h, createVNode as P, renderSlot as j } from \"vue\";\nconst _ = {\n src: {\n type: String,\n required: !0\n },\n muted: {\n type: Boolean,\n default: !0\n },\n loop: {\n type: Boolean,\n default: !0\n },\n preload: {\n type: String,\n default: \"auto\"\n },\n objectFit: {\n type: String,\n default: \"cover\"\n },\n playsWhen: {\n type: String,\n default: \"canplay\",\n note: \"Google HTML Video Events\"\n },\n playbackRate: {\n type: Number,\n default: 1\n },\n transition: {\n type: String,\n default: \"fade\"\n }\n}, R = [\"src\", \"res\", \"autoplay\"], S = (e) => Array.isArray(e) ? e.length === 0 ? !0 : m(e, R) : !1, m = (e, t) => t.length === 1 ? f(e, t[0]) : f(e, t[0]) * m(e, t.slice(1)), f = (e, t) => {\n for (let o = e.length - 1; o > -1; o -= 1) {\n const r = e[o];\n if (!W(r))\n return !1;\n if (O(r, t))\n return !0;\n }\n return !1;\n}, W = (e) => e != null && e.constructor.name === \"Object\", O = (e, t) => Object.prototype.hasOwnProperty.call(e, t), B = {\n sources: {\n type: Array,\n default() {\n return [];\n },\n validator: S\n },\n autoplay: {\n type: Boolean,\n default: !0\n },\n poster: {\n type: String,\n default: \"\"\n },\n overlay: {\n type: String,\n default: \"\"\n },\n ..._\n};\nconst a = (e, t) => {\n const o = e.__vccOpts || e;\n for (const [r, i] of t)\n o[r] = i;\n return o;\n}, T = {\n props: _,\n emits: [\"playing\", \"error\", \"loading\", \"ended\", \"ready\"],\n data() {\n return {\n showVideo: !1\n };\n },\n computed: {\n styleObject() {\n return this.objectFit ? {\n objectFit: this.objectFit\n } : {};\n }\n },\n watch: {\n src() {\n this.load();\n }\n },\n methods: {\n pause() {\n this.$refs.video && this.$refs.video.pause();\n },\n load() {\n this.hide(), setTimeout(() => {\n this.$refs.video.load(), this.$emit(\"loading\");\n }, 1e3);\n },\n play() {\n this.setPlaybackRate(), this.$refs.video.play(), this.show(), this.$emit(\"playing\");\n },\n show() {\n this.showVideo = !0;\n },\n hide() {\n this.showVideo = !1;\n },\n getMediaType(e) {\n return `video/${e.split(\".\").pop().split(/[?#]/)[0]}`;\n },\n videoCanPlay() {\n return !!this.$refs.video.canPlayType;\n },\n videoReady() {\n this.pause(), this.$emit(\"ready\");\n },\n videoError() {\n this.$emit(\"error\");\n },\n videoEnded() {\n this.$emit(\"ended\");\n },\n setPlaybackRate() {\n this.$refs.video.playbackRate = this.playbackRate, this.$refs.video.defaultPlaybackRate = this.playbackRate;\n }\n },\n mounted() {\n this.videoCanPlay() && (this.$refs.video[`on${this.playsWhen}`] = this.videoReady, this.$refs.video.onerror = this.videoError, this.$refs.video.onended = this.videoEnded);\n }\n}, C = { class: \"video-wrapper\" }, F = [\"muted\", \"loop\", \"preload\"], I = [\"src\", \"type\"];\nfunction M(e, t, o, r, i, n) {\n return s(), p(w, { name: e.transition }, {\n default: k(() => [\n V(d(\"div\", C, [\n d(\"video\", {\n ref: \"video\",\n autoplay: \"\",\n playsinline: \"\",\n muted: e.muted,\n loop: e.loop,\n preload: e.preload,\n style: c(n.styleObject)\n }, [\n d(\"source\", {\n src: e.src,\n type: n.getMediaType(e.src)\n }, null, 8, I)\n ], 12, F)\n ], 512), [\n [E, i.showVideo]\n ])\n ]),\n _: 1\n }, 8, [\"name\"]);\n}\nconst z = /* @__PURE__ */ a(T, [[\"render\", M], [\"__scopeId\", \"data-v-f8afdaf5\"]]);\nconst L = {\n props: {\n poster: {\n type: String,\n required: !0\n }\n },\n computed: {\n image() {\n return {\n backgroundImage: `url(${this.poster})`\n };\n }\n }\n};\nfunction q(e, t, o, r, i, n) {\n return s(), y(\"div\", {\n class: \"video-buffering\",\n style: c(n.image)\n }, null, 4);\n}\nconst A = /* @__PURE__ */ a(L, [[\"render\", q], [\"__scopeId\", \"data-v-21ec9d8c\"]]);\nconst H = {\n props: {\n overlay: {\n type: String,\n required: !0\n }\n }\n};\nfunction N(e, t, o, r, i, n) {\n return s(), y(\"div\", {\n class: \"video-overlay\",\n style: c({ background: o.overlay })\n }, null, 4);\n}\nconst D = /* @__PURE__ */ a(H, [[\"render\", N], [\"__scopeId\", \"data-v-95abe06c\"]]), v = (e, t) => {\n let o = \"null\";\n return (...r) => {\n o === \"null\" && (o = setTimeout(() => {\n e(...r), o = \"null\";\n }, t));\n };\n}, G = {\n data() {\n return {\n width: 0\n };\n },\n computed: {\n current() {\n if (this.sources.length === 0)\n return this.default;\n const e = this.sources.sort((t, o) => t.res - o.res).filter((t) => t.res >= this.width);\n return e.length === 0 ? this.default : e[0];\n },\n default() {\n return {\n src: this.src,\n poster: this.poster,\n autoplay: this.autoplay\n };\n }\n },\n methods: {\n $_change_video_resolution() {\n this.width = this.$_innerWidth();\n },\n $_innerWidth() {\n return window.innerWidth && document.documentElement.clientWidth ? Math.min(window.innerWidth, document.documentElement.clientWidth) : window.innerWidth || document.documentElement.clientWidth || document.getElementsByTagName(\"body\")[0].clientWidth;\n }\n },\n beforeMount() {\n this.$_change_video_resolution();\n },\n mounted() {\n window.addEventListener(\"resize\", v(this.$_change_video_resolution, 250));\n },\n beforeUnmount() {\n window.removeEventListener(\"resize\", v(this.$_change_video_resolution, 250));\n }\n};\nconst U = {\n props: B,\n mixins: [G],\n emits: [\"playing\", \"error\", \"loading\", \"ended\", \"ready\"],\n components: {\n VideoPlayer: z,\n VideoPoster: A,\n VideoOverlay: D\n },\n computed: {\n player() {\n return this.$refs.player;\n }\n },\n methods: {\n playVideo() {\n this.$emit(\"ready\"), this.current.autoplay && this.player.play();\n }\n }\n}, J = {\n class: \"vue-responsive-videobg\",\n ref: \"vidbg\"\n}, K = { class: \"videobg-content\" };\nfunction Q(e, t, o, r, i, n) {\n const $ = u(\"video-poster\"), g = u(\"video-player\"), b = u(\"video-overlay\");\n return s(), y(\"section\", J, [\n e.current.poster || e.poster ? (s(), p($, {\n key: 0,\n poster: e.current.poster || e.poster\n }, null, 8, [\"poster\"])) : h(\"\", !0),\n P(g, {\n ref: \"player\",\n src: e.current.src,\n muted: e.muted,\n loop: e.loop,\n preload: e.preload,\n \"plays-when\": e.playsWhen,\n \"playback-rate\": e.playbackRate,\n transition: e.transition,\n \"object-fit\": e.objectFit,\n onReady: n.playVideo,\n onPlaying: t[0] || (t[0] = (l) => e.$emit(\"playing\")),\n onError: t[1] || (t[1] = (l) => e.$emit(\"error\")),\n onLoading: t[2] || (t[2] = (l) => e.$emit(\"loading\")),\n onEnded: t[3] || (t[3] = (l) => e.$emit(\"ended\"))\n }, null, 8, [\"src\", \"muted\", \"loop\", \"preload\", \"plays-when\", \"playback-rate\", \"transition\", \"object-fit\", \"onReady\"]),\n e.overlay ? (s(), p(b, {\n key: 1,\n overlay: e.overlay\n }, null, 8, [\"overlay\"])) : h(\"\", !0),\n d(\"div\", K, [\n j(e.$slots, \"default\", {}, void 0, !0)\n ])\n ], 512);\n}\nconst X = /* @__PURE__ */ a(U, [[\"render\", Q], [\"__scopeId\", \"data-v-7649c24c\"]]), Z = {\n install(e) {\n e.component(\"VideoBackground\", X);\n }\n};\nexport {\n Z as Plugin,\n X as default\n};\n"],"names":["activeEffectScope","activeEffect","EffectScope","constructor","detached","this","_active","effects","cleanups","parent","index","scopes","push","active","run","fn","currentEffectScope","on","off","stop","fromParent","i","l","length","last","pop","recordEffectScope","effect","scope","getCurrentScope","ReactiveEffect","trigger","scheduler","deps","_dirtyLevel","_trackId","_runnings","_shouldSchedule","_depsLength","dirty","pauseTracking","dep","computed","triggerComputed","resetTracking","v","lastShouldTrack","shouldTrack","lastEffect","preCleanupEffect","postCleanupEffect","onStop","value","effect2","cleanupDepEffect","trackId","get","delete","size","cleanup","pauseScheduleStack","trackStack","pauseScheduling","resetScheduling","queueEffectSchedulers","shift","trackEffect","debuggerEventExtraInfo","set","oldDep","triggerEffects","dirtyLevel","keys","tracking","allowRecurse","createDep","Map","targetMap","WeakMap","ITERATE_KEY","Symbol","MAP_KEY_ITERATE_KEY","track","target","type","key","depsMap","newValue","oldValue","oldTarget","values","isArray","newLength","Number","forEach","key2","isSymbol","isIntegerKey","isMap","isNonTrackableKeys","makeMap","builtInSymbols","Set","Object","getOwnPropertyNames","filter","map","arrayInstrumentations","createArrayInstrumentations","instrumentations","args","arr","toRaw","res","apply","hasOwnProperty","String","obj","BaseReactiveHandler","_isReadonly","_isShallow","receiver","isReadonly2","isShallow2","shallowReadonlyMap","readonlyMap","shallowReactiveMap","reactiveMap","getPrototypeOf","targetIsArray","hasOwn","Reflect","has","isRef","isObject","readonly","reactive","MutableReactiveHandler","super","isOldValueReadonly","isReadonly","isShallow","hadKey","result","hasChanged","deleteProperty","ownKeys","ReadonlyReactiveHandler","mutableHandlers","readonlyHandlers","shallowReactiveHandlers","toShallow","getProto","rawTarget","rawKey","has2","wrap","toReadonly","toReactive","call","add","proto","get2","deleteEntry","clear","hadItems","createForEach","callback","thisArg","observed","createIterableMethod","method","targetIsMap","isPair","iterator","isKeyOnly","innerIterator","next","done","createReadonlyMethod","createInstrumentations","mutableInstrumentations2","shallowInstrumentations2","readonlyInstrumentations2","shallowReadonlyInstrumentations2","iteratorMethods","mutableInstrumentations","readonlyInstrumentations","shallowInstrumentations","shallowReadonlyInstrumentations","createInstrumentationGetter","shallow","mutableCollectionHandlers","shallowCollectionHandlers","readonlyCollectionHandlers","targetTypeMap","rawType","getTargetType","isExtensible","toRawType","createReactiveObject","shallowReactive","baseHandlers","collectionHandlers","proxyMap","existingProxy","targetType","proxy","Proxy","isReactive","isProxy","raw","markRaw","def","ComputedRefImpl","getter","_setter","isSSR","__v_isRef","_value","triggerRefValue","_cacheable","self","trackRefValue","_dirty","getterOrOptions","debugOptions","setter","onlyGetter","isFunction","NOOP","cRef","ref2","_a","newVal","oldVal","r","ref","createRef","rawValue","RefImpl","__v_isShallow","_rawValue","useDirectValue","unref","shallowUnwrapHandlers","proxyRefs","objectWithRefs","callWithErrorHandling","instance","err","handleError","callWithAsyncErrorHandling","isPromise","catch","throwInDev","contextVNode","vnode","cur","exposedInstance","errorInfo","errorCapturedHooks","ec","appErrorHandler","appContext","config","errorHandler","logError","console","error","isFlushing","isFlushPending","queue","flushIndex","pendingPostFlushCbs","activePostFlushCbs","postFlushIndex","resolvedPromise","Promise","resolve","currentFlushPromise","nextTick","p","then","bind","findInsertionIndex","id","start","end","middle","middleJob","middleJobId","getId","pre","queueJob","job","includes","splice","queueFlush","flushJobs","invalidateJob","indexOf","queuePostFlushCb","cb","flushPreFlushCbs","seen","uid","flushPostFlushCbs","deduped","sort","a","b","Infinity","comparator","diff","emit","event","rawArgs","isUnmounted","props","EMPTY_OBJ","isModelListener","startsWith","modelArg","slice","modifiersKey","number","trim","isString","looseToNumber","handlerName","handler","toHandlerKey","camelize","hyphenate","onceHandler","emitted","normalizeEmitsOptions","comp","asMixin","cache","emitsCache","cached","emits","normalized","hasExtends","extendEmits","raw2","normalizedFromExtend","extend","mixins","extends","isEmitListener","options","isOn","replace","toLowerCase","currentRenderingInstance","currentScopeId","setCurrentRenderingInstance","prev","__scopeId","withCtx","ctx","isNonScopedSlot","_n","renderFnWithContext","_d","setBlockTracking","prevInstance","_c","renderComponentRoot","Component","withProxy","propsOptions","slots","attrs","render","renderCache","data","setupState","inheritAttrs","fallthroughAttrs","shapeFlag","proxyToUse","thisProxy","normalizeVNode","render2","getFunctionalFallthrough","blockStack","createVNode","Comment","root","some","filterModelListeners","cloneVNode","dirs","concat","transition","shouldUpdateComponent","prevVNode","nextVNode","optimized","prevProps","children","prevChildren","component","nextProps","nextChildren","patchFlag","emitsOptions","$stable","hasPropsChanged","dynamicProps","nextKeys","updateHOCHostEl","el","subTree","suspense","activeBranch","COMPONENTS","resolveComponent","name","maybeSelfReference","resolveAsset","NULL_DYNAMIC_COMPONENT","for","warnMissing","currentInstance","selfName","getComponentName","capitalize","registry","isSuspense","__isSuspense","queueEffectWithSuspense","pendingBranch","injectHook","hook","prepend","hooks","wrappedHook","__weh","reset","setCurrentInstance","unshift","createHook","lifecycle","isInSSRComponentSetup","onBeforeMount","onMounted","onBeforeUpdate","onUpdated","onBeforeUnmount","onUnmounted","onServerPrefetch","onRenderTriggered","onRenderTracked","onErrorCaptured","withDirectives","directives","getComponentPublicInstance","bindings","dir","arg","modifiers","mounted","updated","deep","traverse","invokeDirectiveHook","oldBindings","binding","renderList","source","renderItem","ret","Array","from","item","isAsyncWrapper","__asyncLoader","renderSlot","fallback","noSlotted","isCE","slot","openBlock","validSlotContent","ensureValidVNode","rendered","createBlock","Fragment","_","scopeId","slotScopeIds","vnodes","child","isVNode","getPublicInstance","isStatefulComponent","publicPropertiesMap","create","$","$el","$data","$props","$attrs","$slots","$refs","refs","$parent","$root","$emit","$options","resolveMergedOptions","$forceUpdate","f","update","$nextTick","n","$watch","instanceWatch","hasSetupBinding","state","__isScriptSetup","PublicInstanceProxyHandlers","accessCache","normalizedProps","shouldCacheAccess","publicGetter","cssModule","globalProperties","__cssModules","defineProperty","descriptor","normalizePropsOrEmits","reduce","applyOptions","publicThis","beforeCreate","callHook","dataOptions","computedOptions","methods","watch","watchOptions","provide","provideOptions","inject","injectOptions","created","beforeMount","beforeUpdate","activated","deactivated","beforeDestroy","beforeUnmount","destroyed","unmounted","renderTracked","renderTriggered","errorCaptured","serverPrefetch","expose","components","filters","checkDuplicateProperties","resolveInjections","methodHandler","opt","c","enumerable","configurable","createWatcher","provides","registerLifecycleHook","register","_hook","onActivated","onDeactivated","exposed","val","normalizeInject","injected","default","h","createPathGetter","base","extendsOptions","globalMixins","optionsCache","optionMergeStrategies","resolved","m","mergeOptions","to","strats","strat","internalOptionMergeStrats","mergeDataFn","mergeEmitsOrPropsOptions","mergeObjectOptions","mergeAsArray","mergeWatchOptions","mergeInject","merged","createAppContext","app","isNativeTag","NO","performance","warnHandler","compilerOptions","propsCache","uid$1","createAppAPI","hydrate","rootComponent","rootProps","context","installedPlugins","WeakSet","isMounted","_uid","_component","_props","_container","_context","_instance","version","use","plugin","install","mixin","directive","mount","rootContainer","isHydrate","namespace","__vue_app__","unmount","runWithContext","lastApp","currentApp","parentProvides","defaultValue","treatDefaultAsFactory","arguments","internalObjectProto","createInternalObject","isInternalObject","initProps","rawProps","isStateful","propsDefaults","setFullProps","updateProps","rawPrevProps","rawCurrentProps","hasAttrsChanged","kebabKey","resolvePropValue","propsToUpdate","camelizedKey","needCastKeys","rawCastValues","isReservedProp","camelKey","castValues","isAbsent","hasDefault","Function","skipFactory","normalizePropsOptions","extendProps","EMPTY_ARR","normalizedKey","validatePropName","prop","booleanIndex","getTypeIndex","Boolean","stringIndex","getType","ctor","isSameType","expectedTypes","findIndex","t","isInternalKey","normalizeSlotValue","normalizeSlot","rawSlot","normalizeObjectSlots","rawSlots","_ctx","normalizeVNodeSlots","initSlots","updateSlots","needDeletionCheck","deletionComparisonTarget","setRef","rawRef","oldRawRef","parentSuspense","isUnmount","refValue","owner","oldRef","_isString","_isRef","doSet","existing","remove","k","queuePostRenderEffect","initFeatureFlags","__VUE_PROD_HYDRATION_MISMATCH_DETAILS__","getGlobalThis","createRenderer","baseCreateRenderer","createHydrationFns","__VUE__","insert","hostInsert","hostRemove","patchProp","hostPatchProp","createElement","hostCreateElement","createText","hostCreateText","createComment","hostCreateComment","setText","hostSetText","setElementText","hostSetElementText","parentNode","hostParentNode","nextSibling","hostNextSibling","setScopeId","hostSetScopeId","insertStaticContent","hostInsertStaticContent","patch","n1","n2","container","anchor","parentComponent","dynamicChildren","isSameVNodeType","getNextHostNode","Text","processText","processCommentNode","Static","mountStaticNode","processFragment","processElement","processComponent","process","internals","moveStaticNode","removeStaticNode","mountElement","patchElement","vnodeHook","is","mountChildren","resolveChildrenNamespace","unmountChildren","onVnodeBeforeMount","invokeVNodeHook","needCallTransitionHooks","needTransition","beforeEnter","onVnodeMounted","enter","parentVNode","cloneIfMounted","oldProps","newProps","toggleRecurse","onVnodeBeforeUpdate","patchBlockChildren","patchChildren","patchProps","class","style","onVnodeUpdated","oldChildren","newChildren","fallbackContainer","oldVNode","newVNode","fragmentStartAnchor","fragmentEndAnchor","fragmentSlotScopeIds","traverseStaticChildren","activate","mountComponent","updateComponent","initialVNode","createComponentInstance","isKeepAlive","renderer","setupComponent","asyncDep","registerDep","setupRenderEffect","placeholder","asyncResolved","updateComponentPreRender","componentUpdateFn","bu","u","nonHydratedAsyncRoot","locateNonHydratedAsyncRoot","originNext","invokeArrayFns","nextTree","prevTree","bm","isAsyncWrapperVNode","hydrateNode","hydrateSubTree","scopedInitialVNode","c1","prevShapeFlag","c2","patchKeyedChildren","patchUnkeyedChildren","oldLength","commonLength","Math","min","nextChild","parentAnchor","l2","e1","e2","nextPos","s1","s2","keyToNewIndexMap","j","patched","toBePatched","moved","maxNewIndexSoFar","newIndexToOldIndexMap","prevChild","newIndex","increasingNewIndexSequence","getSequence","nextIndex","move","moveType","needTransition2","leave","delayLeave","afterLeave","remove2","performLeave","doRemove","memoIndex","deactivate","shouldInvokeDirs","shouldInvokeVnodeHook","onVnodeBeforeUnmount","unmountComponent","onVnodeUnmounted","removeFragment","performRemove","persisted","bum","um","invalidateMount","suspenseId","pendingId","_vnode","mt","mc","pc","pbc","o","createApp","currentNamespace","encoding","allowed","ch1","ch2","len","arrI","subComponent","ssrContextKey","useSSRContext","INITIAL_WATCHER_VALUE","doWatch","immediate","flush","once","onTrack","onTrigger","_cb","unwatch","reactiveGetter","source2","forceTrigger","isMultiSource","s","onCleanup","baseGetter","ssrCleanup","__watcherHandles","fill","path","segments","split","depth","isSet","isPlainObject","getOwnPropertySymbols","prototype","propertyIsEnumerable","__isKeepAlive","RegExp","matches","pattern","isRegExp","test","registerKeepAliveHook","__wdc","current","isDeactivated","injectToKeepAliveRoot","keepAliveRoot","resetShapeFlag","getInnerChild","ssContent","leaveCbKey","enterCbKey","useTransitionState","isLeaving","isUnmounting","leavingVNodes","TransitionHookValidator","BaseTransitionPropsValidators","mode","appear","onBeforeEnter","onEnter","onAfterEnter","onEnterCancelled","onBeforeLeave","onLeave","onAfterLeave","onLeaveCancelled","onBeforeAppear","onAppear","onAfterAppear","onAppearCancelled","recursiveGetSubtree","BaseTransitionImpl","setup","getCurrentInstance","getTransitionRawChildren","hasFound","emptyPlaceholder","innerChild","getKeepAliveChild","enterHooks","resolveTransitionHooks","setTransitionHooks","oldChild","oldInnerChild","leavingHooks","earlyRemove","delayedLeave","leavingVNodesCache","getLeavingNodesForType","BaseTransition","postClone","callAsyncHook","every","hook2","leavingVNode","afterHook","cancelHook","called","cancelled","clone","vnode2","hooks2","ssFallback","keepComment","parentKey","keyedFragmentCount","isTeleport","__isTeleport","currentBlock","disableTracking","closeBlock","isBlockTreeEnabled","setupBlock","createElementBlock","createBaseVNode","__v_isVNode","normalizeKey","normalizeRef","ref_key","ref_for","isBlockNode","needFullChildrenNormalization","__v_skip","targetAnchor","staticCount","normalizeChildren","normalize","_createVNode","cloned","isClassComponent","__vccOpts","guardReactiveProps","klass","normalizeClass","normalizeStyle","extraProps","mergeRef","cloneTransition","mergedProps","mergeProps","ce","createTextVNode","text","flag","createCommentVNode","asBlock","memo","slotFlag","toMerge","incoming","emptyAppContext","exposeProxy","setupContext","attrsProxy","slotsProxy","bc","da","rtg","rtc","sp","internalSetCurrentInstance","setInSSRSetupState","g","registerGlobalSetter","setters","unsetCurrentInstance","compile","installWithProxy","setupResult","setupStatefulComponent","createSetupContext","resolvedResult","handleSetupResult","e","finishComponentSetup","__ssrInlineRender","ssrRender","skipOptions","template","isCustomElement","delimiters","componentCompilerOptions","finalCompilerOptions","attrsProxyHandlers","includeInferred","displayName","__name","computed$1","propsOrChildren","svgNS","mathmlNS","doc","document","templateContainer","nodeOps","insertBefore","removeChild","tag","createElementNS","multiple","setAttribute","createTextNode","node","nodeValue","textContent","querySelector","selector","content","before","previousSibling","lastChild","cloneNode","innerHTML","wrapper","firstChild","appendChild","TRANSITION","ANIMATION","vtcKey","Transition","resolveTransitionProps","DOMTransitionPropsValidators","css","duration","enterFromClass","enterActiveClass","enterToClass","appearFromClass","appearActiveClass","appearToClass","leaveFromClass","leaveActiveClass","leaveToClass","TransitionPropsValidators","h2","hasExplicitCallback","baseProps","durations","normalizeDuration","enterDuration","leaveDuration","finishEnter","isAppear","removeTransitionClass","finishLeave","_isLeaving","makeEnterHook","nextFrame","addTransitionClass","whenTransitionEnds","forceReflow","NumberOf","toNumber","cls","classList","_vtc","requestAnimationFrame","endId","expectedType","explicitTimeout","_endId","resolveIfNotStale","setTimeout","timeout","propCount","getTransitionInfo","endEvent","ended","removeEventListener","onEnd","addEventListener","styles","window","getComputedStyle","getStyleProperties","transitionDelays","transitionDurations","transitionTimeout","getTimeout","animationDelays","animationDurations","animationTimeout","max","hasTransform","toString","delays","d","toMs","body","offsetHeight","patchClass","isSVG","transitionClasses","join","removeAttribute","className","vShowOriginalDisplay","vShowHidden","vShow","display","setDisplay","CSS_VAR_TEXT","displayRE","patchStyle","isCssString","hasControlledDisplay","prevStyle","setStyle","cssVarText","cssText","importantRE","setProperty","prefixed","autoPrefix","prefixes","prefixCache","rawName","xlinkNS","patchAttr","isBoolean","isSpecialBooleanAttr","removeAttributeNS","setAttributeNS","includeBooleanAttr","patchDOMProp","tagName","getAttribute","needRemove","veiKey","patchEvent","prevValue","nextValue","invokers","existingInvoker","parseName","invoker","createInvoker","optionsModifierRE","match","cachedNow","getNow","Date","now","initialValue","_vts","attached","patchStopImmediatePropagation","originalStop","stopImmediatePropagation","_stopped","isNativeOn","charCodeAt","shouldSetAsProp","_trueValue","_falseValue","HTMLElement","positionMap","newPositionMap","moveCbKey","TransitionGroupImpl","moveClass","hasCSSTransform","callPendingCbs","recordPosition","movedChildren","applyTranslation","transform","webkitTransform","transitionDuration","propertyName","cssTransitionProps","Element","getBoundingClientRect","oldPos","newPos","dx","left","dy","top","nodeType","rendererOptions","ensureRenderer","containerOrSelector","normalizeContainer","resolveRootNamespace","SVGElement","MathMLElement","str","expectsLowerCase","assign","toTypeString","isDate","objectToString","parseInt","cacheStringFunction","hit","camelizeRE","toUpperCase","hyphenateRE","charAt","fns","writable","parseFloat","isNaN","NaN","_globalThis","globalThis","global","GLOBALS_ALLOWED","isGloballyAllowed","parseStringStyle","listDelimiterRE","propertyDelimiterRE","styleCommentRE","tmp","specialBooleanAttrs","looseCompareArrays","equal","looseEqual","aValidType","bValidType","getTime","aKeysCount","bKeysCount","aHasKey","bHasKey","looseIndexOf","toDisplayString","JSON","stringify","replacer","_key","entries","val2","stringifySymbol","description","CSS","escape","dispatchEvent","Event","jquery","getClientRects","getPropertyValue","closest","Node","ELEMENT_NODE","contains","disabled","hasAttribute","documentElement","attachShadow","getRootNode","ShadowRoot","jQuery","NAME","jQueryInterface","Constructor","noConflict","readyState","transitionDelay","y","w","A","E","T","mouseenter","mouseleave","C","O","uidEvent","x","find","callable","delegationSelector","L","I","S","relatedTarget","delegateTarget","oneOff","querySelectorAll","P","N","D","one","isPropagationStopped","isImmediatePropagationStopped","isDefaultPrevented","bubbles","cancelable","preventDefault","defaultPrevented","parse","decodeURIComponent","M","F","setDataAttribute","removeDataAttribute","getDataAttributes","dataset","getDataAttribute","H","Default","DefaultType","Error","_getConfig","_mergeConfigObj","_configAfterMerge","_typeCheckConfig","TypeError","W","_element","_config","DATA_KEY","dispose","EVENT_KEY","_queueCallback","getInstance","getOrCreateInstance","VERSION","eventName","B","z","findOne","parents","previousElementSibling","nextElementSibling","focusableChildren","getSelectorFromElement","getElementFromSelector","getMultipleElementsFromSelector","R","q","V","K","Q","close","_destroyElement","each","X","Y","toggle","U","G","J","Z","tt","et","it","endCallback","leftCallback","rightCallback","nt","st","isSupported","_deltaX","_supportPointerEvents","PointerEvent","_initEvents","_start","_eventIsPointerPenTouch","clientX","touches","_end","_handleSwipe","_move","abs","pointerType","navigator","maxTouchPoints","ot","rt","at","lt","ct","ht","dt","ut","ft","pt","gt","_t","bt","vt","yt","wt","At","Et","Tt","ArrowLeft","ArrowRight","Ct","interval","keyboard","pause","ride","touch","Ot","xt","_interval","_activeElement","_isSliding","touchTimeout","_swipeHelper","_indicatorsElement","_addEventListeners","cycle","_slide","nextWhenVisible","hidden","_clearInterval","_updateInterval","setInterval","_maybeEnableCycle","_getItems","_getItemIndex","_getActive","defaultInterval","_keydown","_addTouchEventListeners","_directionToOrder","clearTimeout","_setActiveIndicatorElement","direction","_orderToDirection","_isAnimated","clearInterval","kt","Lt","St","Dt","$t","It","Nt","Pt","jt","Mt","Ft","Ht","Wt","Bt","_isTransitioning","_triggerArray","_initializeChildren","_addAriaAndCollapsedClass","_isShown","hide","show","_getFirstLevelChildren","_getDimension","zt","Rt","qt","Vt","Kt","Qt","Xt","Yt","Ut","Gt","Jt","Zt","te","ee","ie","ne","se","oe","re","ae","le","he","de","ue","nodeName","fe","ownerDocument","defaultView","pe","me","ge","_e","enabled","phase","elements","attributes","popper","position","strategy","margin","arrow","reference","requires","be","ve","ye","we","round","Ae","userAgentData","brands","brand","userAgent","Ee","Te","offsetWidth","width","height","visualViewport","offsetLeft","offsetTop","right","bottom","Ce","Oe","isSameNode","host","xe","ke","Le","Se","assignedSlot","De","offsetParent","$e","perspective","contain","willChange","Ie","Ne","Pe","je","Me","modifiersData","popperOffsets","placement","rects","padding","clientHeight","clientWidth","centerOffset","element","requiresIfExists","Fe","He","We","popperRect","variation","offsets","gpuAcceleration","adaptive","roundOffsets","isFixed","devicePixelRatio","Be","ze","passive","Re","scroll","resize","scrollParents","qe","Ve","Ke","Qe","Xe","scrollLeft","pageXOffset","scrollTop","pageYOffset","Ye","Ue","overflow","overflowX","overflowY","Ge","Je","Ze","ti","clientTop","clientLeft","scrollWidth","scrollHeight","ei","ii","boundary","rootBoundary","elementContext","altBoundary","contextElement","offset","ni","flipVariations","allowedAutoPlacements","si","_skip","mainAxis","altAxis","fallbackPlacements","oi","ri","ai","preventOverflow","referenceClippingOffsets","popperEscapeOffsets","isReferenceHidden","hasPopperEscaped","li","ci","hi","tether","tetherOffset","di","ui","fi","pi","mi","defaultModifiers","defaultOptions","orderedModifiers","setOptions","forceUpdate","destroy","onFirstUpdate","gi","_i","bi","yi","wi","Ai","Ei","Ti","Ci","Oi","xi","ki","Li","Si","Di","$i","Ii","Ni","Pi","ji","Mi","Fi","Hi","Wi","Bi","zi","autoClose","popperConfig","Ri","qi","_popper","_parent","_menu","_inNavbar","_detectNavbar","_createPopper","focus","_completeHide","vi","_getPopperConfig","_getPlacement","_getOffset","_selectMenuItem","clearMenus","button","composedPath","clickEvent","dataApiKeydownHandler","stopPropagation","Vi","Ki","Qi","Xi","clickCallback","isAnimated","isVisible","rootElement","Yi","Ui","_isAppended","_append","_getElement","_emulateAnimation","append","Gi","Ji","Zi","tn","en","autofocus","trapElement","nn","sn","_isActive","_lastTabNavDirection","_handleFocusin","_handleKeydown","shiftKey","rn","an","ln","cn","getWidth","innerWidth","_disableOverFlow","_setElementAttributes","_resetElementAttributes","isOverflowing","_saveInitialAttribute","_applyManipulationCallback","removeProperty","hn","dn","un","pn","mn","gn","bn","vn","yn","wn","An","En","Tn","backdrop","Cn","On","_dialog","_backdrop","_initializeBackDrop","_focustrap","_initializeFocusTrap","_scrollBar","_adjustDialog","_showElement","_hideModal","handleUpdate","_triggerBackdropTransition","_resetAdjustments","paddingLeft","paddingRight","xn","kn","Ln","Sn","Dn","$n","In","Nn","Pn","jn","Mn","Fn","Hn","Wn","Bn","zn","Rn","qn","blur","Vn","area","br","col","code","dd","div","dl","em","hr","h1","h3","h4","h5","h6","img","ol","small","span","sub","sup","strong","ul","Kn","Qn","Xn","Yn","allowList","extraClass","html","sanitize","sanitizeFn","Un","Gn","entry","Jn","getContent","_resolvePossibleFunction","hasContent","changeContent","_checkContent","toHtml","_maybeSanitize","_setContent","_putElementInTemplate","DOMParser","parseFromString","Zn","ts","es","ns","ss","os","rs","AUTO","TOP","RIGHT","BOTTOM","LEFT","as","animation","customClass","delay","title","ls","cs","_isEnabled","_timeout","_isHovered","_activeTrigger","_templateFactory","_newContent","tip","_setListeners","_fixTitle","enable","disable","toggleEnabled","click","_leave","_enter","_hideModalHandler","_disposePopper","_isWithContent","_getTipElement","_isWithActiveTrigger","_getTitle","_createTipElement","_getContentForTemplate","_getTemplateFactory","floor","random","getElementById","setContent","_initializeOnDelegatedTarget","_getDelegateConfig","_setTimeout","hs","ds","us","_getContent","fs","ps","ms","gs","_s","bs","vs","ys","ws","rootMargin","smoothScroll","threshold","As","Es","_targetLinks","_observableSections","_rootElement","_activeTarget","_observer","_previousScrollData","visibleEntryTop","parentScrollTop","refresh","_initializeTargetsAndObservables","_maybeEnableSmoothScroll","disconnect","_getNewObserver","observe","hash","scrollTo","behavior","IntersectionObserver","_observerCallback","_process","isIntersecting","_clearActiveClass","decodeURI","_activateParents","Ts","Cs","Os","xs","ks","Ls","Ss","Ds","$s","Is","Ns","Ps","js","Ms","Fs","Hs","Ws","Bs","zs","Rs","qs","Vs","Ks","_setInitialAttributes","_getChildren","_elemIsActive","_getActiveElem","_deactivate","_activate","_toggleDropDown","preventScroll","_setAttributeIfNotExists","_setInitialAttributesOnChild","_getInnerElement","_getOuterElement","_setInitialAttributesOnTargetPanel","Qs","Xs","Ys","Us","Gs","Js","Zs","eo","io","no","so","oo","autohide","ro","ao","_hasMouseInteraction","_hasKeyboardInteraction","_clearTimeout","_maybeScheduleHide","isShown","_onInteraction","Alert","Button","Carousel","Collapse","Dropdown","Modal","Offcanvas","Popover","ScrollSpy","Tab","Toast","Tooltip","extendStatics","setPrototypeOf","__proto__","__extends","__","__assign","__awaiter","_arguments","generator","adopt","reject","fulfilled","step","rejected","__generator","label","sent","trys","ops","verb","op","__spreadArray","pack","ar","Bounds","fromClientRect","clientRect","windowBounds","fromDOMRectList","domRectList","domRect","rect","EMPTY","parseBounds","parseDocumentSize","toCodePoints$1","codePoints","extra","fromCodePoint$1","fromCodePoint","codeUnits","codePoint","fromCharCode","chars$2","lookup$2","Uint8Array","i$2","chars$1$1","lookup$1$1","i$1$1","decode$1","base64","encoded1","encoded2","encoded3","encoded4","bufferLength","buffer","ArrayBuffer","bytes","polyUint16Array$1","polyUint32Array$1","UTRIE2_SHIFT_2$1","UTRIE2_SHIFT_1$1","UTRIE2_INDEX_SHIFT$1","UTRIE2_SHIFT_1_2$1","UTRIE2_LSCP_INDEX_2_OFFSET$1","UTRIE2_DATA_BLOCK_LENGTH$1","UTRIE2_DATA_MASK$1","UTRIE2_LSCP_INDEX_2_LENGTH$1","UTRIE2_INDEX_2_BMP_LENGTH$1","UTRIE2_UTF8_2B_INDEX_2_OFFSET$1","UTRIE2_UTF8_2B_INDEX_2_LENGTH$1","UTRIE2_INDEX_1_OFFSET$1","UTRIE2_OMITTED_BMP_INDEX_1_LENGTH$1","UTRIE2_INDEX_2_BLOCK_LENGTH$1","UTRIE2_INDEX_2_MASK$1","slice16$1","view","Uint16Array","slice32$1","Uint32Array","createTrieFromBase64$1","_byteLength","view32","view16","headerLength","ceil","Trie$1","Trie","errorValue","highStart","highValueIndex","ix","chars$3","lookup$3","i$3","base64$1","LETTER_NUMBER_MODIFIER","BK","CR$1","LF$1","CM","NL","WJ","ZW","GL","SP","ZWJ$1","B2","BA","BB","HY","CB","CL","CP","EX","IN","NS","OP","QU","IS","NU","PO","PR","SY","AI","AL","CJ","EB","EM","H2","H3","HL","ID","JL","JV","JT","RI$1","SA","XX","ea_OP","BREAK_MANDATORY","BREAK_NOT_ALLOWED$1","BREAK_ALLOWED$1","UnicodeTrie$1","ALPHABETICS","HARD_LINE_BREAKS","SPACE$1","PREFIX_POSTFIX","LINE_BREAKS","KOREAN_SYLLABLE_BLOCK","HYPHEN","codePointsToCharacterClasses","lineBreak","types","indices","categories","classType","isAdjacentWithSpaceIgnored","currentIndex","classTypes","previousNonSpaceClassType","_lineBreakAtIndex","indicies","forbiddenBreaks","beforeIndex","afterIndex","prevIndex","count","cssFormattedClasses","wordBreak","isLetterNumber","forbiddenBreakpoints","letterNumber","undefined","Break","required","LineBreaker","lastEnd","FLAG_UNRESTRICTED","FLAG_ID","FLAG_INTEGER","FLAG_NUMBER","LINE_FEED","SOLIDUS","REVERSE_SOLIDUS","CHARACTER_TABULATION","SPACE","QUOTATION_MARK","EQUALS_SIGN","NUMBER_SIGN","DOLLAR_SIGN","PERCENTAGE_SIGN","APOSTROPHE","LEFT_PARENTHESIS","RIGHT_PARENTHESIS","LOW_LINE","HYPHEN_MINUS","EXCLAMATION_MARK","LESS_THAN_SIGN","GREATER_THAN_SIGN","COMMERCIAL_AT","LEFT_SQUARE_BRACKET","RIGHT_SQUARE_BRACKET","CIRCUMFLEX_ACCENT","LEFT_CURLY_BRACKET","QUESTION_MARK","RIGHT_CURLY_BRACKET","VERTICAL_LINE","TILDE","CONTROL","REPLACEMENT_CHARACTER","ASTERISK","PLUS_SIGN","COMMA","COLON","SEMICOLON","FULL_STOP","NULL","BACKSPACE","LINE_TABULATION","SHIFT_OUT","INFORMATION_SEPARATOR_ONE","DELETE","EOF","ZERO","isDigit","isSurrogateCodePoint","isHex","isLowerCaseLetter","isUpperCaseLetter","isLetter","isNonASCIICodePoint","isWhiteSpace","isNameStartCodePoint","isNameCodePoint","isNonPrintableCodePoint","isValidEscape","isIdentifierStart","c3","isNumberStart","stringToNumber","sign","integers","int","fraction","fracd","frac","expsign","exponent","exp","pow","LEFT_PARENTHESIS_TOKEN","RIGHT_PARENTHESIS_TOKEN","COMMA_TOKEN","SUFFIX_MATCH_TOKEN","PREFIX_MATCH_TOKEN","COLUMN_TOKEN","DASH_MATCH_TOKEN","INCLUDE_MATCH_TOKEN","LEFT_CURLY_BRACKET_TOKEN","RIGHT_CURLY_BRACKET_TOKEN","SUBSTRING_MATCH_TOKEN","BAD_URL_TOKEN","BAD_STRING_TOKEN","CDO_TOKEN","CDC_TOKEN","COLON_TOKEN","SEMICOLON_TOKEN","LEFT_SQUARE_BRACKET_TOKEN","RIGHT_SQUARE_BRACKET_TOKEN","WHITESPACE_TOKEN","EOF_TOKEN","Tokenizer","write","chunk","read","tokens","token","consumeToken","consumeCodePoint","consumeStringToken","peekCodePoint","flags","consumeName","reconsumeCodePoint","consumeNumericToken","e3","consumeIdentLikeToken","a1","a2","a3","u1","u2","consumeUnicodeRangeToken","consumeWhiteSpace","delta","digits","questionMarks","start_1","digit","endDigits","consumeUrlToken","stringToken","consumeBadUrlRemnants","consumeEscapedCodePoint","consumeStringSlice","SLICE_STACK_SIZE","amount","endingCodePoint","consumeNumber","repr","unit","hex","hexCodePoint","Parser","_tokens","tokenizer","parseValue","parseComponentValue","parseValues","parseComponentValues","SyntaxError","reconsumeToken","consumeComponentValue","consumeSimpleBlock","consumeFunction","block","isEndingTokenFor","functionToken","cssFunction","isDimensionToken","isNumberToken","isIdentToken","isStringToken","isIdentWithValue","nonWhiteSpace","nonFunctionArgSeparator","parseFunctionArgs","isLength","isLengthPercentage","parseLengthPercentageTuple","ZERO_LENGTH","FIFTY_PERCENT","HUNDRED_PERCENT","getAbsoluteValueForTuple","tuple","getAbsoluteValue","DEG","GRAD","RAD","TURN","angle","PI","isAngle","parseNamedSide","sideOrCorner","ident","deg","color$1","colorFunction","SUPPORTED_COLOR_FUNCTIONS","substring","namedColor","COLORS","TRANSPARENT","isTransparent","color","asString","alpha","blue","green","red","getTokenColorValue","rgb","_b","hue2rgb","t1","t2","hue","hsl","saturation","lightness","hsla","rgba","parseColor","ALICEBLUE","ANTIQUEWHITE","AQUA","AQUAMARINE","AZURE","BEIGE","BISQUE","BLACK","BLANCHEDALMOND","BLUE","BLUEVIOLET","BROWN","BURLYWOOD","CADETBLUE","CHARTREUSE","CHOCOLATE","CORAL","CORNFLOWERBLUE","CORNSILK","CRIMSON","CYAN","DARKBLUE","DARKCYAN","DARKGOLDENROD","DARKGRAY","DARKGREEN","DARKGREY","DARKKHAKI","DARKMAGENTA","DARKOLIVEGREEN","DARKORANGE","DARKORCHID","DARKRED","DARKSALMON","DARKSEAGREEN","DARKSLATEBLUE","DARKSLATEGRAY","DARKSLATEGREY","DARKTURQUOISE","DARKVIOLET","DEEPPINK","DEEPSKYBLUE","DIMGRAY","DIMGREY","DODGERBLUE","FIREBRICK","FLORALWHITE","FORESTGREEN","FUCHSIA","GAINSBORO","GHOSTWHITE","GOLD","GOLDENROD","GRAY","GREEN","GREENYELLOW","GREY","HONEYDEW","HOTPINK","INDIANRED","INDIGO","IVORY","KHAKI","LAVENDER","LAVENDERBLUSH","LAWNGREEN","LEMONCHIFFON","LIGHTBLUE","LIGHTCORAL","LIGHTCYAN","LIGHTGOLDENRODYELLOW","LIGHTGRAY","LIGHTGREEN","LIGHTGREY","LIGHTPINK","LIGHTSALMON","LIGHTSEAGREEN","LIGHTSKYBLUE","LIGHTSLATEGRAY","LIGHTSLATEGREY","LIGHTSTEELBLUE","LIGHTYELLOW","LIME","LIMEGREEN","LINEN","MAGENTA","MAROON","MEDIUMAQUAMARINE","MEDIUMBLUE","MEDIUMORCHID","MEDIUMPURPLE","MEDIUMSEAGREEN","MEDIUMSLATEBLUE","MEDIUMSPRINGGREEN","MEDIUMTURQUOISE","MEDIUMVIOLETRED","MIDNIGHTBLUE","MINTCREAM","MISTYROSE","MOCCASIN","NAVAJOWHITE","NAVY","OLDLACE","OLIVE","OLIVEDRAB","ORANGE","ORANGERED","ORCHID","PALEGOLDENROD","PALEGREEN","PALETURQUOISE","PALEVIOLETRED","PAPAYAWHIP","PEACHPUFF","PERU","PINK","PLUM","POWDERBLUE","PURPLE","REBECCAPURPLE","RED","ROSYBROWN","ROYALBLUE","SADDLEBROWN","SALMON","SANDYBROWN","SEAGREEN","SEASHELL","SIENNA","SILVER","SKYBLUE","SLATEBLUE","SLATEGRAY","SLATEGREY","SNOW","SPRINGGREEN","STEELBLUE","TAN","TEAL","THISTLE","TOMATO","TURQUOISE","VIOLET","WHEAT","WHITE","WHITESMOKE","YELLOW","YELLOWGREEN","backgroundClip","prefix","backgroundColor","format","parseColorStop","processColorStops","stops","lineLength","first","processStops","previous","stop_1","absoluteValue","gapBegin","stop_2","gapLength","beforeGap","gapValue","getAngleFromCorner","corner","centerX","centerY","atan2","calculateGradientDirection","radian","sin","cos","halfWidth","halfHeight","halfLineLength","yDiff","xDiff","distance","sqrt","findCorner","corners","stat","cx","cy","optimumDistance","optimumCorner","calculateRadius","gradient","rx","ry","shape","linearGradient","angle$1","firstToken","colorStop","prefixLinearGradient","webkitGradient","CLOSEST_SIDE","FARTHEST_SIDE","CLOSEST_CORNER","FARTHEST_CORNER","CIRCLE","ELLIPSE","COVER","CONTAIN","radialGradient","isColorStop","isAtPosition_1","acc","prefixRadialGradient","isLinearGradient","background","isRadialGradient","image","image_1","url","addImage","imageFunction","SUPPORTED_IMAGE_FUNCTIONS","isSupportedImage","BACKGROUND_SIZE","backgroundImage","backgroundOrigin","backgroundPosition","backgroundRepeat","parseBackgroundRepeat","LINE_BREAK","backgroundSize","isBackgroundSizeInfoToken","borderColorForSide","side","borderTopColor","borderRightColor","borderBottomColor","borderLeftColor","borderRadiusForSide","borderTopLeftRadius","borderTopRightRadius","borderBottomRightRadius","borderBottomLeftRadius","borderStyleForSide","borderTopStyle","borderRightStyle","borderBottomStyle","borderLeftStyle","borderWidthForSide","borderTopWidth","borderRightWidth","borderBottomWidth","borderLeftWidth","bit","parseDisplayValue","float","letterSpacing","WORD_BREAK","STRICT","NORMAL","lineHeight","computeLineHeight","fontSize","listStyleImage","listStylePosition","listStyleType","marginForSide","marginTop","marginRight","marginBottom","marginLeft","overflowWrap","paddingForSide","paddingTop","paddingBottom","textAlign","textShadow","shadow","offsetX","offsetY","textTransform","transform$1","transformFunction","SUPPORTED_TRANSFORM_FUNCTIONS","matrix","matrix3d","b1","b2","a4","b4","DEFAULT_VALUE","DEFAULT","transformOrigin","origins","visibility","BREAK_ALL","KEEP_ALL","zIndex","auto","order","time","opacity","textDecorationColor","textDecorationLine","line","fontFamily","accumulator","results","fontWeight","fontVariant","fontStyle","counterIncrement","increments","filtered","counter","increment","counterReset","resets","quotes","open_1","close_1","open","getQuote","quote","boxShadow","spread","inset","paintOrder","layers","webkitTextStrokeColor","webkitTextStrokeWidth","CSSParsedDeclaration","declaration","animationDuration","cssFloat","overflowTuple","textDecoration","isTransformed","isPositioned","isPositionedWithZIndex","isFloating","isInlineLevel","CSSParsedPseudoDeclaration","CSSParsedCounterDeclaration","parser","length_1","value_1","elementDebuggerAttribute","getElementDebugType","attribute","isDebugging","elementType","ElementContainer","textNodes","isHTMLElementNode","bounds","chars$1","lookup$1","i$1","decode","polyUint16Array","polyUint32Array","UTRIE2_SHIFT_2","UTRIE2_SHIFT_1","UTRIE2_INDEX_SHIFT","UTRIE2_SHIFT_1_2","UTRIE2_LSCP_INDEX_2_OFFSET","UTRIE2_DATA_BLOCK_LENGTH","UTRIE2_DATA_MASK","UTRIE2_LSCP_INDEX_2_LENGTH","UTRIE2_INDEX_2_BMP_LENGTH","UTRIE2_UTF8_2B_INDEX_2_OFFSET","UTRIE2_UTF8_2B_INDEX_2_LENGTH","UTRIE2_INDEX_1_OFFSET","UTRIE2_OMITTED_BMP_INDEX_1_LENGTH","UTRIE2_INDEX_2_BLOCK_LENGTH","UTRIE2_INDEX_2_MASK","slice16","slice32","createTrieFromBase64","chars","lookup","PseudoElementType","Prepend","CR","LF","Control","Extend","SpacingMark","LV","LVT","ZWJ","Extended_Pictographic","RI","toCodePoints","UnicodeTrie","BREAK_NOT_ALLOWED","BREAK_ALLOWED","codePointToClass","_graphemeBreakAtIndex","_codePoints","countRI","GraphemeBreaker","graphemeBreak","splitGraphemes","bk","breaker","graphemes","testRangeBounds","TEST_HEIGHT","createRange","range","testElement","selectNode","rangeBounds","rangeHeight","testIOSLineBreak","wordSpacing","repeat","textList","supports","setStart","setEnd","boundAhead","testCORS","Image","crossOrigin","testResponseType","XMLHttpRequest","responseType","testSVG","canvas","getContext","src","drawImage","toDataURL","isGreenPixel","testForeignObject","fillStyle","fillRect","greenImageSrc","svg","createForeignObjectSVG","loadSerializedSVG$1","getImageData","xmlns","foreignObject","onload","onerror","encodeURIComponent","XMLSerializer","serializeToString","FEATURES","SUPPORT_RANGE_BOUNDS","SUPPORT_WORD_BREAKING","SUPPORT_SVG_DRAWING","SUPPORT_FOREIGNOBJECT_DRAWING","fetch","SUPPORT_CORS_IMAGES","SUPPORT_RESPONSE_TYPE","SUPPORT_CORS_XHR","SUPPORT_NATIVE_TEXT_SEGMENTATION","Intl","Segmenter","TextBounds","parseTextBounds","breakText","textBounds","clientRects","subSegments","segmentGraphemes","subOffset_1","subSegment","replacementNode","splitText","getWrapperBounds","replaceChild","segmenter","granularity","segment","segmentWords","breakWords","wordSeparators","words","word_1","TextContainer","CAPITALIZE","p1","p2","ImageElementContainer","_super","_this","currentSrc","intrinsicWidth","naturalWidth","intrinsicHeight","naturalHeight","CanvasElementContainer","SVGElementContainer","baseVal","LIElementContainer","OLElementContainer","reversed","CHECKBOX_BORDER_RADIUS","RADIO_BORDER_RADIUS","reformatInputBounds","getInputValue","PASSWORD","CHECKBOX","RADIO","INPUT_COLOR","InputElementContainer","input","checked","SelectElementContainer","option","selectedIndex","TextareaElementContainer","IFrameElementContainer","iframe","contentWindow","tree","parseTree","documentBackgroundColor","bodyBackgroundColor","LIST_OWNERS","parseNodeTree","childNode","nextNode","isTextNode","isElementNode","isSlotElement","assignedNodes","createContainer","createsRealStackingContext","createsStackingContext","shadowRoot","isTextareaElement","isSVGElement","isSelectElement","isImageElement","isCanvasElement","isLIElement","isOLElement","isInputElement","isIFrameElement","isBodyElement","TEXT_NODE","isSVGElementNode","isHTMLElement","isVideoElement","isStyleElement","isScriptElement","CounterState","counters","getCounterValue","getCounterValues","canReset","counterNames","ROMAN_UPPER","ARMENIAN","HEBREW","GEORGIAN","createAdditiveCounter","symbols","suffix","createCounterText","string","integer","createCounterStyleWithSymbolResolver","codePointRangeLength","isNumeric","resolver","createCounterStyleFromRange","codePointRangeStart","codePointRangeEnd","createCounterStyleFromSymbols","CJK_ZEROS","CJK_TEN_COEFFICIENTS","CJK_TEN_HIGH_COEFFICIENTS","CJK_HUNDRED_COEFFICIENTS","createCJKCounter","numbers","multipliers","negativeSign","coefficient","CHINESE_INFORMAL_MULTIPLIERS","CHINESE_FORMAL_MULTIPLIERS","JAPANESE_NEGATIVE","KOREAN_NEGATIVE","appendSuffix","defaultSuffix","cjkSuffix","koreanSuffix","spaceSuffix","IGNORE_ATTRIBUTE","DocumentCloner","scrolledElements","referenceElement","quoteDepth","toIFrame","windowSize","createIFrameContainer","scrollX","scrollY","cloneWindow","documentClone","iframeLoad","iframeLoader","restoreNodeScroll","logger","warn","onclone","clonedReferenceElement","fonts","ready","imagesReady","serializeDoctype","doctype","restoreOwnerScroll","adoptNode","createElementClone","createCanvasClone","createVideoClone","createStyleClone","srcset","loading","createCustomElementClone","copyCSSStyles","sheet","cssRules","rule","inlineImages","info","clonedCanvas","clonedCtx","allowTaint","putImageData","gl","attribs","getContextAttributes","preserveDrawingBuffer","video","blankCanvas","appendChildNode","copyStyles","ignoreElements","cloneChildNodes","assignedNode","transitionProperty","styleBefore","styleAfter","createPseudoHideStyles","resolvePseudoContent","BEFORE","after","AFTER","pseudoElt","anonymousReplacedElement","attr","counterStyle","counterState","counterType","delim","counterStates","counterType_1","separator","PSEUDO_HIDE_ELEMENT_CLASS_BEFORE","PSEUDO_HIDE_ELEMENT_CLASS_AFTER","newClassName","baseValue","CORNER","cloneIframeContainer","border","scrolling","imageReady","complete","all","images","childNodes","ignoredStyleProperties","property","internalSubset","publicId","systemId","PSEUDO_BEFORE","PSEUDO_AFTER","PSEUDO_HIDE_ELEMENT_STYLE","createStyles","CacheStorage","getOrigin","link","_link","href","protocol","hostname","port","isSameOrigin","_origin","setContext","location","Cache","_options","_cache","isBlobImage","isRenderable","loadImage","useCORS","isInlineImage","useProxy","debug","isInlineBase64Image","imageTimeout","xhr","status","response","reader_1","FileReader","readAsDataURL","queryString","timeout_1","ontimeout","send","INLINE_SVG","INLINE_BASE64","INLINE_IMG","substr","Vector","deltaX","deltaY","lerp","BezierCurve","startControl","endControl","subdivide","firstHalf","ab","cd","abbc","bccd","dest","reverse","isBezierCurve","BoundCurves","tlh","tlv","trh","trv","brh","brv","blh","blv","factors","maxFactor","topWidth","rightHeight","bottomWidth","leftHeight","topLeftBorderDoubleOuterBox","getCurvePoints","TOP_LEFT","topRightBorderDoubleOuterBox","TOP_RIGHT","bottomRightBorderDoubleOuterBox","BOTTOM_RIGHT","bottomLeftBorderDoubleOuterBox","BOTTOM_LEFT","topLeftBorderDoubleInnerBox","topRightBorderDoubleInnerBox","bottomRightBorderDoubleInnerBox","bottomLeftBorderDoubleInnerBox","topLeftBorderStroke","topRightBorderStroke","bottomRightBorderStroke","bottomLeftBorderStroke","topLeftBorderBox","topRightBorderBox","bottomRightBorderBox","bottomLeftBorderBox","topLeftPaddingBox","topRightPaddingBox","bottomRightPaddingBox","bottomLeftPaddingBox","topLeftContentBox","topRightContentBox","bottomRightContentBox","bottomLeftContentBox","r1","r2","kappa","ox","oy","xm","ym","calculateBorderBoxPath","curves","calculateContentBoxPath","calculatePaddingBoxPath","TransformEffect","ClipEffect","OpacityEffect","isTransformEffect","isClipEffect","isOpacityEffect","equalPath","transformPath","deltaW","deltaH","point","StackingContext","inlineLevel","nonInlineLevel","negativeZIndex","zeroOrAutoZIndexOrTransformedOrOpacity","positiveZIndex","nonPositionedFloats","nonPositionedInlineLevel","ElementPaint","borderBox","paddingBox","getEffects","inFlow","croplessEffects","parseStackTree","stackingContext","realStackingContext","listItems","treatAsRealStackingContext","paintContainer","listOwnerItems","parentStack","stack","order_1","index_1","index_2","processListItems","numbering","listValue","parseStackingContexts","parsePathForBorder","borderSide","createPathFromCurves","parsePathForBorderDoubleOuter","parsePathForBorderDoubleInner","parsePathForBorderStroke","createStrokePathFromCurves","outer1","outer2","inner1","inner2","contentBox","calculateBackgroundPositioningArea","calculateBackgroundPaintingArea","calculateBackgroundRendering","intrinsicSize","backgroundPositioningArea","getBackgroundValueForIndex","backgroundPaintingArea","backgroundImageSize","calculateBackgroundSize","sizeWidth","sizeHeight","calculateBackgroundRepeatPath","isAuto","hasIntrinsicValue","intrinsicProportion","second","hasIntrinsicProportion","targetRatio","hasIntrinsicWidth","hasIntrinsicHeight","hasIntrinsicDimensions","width_1","height_1","width_2","height_2","width_3","height_3","SMALL_IMAGE","SAMPLE_TEXT","FontMetrics","_data","_document","parseMetrics","whiteSpace","verticalAlign","baseline","getMetrics","Renderer","MASK_OFFSET","CanvasRenderer","_activeEffects","scale","fontMetrics","translate","textBaseline","applyEffects","popEffect","applyEffect","save","globalAlpha","clip","restore","renderStack","renderStackContent","renderNode","paint","renderNodeBackgroundAndBorders","renderNodeContent","renderTextWithLetterSpacing","fillText","letters","letter","measureText","createFontStyle","variant","fixIOSSystemFonts","renderTextNode","font","paintOrderLayer","textShadows","shadowColor","shadowOffsetX","shadowOffsetY","shadowBlur","strokeStyle","lineWidth","lineJoin","chrome","strokeText","renderReplacedElement","box","iframeRenderer","beginPath","arc","isTextInputElement","canvasTextAlign","_p","_g","_f","_j","_h","_l","_k","_o","_m","mask","paths","moveTo","lineTo","formatPath","closePath","bezierCurveTo","renderRepeat","resizeImage","renderBackgroundImage","this_1","createPattern","x0","x1","y0","y1","gradient_1","createLinearGradient","addColorStop","top_1","radialGradient_1","createRadialGradient","midX","midY","invF","renderSolidBorder","curvePoints","renderDoubleBorder","outerPaths","innerPaths","hasBackground","borders","calculateBackgroundCurvedPaintingArea","borderBoxArea","maskOffset","shadowPaintingArea","borders_1","renderDashedDottedBorder","strokePaths","boxPaths","startX","startY","endX","endY","dashLength","spaceLength","useLineDash","multiplier","numberOfDashes","minSpace","maxSpace","setLineDash","lineCap","stroke","path1","path2","iOSBrokenFonts","fontFamilies","ForeignObjectRenderer","loadSerializedSVG","Logger","instances","Context","instanceName","instanceCount","logging","html2canvas","renderElement","opts","resourceOptions","contextOptions","windowOptions","windowWidth","windowHeight","innerHeight","foreignObjectRendering","cloneOptions","documentCloner","clonedElement","_u","parseBackgroundColor","renderOptions","_q","_r","removeContainer","backgroundColorOverride","defaultBackgroundColor","factory","module","exports","require","__WEBPACK_EXTERNAL_MODULE_jspdf__","__WEBPACK_EXTERNAL_MODULE_html2canvas__","__webpack_modules__","__unused_webpack_module","__webpack_exports__","__webpack_require__","_worker_js__WEBPACK_IMPORTED_MODULE_2__","_utils_js__WEBPACK_IMPORTED_MODULE_3__","linkInfo","orig","toContainer","toPdf","enableLinks","links","containerRect","unitConvert","pageSize","page","inner","pdf","setPage","nPages","internal","getNumberOfPages","jspdf__WEBPACK_IMPORTED_MODULE_7__","_typeof","jsPDF","getPageSize","orientation","format_as_string","pageFormats","pageHeight","pageWidth","_worker_js__WEBPACK_IMPORTED_MODULE_5__","_utils_js__WEBPACK_IMPORTED_MODULE_6__","pagebreak","avoid","pxPageHeight","px","modeSrc","avoidAll","legacy","select","legacyEls","els","rules","breakOpt","avoidOpt","breakBefore","pageBreakBefore","breakAfter","pageBreakAfter","breakInside","pageBreakInside","startPage","endPage","pad","objType","toPx","scripts","getElementsByTagName","javascriptEnabled","newObj","jspdf__WEBPACK_IMPORTED_MODULE_8__","html2canvas__WEBPACK_IMPORTED_MODULE_9__","_utils_js__WEBPACK_IMPORTED_MODULE_10__","es6_promise__WEBPACK_IMPORTED_MODULE_11__","es6_promise__WEBPACK_IMPORTED_MODULE_11___default","Worker","convert","setProgress","promise","inherit","overlay","progress","filename","quality","toCanvas","toImg","prereqs","setPageSize","thenList","overlayCSS","containerCSS","onrendered","onRendered","imgData","pxFullHeight","ratio","pageCanvas","pageCtx","addPage","output","outputImg","outputPdf","setMargin","cbk","updateProgress","onFulfilled","onRejected","thenCore","thenBase","isNative","selfPromise","returnVal","thenExternal","catchExternal","msg","using","saveAs","export","__unused_webpack_exports","wellKnownSymbol","definePropertyModule","UNSCOPABLES","ArrayPrototype","$forEach","arrayMethodIsStrict","STRICT_METHOD","callbackfn","toIndexedObject","toLength","toAbsoluteIndex","createMethod","IS_INCLUDES","$this","fromIndex","IndexedObject","toObject","arraySpeciesCreate","TYPE","IS_MAP","IS_FILTER","IS_SOME","IS_EVERY","IS_FIND_INDEX","IS_FILTER_REJECT","NO_HOLES","that","specificCreate","boundFunction","filterReject","fails","V8_VERSION","SPECIES","METHOD_NAME","array","foo","argument","originalArray","arraySpeciesConstructor","TO_STRING_TAG_SUPPORT","classofRaw","TO_STRING_TAG","CORRECT_ARGUMENTS","tryGet","callee","getOwnPropertyDescriptorModule","getOwnPropertyDescriptor","requireObjectCoercible","quot","IteratorPrototype","createPropertyDescriptor","setToStringTag","Iterators","returnThis","IteratorConstructor","DESCRIPTORS","object","bitmap","toPropertyKey","propertyKey","createIteratorConstructor","createNonEnumerableProperty","redefine","IS_PURE","IteratorsCore","BUGGY_SAFARI_ITERATORS","ITERATOR","KEYS","VALUES","ENTRIES","Iterable","IS_SET","FORCED","CurrentIteratorPrototype","KEY","getIterationMethod","KIND","defaultIterator","IterablePrototype","INCORRECT_VALUES_NAME","nativeIterator","anyNativeIterator","forced","wrappedWellKnownSymbolModule","EXISTS","CSSRuleList","CSSStyleDeclaration","CSSValueList","ClientRectList","DOMRectList","DOMStringList","DOMTokenList","DataTransferItemList","FileList","HTMLAllCollection","HTMLCollection","HTMLFormElement","HTMLSelectElement","MediaList","MimeTypeArray","NamedNodeMap","NodeList","PaintRequestList","Plugin","PluginArray","SVGLengthList","SVGNumberList","SVGPathSegList","SVGPointList","SVGStringList","SVGTransformList","SourceBufferList","StyleSheetList","TextTrackCueList","TextTrackList","TouchList","getBuiltIn","Deno","versions","v8","setGlobal","copyConstructorProperties","isForced","targetProperty","sourceProperty","TARGET","GLOBAL","STATIC","noTargetGet","sham","exec","aFunction","variable","check","classof","dummy","Wrapper","NewTarget","NewTargetPrototype","store","functionToString","inspectSource","NATIVE_WEAK_MAP","objectHas","shared","sharedKey","hiddenKeys","OBJECT_ALREADY_INITIALIZED","enforce","getterFor","wmget","wmhas","wmset","metadata","facade","STATE","replacement","feature","detection","POLYFILL","NATIVE","USE_SYMBOL_AS_UID","$Symbol","PrototypeOfArrayIteratorPrototype","arrayIterator","NEW_ITERATOR_PROTOTYPE","symbol","objectKeys","getOwnPropertySymbolsModule","propertyIsEnumerableModule","$assign","alphabet","chr","argumentsLength","activeXDocument","anObject","defineProperties","enumBugKeys","documentCreateElement","GT","LT","PROTOTYPE","SCRIPT","IE_PROTO","EmptyConstructor","scriptTag","NullProtoObjectViaActiveX","temp","parentWindow","NullProtoObjectViaIFrame","iframeDocument","JS","NullProtoObject","ActiveXObject","domain","Properties","IE8_DOM_DEFINE","$defineProperty","Attributes","$getOwnPropertyDescriptor","$getOwnPropertyNames","windowNames","getWindowNames","internalObjectKeys","CORRECT_PROTOTYPE_GETTER","ObjectPrototype","names","$propertyIsEnumerable","NASHORN_BUG","aPossiblePrototype","CORRECT_SETTER","pref","valueOf","getOwnPropertyNamesModule","InternalStateModule","getInternalState","enforceInternalState","TEMPLATE","unsafe","simple","ignoreCase","multiline","dotAll","unicode","sticky","TAG","SHARED","copyright","toInteger","CONVERT_TO_STRING","pos","codeAt","whitespaces","whitespace","ltrim","rtrim","ordinaryToPrimitive","TO_PRIMITIVE","exoticToPrim","toPrimitive","postfix","NATIVE_SYMBOL","WellKnownSymbolsStore","createWellKnownSymbol","withoutSetter","createProperty","arrayMethodHasSpeciesSupport","IS_CONCAT_SPREADABLE","MAX_SAFE_INTEGER","MAXIMUM_ALLOWED_INDEX_EXCEEDED","IS_CONCAT_SPREADABLE_SUPPORT","SPECIES_SUPPORT","isConcatSpreadable","spreadable","addToUnscopables","defineIterator","ARRAY_ITERATOR","setInternalState","iterated","kind","Arguments","nativeJoin","ES3_STRINGS","$map","HAS_SPECIES_SUPPORT","nativeSlice","fin","FunctionPrototype","FunctionPrototypeToString","nameRE","inheritIfRequired","NUMBER","NativeNumber","NumberPrototype","BROKEN_CLASSOF","third","radix","maxCode","NumberWrapper","nativeKeys","FAILS_ON_PRIMITIVES","$toString","TO_STRING","RegExpPrototype","nativeToString","NOT_GENERIC","INCORRECT_NAME","rf","STRING_ITERATOR","createHTML","forcedStringHTMLMethod","NativeSymbol","EmptyStringDescriptionStore","SymbolWrapper","symbolPrototype","symbolToString","native","regexp","desc","defineWellKnownSymbol","nativeObjectCreate","getOwnPropertyNamesExternal","HIDDEN","SYMBOL","$stringify","nativeGetOwnPropertyDescriptor","nativeDefineProperty","nativeGetOwnPropertyNames","nativePropertyIsEnumerable","AllSymbols","ObjectPrototypeSymbols","StringToSymbolRegistry","SymbolToStringRegistry","QObject","USE_SETTER","findChild","setSymbolDescriptor","ObjectPrototypeDescriptor","$defineProperties","properties","$getOwnPropertySymbols","$create","IS_OBJECT_PROTOTYPE","keyFor","sym","useSetter","useSimple","FORCED_JSON_STRINGIFY","space","$replacer","DOMIterables","COLLECTION_NAME","Collection","CollectionPrototype","ArrayIteratorMethods","ArrayValues","objectOrFunction","_isArray","vertxNext","customSchedulerFn","asap","scheduleFlush","setScheduler","scheduleFn","setAsap","asapFn","browserWindow","browserGlobal","BrowserMutationObserver","MutationObserver","WebKitMutationObserver","isNode","isWorker","Uint8ClampedArray","importScripts","MessageChannel","useNextTick","useVertxTimer","useSetTimeout","useMutationObserver","iterations","observer","characterData","useMessageChannel","channel","port1","onmessage","port2","postMessage","globalSetTimeout","attemptVertx","vertx","runOnLoop","runOnContext","onFulfillment","onRejection","noop","PROMISE_ID","makePromise","_state","invokeCallback","_result","subscribe","resolve$1","PENDING","FULFILLED","REJECTED","selfFulfillment","cannotReturnOwn","tryThen","then$$1","fulfillmentHandler","rejectionHandler","handleForeignThenable","thenable","sealed","fulfill","reason","_label","handleOwnThenable","handleMaybeThenable","maybeThenable","publishRejection","_onerror","publish","_subscribers","subscribers","settled","detail","hasCallback","succeeded","initializePromise","nextId","validationError","Enumerator","_instanceConstructor","_remaining","_enumerate","_eachEntry","resolve$$1","_then","didError","_settledAt","Promise$1","_willSettleAt","enumerator","race","reject$1","needsResolver","needsNew","finally","polyfill","local","promiseToString","cast","_setScheduler","_setAsap","_asap","__webpack_module_cache__","moduleId","cachedModule","__esModule","definition","toStringTag","_worker_js__WEBPACK_IMPORTED_MODULE_0__","html2pdf","worker","noGlobal","flat","class2type","fnToString","ObjectFunctionString","support","isWindow","preservedScriptAttributes","nonce","noModule","DOMEval","script","head","toType","rhtmlSuffix","init","isArrayLike","elem","toArray","num","pushStack","elems","merge","prevObject","eq","even","grep","_elem","odd","copy","copyIsArray","expando","isReady","Ctor","isEmptyObject","globalEval","makeArray","inArray","isXMLDoc","namespaceURI","docElem","invert","callbackInverse","callbackExpect","guid","rtrimCSS","bup","compareDocumentPosition","rcssescape","fcssescape","ch","asCodePoint","escapeSelector","sel","preferredDoc","pushNative","Expr","outermostContext","sortInput","hasDuplicate","documentIsHTML","rbuggyQSA","dirruns","classCache","createCache","tokenCache","compilerCache","nonnativeSelectorCache","sortOrder","booleans","identifier","pseudos","rwhitespace","rcomma","rleadingCombinator","rdescend","rpseudo","ridentifier","matchExpr","CLASS","ATTR","PSEUDO","CHILD","bool","needsContext","rinputs","rheader","rquickExpr","rsibling","runescape","funescape","nonHex","high","unloadHandler","setDocument","inDisabledFieldset","addCombinator","safeActiveElement","activeElement","seed","nid","groups","newSelector","newContext","getElementsByClassName","testContext","tokenize","toSelector","qsaError","cacheLength","markFunction","assert","createInputPseudo","createButtonPseudo","createDisabledPseudo","isDisabled","createPositionalPseudo","matchIndexes","subWindow","webkitMatchesSelector","msMatchesSelector","getById","getElementsByName","disconnectedMatch","cssHas","attrId","getAttributeNode","compare","sortDetached","expr","matchesSelector","attrHandle","uniqueSort","duplicates","sortStable","createPseudo","relative","preFilter","excess","unquoted","nodeNameSelector","expectedNodeName","operator","what","_argument","forward","ofType","xml","outerCache","nodeIndex","useCache","pseudo","setFilters","idx","matched","not","matcher","unmatched","lang","elemLang","hasFocus","tabIndex","selected","empty","header","_matchIndexes","nth","radio","checkbox","file","password","submit","parseOnly","soFar","preFilters","combinator","skip","checkNonElements","doneName","oldCache","newCache","elementMatcher","matchers","multipleContexts","contexts","condense","newUnmatched","mapped","setMatcher","postFilter","postFinder","postSelector","matcherOut","preMap","postMap","preexisting","matcherIn","matcherFromTokens","checkContext","leadingRelative","implicitRelative","matchContext","matchAnyContext","matcherFromGroupMatchers","elementMatchers","setMatchers","bySet","byElement","superMatcher","outermost","matchedCount","setMatched","contextBackup","dirrunsUnique","compiled","unique","getText","isXML","selectors","until","truncate","siblings","rneedsContext","rsingleTag","winnow","qualifier","rootjQuery","parseHTML","rparentsprev","guaranteedUnique","contents","sibling","targets","prevAll","addBack","parentsUntil","nextAll","nextUntil","prevUntil","contentDocument","rnothtmlwhite","createOptions","Identity","Thrower","ex","adoptValue","noValue","fail","Callbacks","firing","memory","fired","locked","list","firingIndex","fire","stopOnFalse","lock","fireWith","Deferred","func","tuples","always","deferred","pipe","newDefer","returned","notify","onProgress","maxDepth","special","mightThrow","notifyWith","resolveWith","exceptionHook","rejectWith","getErrorHook","getStackHook","stateString","when","singleValue","remaining","resolveContexts","resolveValues","primary","updateFunc","rerrorNames","asyncError","message","readyException","readyList","completed","readyWait","wait","doScroll","access","chainable","emptyGet","bulk","rmsPrefix","rdashAlpha","fcamelCase","_all","camelCase","acceptData","Data","hasData","dataPriv","dataUser","rbrace","rmultiDash","getData","dataAttr","removeData","_removeData","dequeue","startLength","_queueHooks","clearQueue","defer","pnum","rcssNum","cssExpand","isAttached","composed","isHiddenWithinTree","adjustCSS","valueParts","tween","adjusted","maxIterations","currentValue","initial","cssNumber","initialInUnit","defaultDisplayMap","getDefaultDisplay","showHide","rcheckableType","rtagName","rscriptType","fragment","createDocumentFragment","checkClone","noCloneChecked","wrapMap","thead","tr","td","_default","getAll","setGlobalEval","refElements","tbody","tfoot","colgroup","caption","th","optgroup","rhtml","buildFragment","selection","ignored","nodes","htmlPrefilter","rtypenamespace","returnTrue","returnFalse","origFn","leverageNative","isSetup","saved","isTrigger","delegateType","handleObjIn","eventHandle","events","handleObj","handlers","namespaces","origType","elemData","handle","triggered","dispatch","bindType","delegateCount","mappedTypes","origCount","teardown","removeEvent","nativeEvent","handlerQueue","fix","preDispatch","currentTarget","rnamespace","postDispatch","matchedHandlers","matchedSelectors","addProp","originalEvent","load","noBubble","beforeunload","returnValue","timeStamp","isSimulated","altKey","changedTouches","ctrlKey","eventPhase","metaKey","pageX","pageY","charCode","keyCode","buttons","clientY","pointerId","screenX","screenY","targetTouches","toElement","which","focusMappedHandler","documentMode","simulate","attaches","dataHolder","pointerenter","pointerleave","related","rnoInnerhtml","rchecked","rcleanScript","manipulationTarget","disableScript","restoreScript","cloneCopyEvent","pdataOld","udataOld","udataCur","fixInput","domManip","collection","hasScripts","iNoClone","valueIsFunction","_evalUrl","keepData","cleanData","dataAndEvents","deepDataAndEvents","srcElements","destElements","inPage","detach","replaceWith","appendTo","prependTo","insertAfter","replaceAll","original","rnumnonpx","rcustomProp","getStyles","opener","swap","old","rboxStyle","curCSS","minWidth","maxWidth","isCustomProp","pixelBoxStyles","addGetHookIf","conditionFn","hookFn","computeStyleTests","divStyle","pixelPositionVal","reliableMarginLeftVal","roundPixelMeasures","pixelBoxStylesVal","boxSizingReliableVal","scrollboxSizeVal","measure","reliableTrDimensionsVal","clearCloneStyle","boxSizingReliable","pixelPosition","reliableMarginLeft","scrollboxSize","reliableTrDimensions","table","trChild","trStyle","cssPrefixes","emptyStyle","vendorProps","vendorPropName","capName","finalPropName","final","cssProps","rdisplayswap","cssShow","cssNormalTransform","setPositiveNumber","subtract","boxModelAdjustment","dimension","isBorderBox","computedVal","marginDelta","getWidthOrHeight","boxSizingNeeded","valueIsBorderBox","offsetProp","Tween","easing","cssHooks","animationIterationCount","aspectRatio","borderImageSlice","columnCount","flexGrow","flexShrink","gridArea","gridColumn","gridColumnEnd","gridColumnStart","gridRow","gridRowEnd","gridRowStart","orphans","widows","zoom","fillOpacity","floodOpacity","stopOpacity","strokeMiterlimit","strokeOpacity","origName","isFinite","scrollboxSizeBuggy","expand","expanded","parts","propHooks","percent","eased","fx","linear","swing","fxNow","inProgress","rfxtypes","rrun","schedule","tick","createFxNow","genFx","includeWidth","createTween","Animation","tweeners","defaultPrefilter","oldfire","propTween","restoreDisplay","isBox","anim","dataShow","unqueued","propFilter","specialEasing","stopped","prefilters","currentTime","startTime","tweens","originalProperties","originalOptions","gotoEnd","timer","tweener","prefilter","speed","speeds","fadeTo","animate","optall","doAnimation","finish","stopQueue","timers","cssFn","slideDown","slideUp","slideToggle","fadeIn","fadeOut","fadeToggle","slow","fast","checkOn","optSelected","radioValue","boolHook","removeAttr","nType","attrHooks","attrNames","lowercaseName","rfocusable","rclickable","stripAndCollapse","getClass","classesToArray","removeProp","propFix","tabindex","addClass","classNames","curValue","finalValue","removeClass","toggleClass","stateVal","isValidValue","hasClass","rreturn","valHooks","optionSet","rquery","parseXML","parserErrorElem","rfocusMorph","stopPropagationCallback","onlyHandlers","bubbleType","ontype","lastElement","eventPath","triggerHandler","rbracket","rCRLF","rsubmitterTypes","rsubmittable","buildParams","traditional","param","valueOrFunction","serialize","serializeArray","r20","rhash","rantiCache","rheaders","rlocalProtocol","rnoContent","rprotocol","transports","allTypes","originAnchor","addToPrefiltersOrTransports","structure","dataTypeExpression","dataType","dataTypes","inspectPrefiltersOrTransports","jqXHR","inspected","seekingTransport","inspect","prefilterOrFactory","dataTypeOrTransport","ajaxExtend","flatOptions","ajaxSettings","ajaxHandleResponses","responses","finalDataType","firstDataType","mimeType","getResponseHeader","converters","ajaxConvert","isSuccess","conv2","conv","responseFields","dataFilter","throws","lastModified","etag","isLocal","processData","async","contentType","accepts","json","ajaxSetup","settings","ajaxPrefilter","ajaxTransport","ajax","transport","cacheURL","responseHeadersString","responseHeaders","timeoutTimer","urlAnchor","fireGlobals","uncached","callbackContext","globalEventContext","completeDeferred","statusCode","requestHeaders","requestHeadersNames","strAbort","getAllResponseHeaders","setRequestHeader","overrideMimeType","abort","statusText","finalText","crossDomain","ifModified","headers","beforeSend","success","nativeStatusText","modified","getJSON","getScript","wrapAll","firstElementChild","wrapInner","htmlIsFunction","unwrap","visible","xhrSuccessStatus","xhrSupported","cors","errorCallback","username","xhrFields","onabort","onreadystatechange","responseText","binary","scriptAttrs","charset","scriptCharset","evt","oldCallbacks","rjsonp","jsonp","jsonpCallback","originalSettings","callbackName","overwritten","responseContainer","jsonProp","createHTMLDocument","implementation","keepScripts","parsed","params","animated","setOffset","curPosition","curLeft","curCSSTop","curTop","curOffset","curCSSLeft","calculatePosition","curElem","win","parentOffset","Height","Width","defaultExtra","funcName","unbind","delegate","undelegate","hover","fnOver","fnOut","holdReady","hold","parseJSON","define","_jQuery","_$","u8","u16","i32","Int32Array","fleb","fdeb","clim","freb","eb","fl","revfl","fd","revfd","rev","hMap","mb","co","rvb","sv","r_1","flt","fdt","flm","flrm","fdm","fdrm","bits","bits16","shft","slc","subarray","ind","captureStackTrace","inflt","dat","buf","dict","sl","noBuf","noSt","cbuf","bl","nbuf","lm","dm","lbt","dbt","tbts","hLit","hcLen","tl","ldt","clt","clb","clbmsk","clm","lms","dms","lpos","dsym","dend","wbits","wbits16","hTree","i0","i1","i2","maxSym","mbt","lft","cst","i2_1","i2_2","i2_3","lc","cl","cli","cln","clen","cf","wfblk","out","wblk","syms","lf","df","dlt","mlb","ddt","mdb","lclt","nlc","lcdt","ndc","lcfreq","lct","mlcb","nlcc","ll","flen","ftlen","dtlen","llm","lcts","clct","dst","deo","dflt","lvl","plvl","post","lst","msk_1","bs1_1","bs2_1","hsh","lc_1","hv","imod","pimod","rem","ch_1","dif","maxn","maxd","ml","nl","mmd","md","pti","lin","din","adler","dopt","dictionary","newDat","level","mem","log","wbytes","zlh","lv","zls","zlibSync","unzlibSync","TextDecoder","stream","queueMicrotask","MouseEvent","createEvent","initMouseEvent","HTMLAnchorElement","URL","webkitURL","download","rel","origin","createObjectURL","revokeObjectURL","msSaveOrOpenBlob","autoBom","Blob","innerText","safari","onloadend","ok","aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blueviolet","brown","burlywood","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dodgerblue","feldspar","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","gray","greenyellow","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgrey","lightgreen","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslateblue","lightslategray","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","snow","springgreen","steelblue","tan","teal","thistle","tomato","turquoise","violet","violetred","wheat","white","whitesmoke","yellow","yellowgreen","example","toRGB","toHex","atob","btoa","print","modify","perm","processOwnerPassword","encryptionKey","lsbFirstWord","hexToBytes","unsubscribe","getTopics","objectNumber","gState","coords","colors","boundingBox","xStep","yStep","cloneIndex","compress","compressPdf","encryption","userPassword","ownerPassword","userPermissions","userUnit","precision","floatPrecision","defaultPathOperation","putOnlyUsedFonts","__private__","PubSub","getPdfVersion","setPdfVersion","a0","a5","a6","a7","a8","a9","a10","b0","b3","b5","b6","b7","b8","b9","b10","c0","c4","c5","c6","c7","c8","c9","c10","legal","ledger","tabloid","getPageFormats","getPageFormat","COMPAT","ADVANCED","saveGraphicsState","Rr","setFontSize","getFontSize","restoreGraphicsState","combineFontStyleAndFontWeight","advancedAPI","compatAPI","isAdvancedAPI","roundToPrecision","toFixed","hpf","f2","f3","setPrecision","getFileId","setFileId","convertDateToPDFDate","getTimezoneOffset","getFullYear","getMonth","getDate","getHours","getMinutes","getSeconds","convertPDFDateToDate","setCreationDate","getCreationDate","padd2","padd2Hex","setCustomOutputDestination","resetCustomOutputDestination","getArrayBuffer","getStandardFonts","R2L","setR2L","getR2L","setZoomMode","getZoomMode","setPageMode","getPageMode","setLayoutMode","getLayoutMode","setDisplayMode","subject","author","keywords","creator","getDocumentProperty","getDocumentProperties","setDocumentProperties","setProperties","setDocumentProperty","hotfixes","_matrix","shx","sx","decompose","sy","shy","tx","ty","multiply","rotate","skew","inversed","applyToPoint","Cr","applyToRectangle","jr","Matrix","matrixMult","unitMatrix","identityMatrix","ShadingPattern","TilingPattern","addShadingPattern","beginTilingPattern","Br","endTilingPattern","newObject","newObjectDeferred","newAdditionalObject","objId","decodeColorString","encodeColorString","ch3","ch4","pdfColorType","getFilters","putStream","alreadyAppliedFilters","addLength1","objectId","encryptor","additionalKeyValues","API","processDataByFilters","reverseChain","putPage","contentsObjId","rootDictionaryObjId","resourceDictionaryObjId","mediaBox","bottomLeftX","bottomLeftY","topRightX","topRightY","cropBox","bleedBox","trimBox","artBox","pageContext","pageNumber","putPages","isAlreadyPutted","postScriptName","pages","resourcesOid","objectOid","oid","toHexString","fontName","isStandardFont","alert","bar","sourceEncoding","outputEncoding","autoencode","codePages","noBOM","pdfEscape","beginPage","pr","fr","Lr","kr","Ir","disableWarning","noFallback","times","normal","putInfo","putCatalog","putTrailer","putHeader","putXRef","buildDocument","getBlob","unescape","pdfObjectUrl","pdfJsUrl","PDFViewerApplication","getPageInfo","getPageInfoByObjId","getCurrentPageInfo","insertPage","movePage","deletePage","align","lineHeightFactor","lr","scaleFactor","TabLen","splitTextToSize","mutex","activeFontKey","activeFontSize","rotationDirection","charSpace","setCharSpace","getCharSpace","horizontalScale","renderingMode","usedRenderingMode","getStringUnitWidth","doKerning","yr","xr","clipEvenOdd","discardPath","isValidStyle","setDefaultPathOperation","getStyle","er","rr","fillEvenOdd","fillStroke","fillStrokeEvenOdd","nr","ir","or","setGState","sr","cr","ur","curveTo","lines","triangle","roundedRect","SQRT2","ellipse","circle","setFont","getFont","getFontList","addFont","dr","getLineWidth","setLineWidth","setLineDashPattern","gr","getLineHeight","mr","setLineHeightFactor","vr","getLineHeightFactor","getHorizontalCoordinate","getVerticalCoordinate","wr","getHorizontalCoordinateString","Nr","getVerticalCoordinateString","strokeColor","getStrokeColor","getDrawColor","setStrokeColor","setDrawColor","Ar","fillColor","getFillColor","setFillColor","textColor","Sr","getTextColor","setTextColor","Pr","CapJoinStyles","butt","but","miter","rounded","projecting","project","square","bevel","setLineCap","setLineJoin","setLineMiterLimit","setMiterLimit","GState","Fr","equals","addGState","setCurrentTransformationMatrix","comment","Or","currentPage","pagesContext","qr","outputDestination","Dr","Tr","Mr","Er","beginFormObject","endFormObject","doFormObject","getFormObject","returnPromise","unload","getPageWidth","setPageWidth","getPageHeight","setPageHeight","getCoordinateString","collections","newObjectDeferredBegin","setWidth","getHeight","setHeight","encryptionOptions","getEncryptor","getPDFVersion","Point","Rectangle","hasHotfix","__acroform__","BBox","setBit","clearBit","getBit","getBitForPdf","setBitForPdf","clearBitForPdf","calculateCoordinates","lowerLeft_X","lowerLeft_Y","upperRight_X","upperRight_Y","appearanceStreamContent","DV","_V","maxFontSize","fields","xForms","acroFormDictionaryRoot","printedOut","isInitialized","annotations","acroformPlugin","FieldNum","_eventID","Fields","hasAnnotation","Kids","Rect","DA","createDefaultAppearanceStream","getKeyValueListForStream","hasAppearanceStream","arrayToPdfArray","_objId","_scope","Ff","FT","getOptions","addOption","removeOption","combo","edit","CA","pushButton","appearanceState","_AppearanceType","RadioButton","Circle","createAppearanceStream","optionName","setAppearance","getCA","createOption","Parent","CheckBox","isInteger","YesNormal","YesPushDown","Off","OffPushDown","Bezier_C","Cross","calculateCross","x2","x4","x3","addField","AcroFormChoiceField","AcroFormListBox","AcroFormComboBox","AcroFormEditBox","AcroFormButton","AcroFormPushButton","AcroFormRadioButton","AcroFormCheckBox","AcroFormTextField","AcroFormPasswordField","AcroFormAppearance","AcroForm","ChoiceField","ListBox","ComboBox","EditBox","PushButton","TextField","PasswordField","Appearance","__addimage__","PNG","TIFF","JPEG","JPEG2000","GIF87a","GIF89a","WEBP","BMP","getImageFileTypeByImageData","colorSpace","INDEXED","palette","sMask","DEVICE_CMYK","bitsPerComponent","decodeParameters","transparency","predictor","addImage_images","loadFile","alias","color_spaces","DEVICE_RGB","DEVICE_GRAY","CAL_GREY","CAL_RGB","LAB","ICC_BASED","PATTERN","SEPARATION","DEVICE_N","DCT_DECODE","FLATE_DECODE","LZW_DECODE","JPX_DECODE","JBIG2_DECODE","ASCII85_DECODE","ASCII_HEX_DECODE","RUN_LENGTH_DECODE","CCITT_FAX_DECODE","image_compression","NONE","FAST","MEDIUM","SLOW","sHashCode","byteLength","validateStringAsBase64","extractImageFromDataUrl","supportsArrayBuffer","isArrayBuffer","isArrayBufferView","Int8Array","Int16Array","Float32Array","Float64Array","binaryStringToUint8Array","arrayBufferToBinaryString","imageData","compression","rotation","convertBase64ToBinaryString","getImageProperties","fileType","_nameMap","finalBounds","magFactor","createAnnotation","textWithLink","getTextWidth","__arabicParser__","isInArabicSubstitutionA","isArabicLetter","isArabicEndLetter","isArabicAlfLetter","arabicLetterHasIsolatedForm","arabicLetterHasFinalForm","arabicLetterHasInitialForm","arabicLetterHasMedialForm","resolveLigatures","isArabicDiacritic","getCorrectForm","processArabic","autoPrint","addJS","pageWrapXEnabled","pageWrapX","pageWrapYEnabled","pageWrapY","context2d","_canvas","__cell__","headerFunction","margins","lastCell","lineNumber","setHeaderFunction","getTextDimensions","cellAddPage","cell","tableHeaderRow","printHeaders","printHeaderRow","autoSize","headerBackgroundColor","headerTextColor","table_font_size","prompt","setTableHeaderRow","rowStart","row","cellStart","table_x","table_y","italic","oblique","family","weight","stretch","fixed","monospace","terminal","cursive","fantasy","serif","icon","menu","defaultFontFamily","genericFontFamilies","trimLeft","isStrokeTransparent","isFillTransparent","globalCompositeOperation","clip_path","currentPoint","miterLimit","lastPoint","lineDashOffset","lineDash","prevPageLastElemOffset","ignoreClearRect","fontFaces","arial","Arial","verdana","Verdana","helvetica","Helvetica","getLineDash","quadraticCurveTo","y2","isIdentity","radius","startAngle","endAngle","counterclockwise","arcTo","strokeRect","clearRect","ctxStack","isCanvasGradient","getColor","scaleX","setTransform","autoPaging","posY","posX","begin","deltas","colorStops","y3","y4","prevLineDash","loadImageFile","DOMPurify","dompurify","toContext2d","doCallback","outline","createNamedDestinations","makeRef","genIds_r","renderRoot","renderItems","objStart","count_r","objEnd","makeString","processJPEG","numcomponents","readUInt32","colorType","compressionMethod","filterMethod","interlaceMethod","numFrames","numPlays","frames","xOffset","yOffset","readUInt16","disposeOp","blendOp","indexed","grayscale","hasAlphaChannel","pixelBitlength","decodePixels","decodePalette","copyToImageData","_decodedPalette","decodeFrames","createImageData","renderFrame","stopAnimation","_png","has_local_palette","palette_offset","palette_size","data_offset","data_length","transparent_index","interlaced","disposal","loopCount","frameInfo","decodeAndBlitFrameBGRA","decodeAndBlitFrameRGBA","encode","datav","DataView","is_with_alpha","bottom_up","parseHeader","parseBGR","jc","Qb","qb","nd","pd","Ca","Ka","oa","pa","Jd","Yc","Zc","Sb","Ra","bb","Ur","zr","Hr","Mb","Xa","ud","hd","jd","Ea","fb","ea","Tc","Ed","Cd","Fd","lb","Db","Ab","fa","Rd","RGBA","kb","sd","Pd","Qd","Id","Md","hb","ib","bd","Da","Sd","ob","ba","ka","cc","dc","Mc","Nc","fc","Rc","Kb","ma","Ib","Jb","Nd","Oa","Dc","xc","vc","Wb","Ya","Ta","Ua","gc","nc","hc","Gr","Wr","Vr","Zr","$r","Yr","Ba","va","ca","Ma","Qr","ua","qd","rd","tb","Xr","Pb","Wa","wc","wd","xd","vb","yc","xb","VP8LMapColor32b","Jr","VP8LMapColor8b","Kr","Oc","ub","yd","Rb","Kd","Ld","Ud","Td","Fb","Bb","Cb","Zb","Lb","Yb","jb","Wc","Xc","Pc","wb","Tb","zd","vd","od","ld","La","tc","Na","la","Sc","Eb","Qc","ia","ad","Za","Ob","$b","Ad","Gc","Hc","Dd","uc","Nb","wa","ya","aa","sc","Od","Kc","ed","Qa","Ic","$c","Aa","Xb","Va","Hb","zb","yb","Ub","za","Jc","pb","Pa","Bd","kc","Ac","Bc","zc","Gd","Hd","rb","sb","oc","sa","ta","qa","ra","Ha","Ia","Ec","ja","Vb","Fc","gd","ga","Fa","Cc","qc","Gb","Uc","nb","rc","Ga","Vc","put","ac","ha","Vd","kd","na","xa","gb","Ja","Sa","Lc","$a","ic","Predictor0","Predictor1","Predictor2","Predictor3","Predictor4","Predictor5","Predictor6","Predictor7","Predictor8","Predictor9","Predictor10","Predictor11","Predictor12","Predictor13","PredictorAdd0","PredictorAdd1","PredictorAdd2","ColorIndexInverseTransform","MapARGB","VP8LColorIndexInverseTransformAlpha","MapAlpha","VP8LPredictorsAdd","VP8LPredictors","VP8LPredictorsAdd_C","VP8LPredictors_C","UpsampleRgbLinePair","UpsampleBgrLinePair","UpsampleRgbaLinePair","UpsampleBgraLinePair","UpsampleArgbLinePair","UpsampleRgba4444LinePair","UpsampleRgb565LinePair","WebPDecodeRGBA","src_off","src_size","feature_flags","canvas_width","canvas_height","bgcolor","loop_count","offset_x","offset_y","blend","rgbaoutput","dataurl","loop_counter","imgwidth","imgheight","processPNG","processGIF89A","processGIF87A","fileSize","getUint32","reserved","headerSize","getInt32","planes","getUint16","bitPP","rawSize","importantColors","getUint8","quad","bit1","bit4","bit8","bit15","bit16","bit24","bit32","processBMP","processWEBP","processRGBA","setLanguage","languageSettings","isSubscribed","af","sq","hy","ast","az","eu","bg","my","zh","cv","fo","fj","fy","fur","gu","hu","iu","kk","km","ky","ko","mk","mo","nv","ng","om","pl","qu","rm","ru","sz","sg","sk","sw","tig","tk","uk","hsb","vo","xh","zu","languageCode","getCharWidthsArray","widths","Unicode","fof","kerning","widthOfString","widthOfGlyph","characterToGlyph","textIndent","lineIndent","__fontmetrics__","uncompress","WinAnsiEncoding","Courier","ZapfDingbats","existsFileInVFS","getFileFromVFS","TTFFont","glyIdsUsed","canvg","addSvgAsImage","ignoreMouse","ignoreAnimation","ignoreDimensions","fromString","putTotalPages","pdfEscape16","viewerPreferences","HideToolbar","explicitSet","valueSet","pdfVersion","HideMenubar","HideWindowUI","FitWindow","CenterWindow","DisplayDocTitle","NonFullScreenPageMode","Direction","ViewArea","ViewClip","PrintArea","PrintClip","PrintScaling","Duplex","PickTrayByPDFSize","PrintPageRange","NumCopies","viewerpreferences","configuration","__metadata__","namespaceuri","metadata_object_number","addMetadata","toUnicode","subset","PDFObject","bbox","stemV","italicAngle","ascender","decender","capHeight","rawData","hmtx","unitsPerEm","cmap","codeMap","vFS","addFileToVFS","__bidiEngine__","EN","AN","hiLevel","doBidiReorder","isInputVisual","isOutputVisual","isInputRtl","isOutputRtl","isSymmetricSwapping","readString","registerTTF","directory","hhea","maxp","os2","loca","glyf","exists","lineGap","xMin","yMin","xMax","yMax","italic_angle","xHeight","familyClass","isSerif","isScript","isFixedPitch","forGlyph","advance","readByte","writeByte","writeUInt32","readInt32","writeInt32","writeUInt16","readInt16","writeInt16","writeString","readShort","writeShort","readLongLong","writeLongLong","readInt","writeInt","scalarType","tableCount","searchRange","entrySelector","rangeShift","tables","checksum","__super__","revision","checkSumAdjustment","magicNumber","macStyle","lowestRecPPEM","fontDirectionHint","indexToLocFormat","glyphDataFormat","platformID","encodingID","language","isUnicode","new","charMap","subtable","maxGlyphID","LN2","advanceWidthMax","minLeftSideBearing","minRightSideBearing","xMaxExtent","caretSlopeRise","caretSlopeRun","caretOffset","metricDataFormat","numberOfMetrics","averageCharWidth","weightClass","widthClass","ySubscriptXSize","ySubscriptYSize","ySubscriptXOffset","ySubscriptYOffset","ySuperscriptXSize","ySuperscriptYSize","ySuperscriptXOffset","ySuperscriptYOffset","yStrikeoutSize","yStrikeoutPosition","panose","charRange","vendorID","firstCharIndex","lastCharIndex","ascent","descent","winAscent","winDescent","codePageRange","defaultChar","breakChar","maxContext","underlinePosition","underlineThickness","minMemType42","maxMemType42","minMemType1","maxMemType1","glyphNameIndex","numGlyphs","languageID","nameID","strings","fontSubfamily","uniqueSubfamily","postscriptName","trademark","manufacturer","designer","vendorUrl","designerUrl","license","licenseUrl","preferredFamily","preferredSubfamily","compatibleFull","sampleText","maxPoints","maxContours","maxCompositePoints","maxComponentContours","maxZones","maxTwilightPoints","maxStorage","maxFunctionDefs","maxInstructionDefs","maxStackElements","maxSizeOfInstructions","maxComponentElements","maxComponentDepth","metrics","lsb","leftSideBearings","glyphFor","lengthOf","numberOfContours","compound","glyphIDs","glyphOffsets","unicodes","generateCmap","glyphsFor","getUTCFullYear","getUTCMonth","getUTCDate","getUTCHours","getUTCMinutes","getUTCSeconds","sfc","FontFace","media","classes","vendor","fontfamily","projectId","api","urls","families","testStrings","latin","cyrillic","greek","khmer","Hanuman","thin","extralight","ultralight","light","regular","book","medium","semibold","demibold","bold","extrabold","ultrabold","heavy","Arimo","Cousine","Tinos","Typekit","__webfontfontdeckmodule__","custom","fontdeck","monotype","typekit","google","isCallable","tryToString","$TypeError","isPossiblePrototype","$String","uncurryThisAccessor","uncurryThis","arrayBufferByteLength","toIndex","isDetached","detachTransferable","PROPER_STRUCTURED_CLONE_TRANSFER","structuredClone","ArrayBufferPrototype","DataViewPrototype","isResizable","maxByteLength","getInt8","setInt8","arrayBuffer","preserveResizability","newBuffer","newByteLength","fixedLength","transfer","copyLength","Prototype","NATIVE_ARRAY_BUFFER","defineBuiltIn","defineBuiltInAccessor","isPrototypeOf","Int8ArrayPrototype","Uint8ClampedArrayPrototype","TypedArray","TypedArrayPrototype","TYPED_ARRAY_TAG","TYPED_ARRAY_CONSTRUCTOR","NATIVE_ARRAY_BUFFER_VIEWS","opera","TYPED_ARRAY_TAG_REQUIRED","TypedArrayConstructorsList","BigIntArrayConstructorsList","BigInt64Array","BigUint64Array","isView","getTypedArrayConstructor","isTypedArray","aTypedArray","aTypedArrayConstructor","exportTypedArrayMethod","ARRAY","TypedArrayConstructor","error2","exportTypedArrayStaticMethod","lengthOfArrayLike","$length","SILENT_ON_NON_WRITABLE_LENGTH_SET","toIntegerOrInfinity","$RangeError","RangeError","relativeIndex","actualIndex","stringSlice","$Object","exceptions","makeBuiltIn","defineGlobalProperty","nonConfigurable","nonWritable","WorkerThreads","$detach","tryNodeRequire","$ArrayBuffer","$MessageChannel","transferable","IS_DENO","IS_NODE","dontCallGetSet","NATIVE_BIND","getDescriptor","PROPER","CONFIGURABLE","aCallable","uncurryThisWithBind","isNullOrUndefined","getIteratorDirect","INVALID_SIZE","SetRecord","intSize","getIterator","numSize","documentAll","record","ITERATOR_INSTEAD_OF_RECORD","getMethod","innerResult","innerError","CONFIGURABLE_FUNCTION_NAME","CONFIGURABLE_LENGTH","arity","trunc","V8_PROTOTYPE_DEFINE_BUG","ENUMERABLE","WRITABLE","hasIndices","unicodeSets","SetHelpers","iterate","aSet","getSetRecord","iterateSet","iterateSimple","other","otherRec","SetPrototype","iteratorClose","interruptible","createSetLike","keysIter","V8","IS_BROWSER","prim","BigInt","passed","$transfer","transferToFixedLength","setArrayLength","doesNotExceedSafeInteger","INCORRECT_TO_LENGTH","properErrorOnNonWritableLength","argCount","regExpFlags","INDICES_SUPPORT","calls","expected","addGetter","pairs","difference","setMethodAcceptSetLike","real","intersection","INCORRECT","isDisjointFrom","isSubsetOf","isSupersetOf","symmetricDifference","union","arrayToReversed","ArrayBufferViewCore","arrayFromConstructorAndList","compareFn","arrayWith","isBigIntArray","toBigInt","PROPER_ORDER","actualValue","validateArgumentsLength","$URLSearchParams","URLSearchParams","URLSearchParamsPrototype","$delete","$value","dindex","found","entriesLength","$has","muted","loop","preload","objectFit","playsWhen","note","playbackRate"],"sourceRoot":""}