OSDN Git Service

Ver8.5.2.0
[opengion/opengionV8.git] / uap / webapps / gf / src / script / common / option / tesseract.min.js.map
index 4bcfb3d..24cbe11 100644 (file)
@@ -1 +1 @@
-{"version":3,"file":"tesseract.min.js","mappings":";CAAA,SAA2CA,EAAMC,GAC1B,iBAAZC,SAA0C,iBAAXC,OACxCA,OAAOD,QAAUD,IACQ,mBAAXG,QAAyBA,OAAOC,IAC9CD,OAAO,GAAIH,GACe,iBAAZC,QACdA,QAAmB,UAAID,IAEvBD,EAAgB,UAAIC,GACrB,CATD,CASGK,MAAM,+PCWTH,EAAOD,QAnBP,WAEI,MAAsB,oBAAXK,QAAoD,WAA1B,EAAOA,OAAOC,UAAgD,aAAxBD,OAAOC,QAAQC,QAKnE,oBAAZD,SAAuD,WAA5B,EAAOA,QAAQE,YAA2BF,QAAQE,SAASC,WAKxE,YAArB,oBAAOC,UAAP,cAAOA,aAAyD,iBAAxBA,UAAUC,WAA0BD,UAAUC,UAAUC,QAAQ,aAAe,CAK9H,uPCXD,IAAIC,EAAW,SAAUb,GACvB,aAEA,IAEIc,EAFAC,EAAKC,OAAOC,UACZC,EAASH,EAAGI,eAEZC,EAA4B,mBAAXC,OAAwBA,OAAS,CAAC,EACnDC,EAAiBF,EAAQG,UAAY,aACrCC,EAAsBJ,EAAQK,eAAiB,kBAC/CC,EAAoBN,EAAQO,aAAe,gBAE/C,SAASzB,EAAO0B,EAAKC,EAAKC,GAOxB,OANAd,OAAOe,eAAeH,EAAKC,EAAK,CAC9BC,MAAOA,EACPE,YAAY,EACZC,cAAc,EACdC,UAAU,IAELN,EAAIC,EACZ,CACD,IAEE3B,EAAO,CAAC,EAAG,GAKZ,CAJC,MAAOiC,GACPjC,EAAS,SAAS0B,EAAKC,EAAKC,GAC1B,OAAOF,EAAIC,GAAOC,CACnB,CACF,CAED,SAASM,EAAKC,EAASC,EAASlC,EAAMmC,GAEpC,IAAIC,EAAiBF,GAAWA,EAAQrB,qBAAqBwB,EAAYH,EAAUG,EAC/EC,EAAY1B,OAAO2B,OAAOH,EAAevB,WACzC2B,EAAU,IAAIC,EAAQN,GAAe,IAMzC,OAFAG,EAAUI,QAuMZ,SAA0BT,EAASjC,EAAMwC,GACvC,IAAIG,EAAQC,EAEZ,OAAO,SAAgBC,EAAQC,GAC7B,GAAIH,IAAUI,EACZ,MAAM,IAAIC,MAAM,gCAGlB,GAAIL,IAAUM,EAAmB,CAC/B,GAAe,UAAXJ,EACF,MAAMC,EAKR,OAAOI,GACR,CAKD,IAHAV,EAAQK,OAASA,EACjBL,EAAQM,IAAMA,IAED,CACX,IAAIK,EAAWX,EAAQW,SACvB,GAAIA,EAAU,CACZ,IAAIC,EAAiBC,EAAoBF,EAAUX,GACnD,GAAIY,EAAgB,CAClB,GAAIA,IAAmBE,EAAkB,SACzC,OAAOF,CACR,CACF,CAED,GAAuB,SAAnBZ,EAAQK,OAGVL,EAAQe,KAAOf,EAAQgB,MAAQhB,EAAQM,SAElC,GAAuB,UAAnBN,EAAQK,OAAoB,CACrC,GAAIF,IAAUC,EAEZ,MADAD,EAAQM,EACFT,EAAQM,IAGhBN,EAAQiB,kBAAkBjB,EAAQM,IAEnC,KAA6B,WAAnBN,EAAQK,QACjBL,EAAQkB,OAAO,SAAUlB,EAAQM,KAGnCH,EAAQI,EAER,IAAIY,EAASC,EAAS3B,EAASjC,EAAMwC,GACrC,GAAoB,WAAhBmB,EAAOxD,KAAmB,CAO5B,GAJAwC,EAAQH,EAAQqB,KACZZ,EACAa,EAEAH,EAAOb,MAAQQ,EACjB,SAGF,MAAO,CACL5B,MAAOiC,EAAOb,IACde,KAAMrB,EAAQqB,KAGjB,CAA0B,UAAhBF,EAAOxD,OAChBwC,EAAQM,EAGRT,EAAQK,OAAS,QACjBL,EAAQM,IAAMa,EAAOb,IAExB,CACF,CACF,CAnRqBiB,CAAiB9B,EAASjC,EAAMwC,GAE7CF,CACR,CAaD,SAASsB,EAASI,EAAIxC,EAAKsB,GACzB,IACE,MAAO,CAAE3C,KAAM,SAAU2C,IAAKkB,EAAGC,KAAKzC,EAAKsB,GAG5C,CAFC,MAAOf,GACP,MAAO,CAAE5B,KAAM,QAAS2C,IAAKf,EAC9B,CACF,CAlBDnC,EAAQoC,KAAOA,EAoBf,IAAIY,EAAyB,iBACzBkB,EAAyB,iBACzBf,EAAoB,YACpBE,EAAoB,YAIpBK,EAAmB,CAAC,EAMxB,SAASjB,IAAc,CACvB,SAAS6B,IAAsB,CAC/B,SAASC,IAA+B,CAIxC,IAAIC,EAAoB,CAAC,EACzBtE,EAAOsE,EAAmBlD,GAAgB,WACxC,OAAOmD,IACR,IAED,IAAIC,EAAW1D,OAAO2D,eAClBC,EAA0BF,GAAYA,EAASA,EAASG,EAAO,MAC/DD,GACAA,IAA4B7D,GAC5BG,EAAOmD,KAAKO,EAAyBtD,KAGvCkD,EAAoBI,GAGtB,IAAIE,EAAKP,EAA2BtD,UAClCwB,EAAUxB,UAAYD,OAAO2B,OAAO6B,GAYtC,SAASO,EAAsB9D,GAC7B,CAAC,OAAQ,QAAS,UAAU+D,SAAQ,SAAS/B,GAC3C/C,EAAOe,EAAWgC,GAAQ,SAASC,GACjC,OAAOuB,KAAK3B,QAAQG,EAAQC,EAC7B,GACF,GACF,CA+BD,SAAS+B,EAAcvC,EAAWwC,GAChC,SAASC,EAAOlC,EAAQC,EAAKkC,EAASC,GACpC,IAAItB,EAASC,EAAStB,EAAUO,GAASP,EAAWQ,GACpD,GAAoB,UAAhBa,EAAOxD,KAEJ,CACL,IAAI+E,EAASvB,EAAOb,IAChBpB,EAAQwD,EAAOxD,MACnB,OAAIA,GACiB,WAAjB,EAAOA,IACPZ,EAAOmD,KAAKvC,EAAO,WACdoD,EAAYE,QAAQtD,EAAMyD,SAASC,MAAK,SAAS1D,GACtDqD,EAAO,OAAQrD,EAAOsD,EAASC,EAChC,IAAE,SAASlD,GACVgD,EAAO,QAAShD,EAAKiD,EAASC,EAC/B,IAGIH,EAAYE,QAAQtD,GAAO0D,MAAK,SAASC,GAI9CH,EAAOxD,MAAQ2D,EACfL,EAAQE,EACT,IAAE,SAASI,GAGV,OAAOP,EAAO,QAASO,EAAON,EAASC,EACxC,GACF,CAzBCA,EAAOtB,EAAOb,IA0BjB,CAED,IAAIyC,EAgCJlB,KAAK3B,QA9BL,SAAiBG,EAAQC,GACvB,SAAS0C,IACP,OAAO,IAAIV,GAAY,SAASE,EAASC,GACvCF,EAAOlC,EAAQC,EAAKkC,EAASC,EAC9B,GACF,CAED,OAAOM,EAaLA,EAAkBA,EAAgBH,KAChCI,EAGAA,GACEA,GACP,CAKF,CA4GD,SAASnC,EAAoBF,EAAUX,GACrC,IAAIK,EAASM,EAAShC,SAASqB,EAAQK,QACvC,GAAIA,IAAWnC,EAAW,CAKxB,GAFA8B,EAAQW,SAAW,KAEI,UAAnBX,EAAQK,OAAoB,CAE9B,GAAIM,EAAShC,SAAT,SAGFqB,EAAQK,OAAS,SACjBL,EAAQM,IAAMpC,EACd2C,EAAoBF,EAAUX,GAEP,UAAnBA,EAAQK,QAGV,OAAOS,EAIXd,EAAQK,OAAS,QACjBL,EAAQM,IAAM,IAAI2C,UAChB,iDACH,CAED,OAAOnC,CACR,CAED,IAAIK,EAASC,EAASf,EAAQM,EAAShC,SAAUqB,EAAQM,KAEzD,GAAoB,UAAhBa,EAAOxD,KAIT,OAHAqC,EAAQK,OAAS,QACjBL,EAAQM,IAAMa,EAAOb,IACrBN,EAAQW,SAAW,KACZG,EAGT,IAAIoC,EAAO/B,EAAOb,IAElB,OAAM4C,EAOFA,EAAK7B,MAGPrB,EAAQW,EAASwC,YAAcD,EAAKhE,MAGpCc,EAAQoD,KAAOzC,EAAS0C,QAQD,WAAnBrD,EAAQK,SACVL,EAAQK,OAAS,OACjBL,EAAQM,IAAMpC,GAUlB8B,EAAQW,SAAW,KACZG,GANEoC,GA3BPlD,EAAQK,OAAS,QACjBL,EAAQM,IAAM,IAAI2C,UAAU,oCAC5BjD,EAAQW,SAAW,KACZG,EA+BV,CAqBD,SAASwC,EAAaC,GACpB,IAAIC,EAAQ,CAAEC,OAAQF,EAAK,IAEvB,KAAKA,IACPC,EAAME,SAAWH,EAAK,IAGpB,KAAKA,IACPC,EAAMG,WAAaJ,EAAK,GACxBC,EAAMI,SAAWL,EAAK,IAGxB1B,KAAKgC,WAAWC,KAAKN,EACtB,CAED,SAASO,EAAcP,GACrB,IAAIrC,EAASqC,EAAMQ,YAAc,CAAC,EAClC7C,EAAOxD,KAAO,gBACPwD,EAAOb,IACdkD,EAAMQ,WAAa7C,CACpB,CAED,SAASlB,EAAQN,GAIfkC,KAAKgC,WAAa,CAAC,CAAEJ,OAAQ,SAC7B9D,EAAYyC,QAAQkB,EAAczB,MAClCA,KAAKoC,OAAM,EACZ,CA6BD,SAAShC,EAAOiC,GACd,GAAIA,EAAU,CACZ,IAAIC,EAAiBD,EAASxF,GAC9B,GAAIyF,EACF,OAAOA,EAAe1C,KAAKyC,GAG7B,GAA6B,mBAAlBA,EAASd,KAClB,OAAOc,EAGT,IAAKE,MAAMF,EAASG,QAAS,CAC3B,IAAIC,GAAK,EAAGlB,EAAO,SAASA,IAC1B,OAASkB,EAAIJ,EAASG,QACpB,GAAI/F,EAAOmD,KAAKyC,EAAUI,GAGxB,OAFAlB,EAAKlE,MAAQgF,EAASI,GACtBlB,EAAK/B,MAAO,EACL+B,EAOX,OAHAA,EAAKlE,MAAQhB,EACbkF,EAAK/B,MAAO,EAEL+B,CACR,EAED,OAAOA,EAAKA,KAAOA,CACpB,CACF,CAGD,MAAO,CAAEA,KAAM1C,EAChB,CAGD,SAASA,IACP,MAAO,CAAExB,MAAOhB,EAAWmD,MAAM,EAClC,CA8MD,OA7mBAK,EAAkBrD,UAAYsD,EAC9BrE,EAAO4E,EAAI,cAAeP,GAC1BrE,EAAOqE,EAA4B,cAAeD,GAClDA,EAAkB6C,YAAcjH,EAC9BqE,EACA7C,EACA,qBAaF1B,EAAQoH,oBAAsB,SAASC,GACrC,IAAIC,EAAyB,mBAAXD,GAAyBA,EAAOE,YAClD,QAAOD,IACHA,IAAShD,GAG2B,uBAAnCgD,EAAKH,aAAeG,EAAKE,MAE/B,EAEDxH,EAAQyH,KAAO,SAASJ,GAQtB,OAPIrG,OAAO0G,eACT1G,OAAO0G,eAAeL,EAAQ9C,IAE9B8C,EAAOM,UAAYpD,EACnBrE,EAAOmH,EAAQ3F,EAAmB,sBAEpC2F,EAAOpG,UAAYD,OAAO2B,OAAOmC,GAC1BuC,CACR,EAMDrH,EAAQ4H,MAAQ,SAAS1E,GACvB,MAAO,CAAEqC,QAASrC,EACnB,EAqED6B,EAAsBE,EAAchE,WACpCf,EAAO+E,EAAchE,UAAWO,GAAqB,WACnD,OAAOiD,IACR,IACDzE,EAAQiF,cAAgBA,EAKxBjF,EAAQ6H,MAAQ,SAASxF,EAASC,EAASlC,EAAMmC,EAAa2C,QACxC,IAAhBA,IAAwBA,EAAc4C,SAE1C,IAAIC,EAAO,IAAI9C,EACb7C,EAAKC,EAASC,EAASlC,EAAMmC,GAC7B2C,GAGF,OAAOlF,EAAQoH,oBAAoB9E,GAC/ByF,EACAA,EAAK/B,OAAOR,MAAK,SAASF,GACxB,OAAOA,EAAOrB,KAAOqB,EAAOxD,MAAQiG,EAAK/B,MAC1C,GACN,EAqKDjB,EAAsBD,GAEtB5E,EAAO4E,EAAIpD,EAAmB,aAO9BxB,EAAO4E,EAAIxD,GAAgB,WACzB,OAAOmD,IACR,IAEDvE,EAAO4E,EAAI,YAAY,WACrB,MAAO,oBACR,IAiCD9E,EAAQgI,KAAO,SAASC,GACtB,IAAID,EAAO,GACX,IAAK,IAAInG,KAAOoG,EACdD,EAAKtB,KAAK7E,GAMZ,OAJAmG,EAAKE,UAIE,SAASlC,IACd,KAAOgC,EAAKf,QAAQ,CAClB,IAAIpF,EAAMmG,EAAKG,MACf,GAAItG,KAAOoG,EAGT,OAFAjC,EAAKlE,MAAQD,EACbmE,EAAK/B,MAAO,EACL+B,CAEV,CAMD,OADAA,EAAK/B,MAAO,EACL+B,CACR,CACF,EAoCDhG,EAAQ6E,OAASA,EAMjBhC,EAAQ5B,UAAY,CAClBsG,YAAa1E,EAEbgE,MAAO,SAASuB,GAcd,GAbA3D,KAAK4D,KAAO,EACZ5D,KAAKuB,KAAO,EAGZvB,KAAKd,KAAOc,KAAKb,MAAQ9C,EACzB2D,KAAKR,MAAO,EACZQ,KAAKlB,SAAW,KAEhBkB,KAAKxB,OAAS,OACdwB,KAAKvB,IAAMpC,EAEX2D,KAAKgC,WAAWzB,QAAQ2B,IAEnByB,EACH,IAAK,IAAIZ,KAAQ/C,KAEQ,MAAnB+C,EAAKc,OAAO,IACZpH,EAAOmD,KAAKI,KAAM+C,KACjBR,OAAOQ,EAAKe,MAAM,MACrB9D,KAAK+C,GAAQ1G,EAIpB,EAED0H,KAAM,WACJ/D,KAAKR,MAAO,EAEZ,IACIwE,EADYhE,KAAKgC,WAAW,GACLG,WAC3B,GAAwB,UAApB6B,EAAWlI,KACb,MAAMkI,EAAWvF,IAGnB,OAAOuB,KAAKiE,IACb,EAED7E,kBAAmB,SAAS8E,GAC1B,GAAIlE,KAAKR,KACP,MAAM0E,EAGR,IAAI/F,EAAU6B,KACd,SAASmE,EAAOC,EAAKC,GAYnB,OAXA/E,EAAOxD,KAAO,QACdwD,EAAOb,IAAMyF,EACb/F,EAAQoD,KAAO6C,EAEXC,IAGFlG,EAAQK,OAAS,OACjBL,EAAQM,IAAMpC,KAGNgI,CACX,CAED,IAAK,IAAI5B,EAAIzC,KAAKgC,WAAWQ,OAAS,EAAGC,GAAK,IAAKA,EAAG,CACpD,IAAId,EAAQ3B,KAAKgC,WAAWS,GACxBnD,EAASqC,EAAMQ,WAEnB,GAAqB,SAAjBR,EAAMC,OAIR,OAAOuC,EAAO,OAGhB,GAAIxC,EAAMC,QAAU5B,KAAK4D,KAAM,CAC7B,IAAIU,EAAW7H,EAAOmD,KAAK+B,EAAO,YAC9B4C,EAAa9H,EAAOmD,KAAK+B,EAAO,cAEpC,GAAI2C,GAAYC,EAAY,CAC1B,GAAIvE,KAAK4D,KAAOjC,EAAME,SACpB,OAAOsC,EAAOxC,EAAME,UAAU,GACzB,GAAI7B,KAAK4D,KAAOjC,EAAMG,WAC3B,OAAOqC,EAAOxC,EAAMG,WAGvB,MAAM,GAAIwC,GACT,GAAItE,KAAK4D,KAAOjC,EAAME,SACpB,OAAOsC,EAAOxC,EAAME,UAAU,OAG3B,KAAI0C,EAMT,MAAM,IAAI5F,MAAM,0CALhB,GAAIqB,KAAK4D,KAAOjC,EAAMG,WACpB,OAAOqC,EAAOxC,EAAMG,WAKvB,CACF,CACF,CACF,EAEDzC,OAAQ,SAASvD,EAAM2C,GACrB,IAAK,IAAIgE,EAAIzC,KAAKgC,WAAWQ,OAAS,EAAGC,GAAK,IAAKA,EAAG,CACpD,IAAId,EAAQ3B,KAAKgC,WAAWS,GAC5B,GAAId,EAAMC,QAAU5B,KAAK4D,MACrBnH,EAAOmD,KAAK+B,EAAO,eACnB3B,KAAK4D,KAAOjC,EAAMG,WAAY,CAChC,IAAI0C,EAAe7C,EACnB,KACD,CACF,CAEG6C,IACU,UAAT1I,GACS,aAATA,IACD0I,EAAa5C,QAAUnD,GACvBA,GAAO+F,EAAa1C,aAGtB0C,EAAe,MAGjB,IAAIlF,EAASkF,EAAeA,EAAarC,WAAa,CAAC,EAIvD,OAHA7C,EAAOxD,KAAOA,EACdwD,EAAOb,IAAMA,EAET+F,GACFxE,KAAKxB,OAAS,OACdwB,KAAKuB,KAAOiD,EAAa1C,WAClB7C,GAGFe,KAAKyE,SAASnF,EACtB,EAEDmF,SAAU,SAASnF,EAAQyC,GACzB,GAAoB,UAAhBzC,EAAOxD,KACT,MAAMwD,EAAOb,IAcf,MAXoB,UAAhBa,EAAOxD,MACS,aAAhBwD,EAAOxD,KACTkE,KAAKuB,KAAOjC,EAAOb,IACM,WAAhBa,EAAOxD,MAChBkE,KAAKiE,KAAOjE,KAAKvB,IAAMa,EAAOb,IAC9BuB,KAAKxB,OAAS,SACdwB,KAAKuB,KAAO,OACa,WAAhBjC,EAAOxD,MAAqBiG,IACrC/B,KAAKuB,KAAOQ,GAGP9C,CACR,EAEDyF,OAAQ,SAAS5C,GACf,IAAK,IAAIW,EAAIzC,KAAKgC,WAAWQ,OAAS,EAAGC,GAAK,IAAKA,EAAG,CACpD,IAAId,EAAQ3B,KAAKgC,WAAWS,GAC5B,GAAId,EAAMG,aAAeA,EAGvB,OAFA9B,KAAKyE,SAAS9C,EAAMQ,WAAYR,EAAMI,UACtCG,EAAcP,GACP1C,CAEV,CACF,EAED,MAAS,SAAS2C,GAChB,IAAK,IAAIa,EAAIzC,KAAKgC,WAAWQ,OAAS,EAAGC,GAAK,IAAKA,EAAG,CACpD,IAAId,EAAQ3B,KAAKgC,WAAWS,GAC5B,GAAId,EAAMC,SAAWA,EAAQ,CAC3B,IAAItC,EAASqC,EAAMQ,WACnB,GAAoB,UAAhB7C,EAAOxD,KAAkB,CAC3B,IAAI6I,EAASrF,EAAOb,IACpByD,EAAcP,EACf,CACD,OAAOgD,CACR,CACF,CAID,MAAM,IAAIhG,MAAM,wBACjB,EAEDiG,cAAe,SAASvC,EAAUf,EAAYE,GAa5C,OAZAxB,KAAKlB,SAAW,CACdhC,SAAUsD,EAAOiC,GACjBf,WAAYA,EACZE,QAASA,GAGS,SAAhBxB,KAAKxB,SAGPwB,KAAKvB,IAAMpC,GAGN4C,CACR,GAOI1D,CAER,CAhtBc,CAqtBK,WAAlB,cAA6BC,EAAOD,QAAU,CAAC,GAGjD,IACEsJ,mBAAqBzI,CAiBtB,CAhBC,MAAO0I,GAWmB,YAAtB,oBAAOC,WAAP,cAAOA,aACTA,WAAWF,mBAAqBzI,EAEhC4I,SAAS,IAAK,yBAAdA,CAAwC5I,EAE3C,+BC5uBGX,EAMI,WAiCN,OA/BA,WACE,IAAIwJ,EAAUC,UAAU1C,OAExB,GAAgB,IAAZyC,EACF,MAAM,IAAItG,MAAM,wDAGlB,IAAIwG,EAAOC,SAASC,cAAc,QAGlC,GAFAF,EAAKG,KAAOJ,UAAU,GAEN,IAAZD,EACF,OAAOE,EAAKG,KAGd,IAAIC,EAAOH,SAASI,qBAAqB,QAAQ,GACjDD,EAAKE,aAAaN,EAAMI,EAAKG,YAK7B,IAHA,IACIC,EADAC,EAAIR,SAASC,cAAc,KAGtBQ,EAAQ,EAAGA,EAAQZ,EAASY,IACnCD,EAAEN,KAAOJ,UAAUW,GACnBF,EAAWC,EAAEN,KACbH,EAAKG,KAAOK,EAKd,OAFAJ,EAAKO,YAAYX,GAEVQ,CACR,CAIF,OAzCS,sTCJV,smNADA,IAAMI,EAAeC,EAAQ,KAEvBC,EAAS,6BAAG,WAAOC,EAAOC,EAAOC,GAArB,uFACKL,EAAaK,GADlB,cACVC,EADU,gBAEVA,EAAOC,aAAaH,GAFV,uBAGVE,EAAOE,WAAWJ,GAHR,gCAITE,EAAOJ,UAAUC,GACrBM,QADI,YACI,8FACDH,EAAOI,YADN,6CALK,2CAAH,0DAUTC,EAAM,6BAAG,WAAOR,EAAOE,GAAd,uFACQL,EAAaK,GADrB,cACPC,EADO,gBAEPA,EAAOC,aAAa,OAFb,uBAGPD,EAAOE,WAAW,OAHX,gCAINF,EAAOK,OAAOR,GAClBM,QADI,YACI,8FACDH,EAAOI,YADN,6CALE,2CAAH,wDAUZjL,EAAOD,QAAU,CACf0K,UAAAA,EACAS,OAAAA,YClBFlL,EAAOD,QAAU,CACfoL,eAAgB,EAChBC,UAAW,EACXC,wBAAyB,EACzBC,QAAS,YCPXtL,EAAOD,QAAU,CACfwL,SAAU,IACVC,SAAU,IACVC,UAAW,IACXC,KAAM,IACNC,cAAe,IACfC,uBAAwB,IACxBC,aAAc,IACdC,YAAa,IACbC,YAAa,IACbC,YAAa,IACbC,YAAa,KACbC,YAAa,KACbC,gBAAiB,KACjBC,SAAU,qBCjBZ,IAAMC,EAAM7B,EAAQ,KAEpBxK,EAAOD,QAAU,CACfuM,WAAYD,EAAIf,kBCHlBtL,EAAOD,QAAU,CAIfwM,SAAU,2CAMVC,eAAe,EACfC,OAAQ,WAAQ,UCuGlBzM,EAAOD,QAAU,CACf2M,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,SAAU,WACVC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,QAAS,UACTC,QAAS,UACTC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,QAAS,UACTC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,QAAS,UACTC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,QAAS,UACTC,IAAK,MACLC,IAAK,MACLC,SAAU,WACVC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,SAAU,WACVC,IAAK,MACLC,IAAK,sBCxNP,IAAMC,EAAQxI,EAAQ,KAElByI,EAAa,EAEjBjT,EAAOD,QAAU,YAIX,IAHAmT,EAGA,EAHJC,GACAC,EAEI,EAFJA,OAEI,IADJC,QAAAA,OACI,MADM,CAAC,EACP,EACAF,EAAKD,EAMT,YALkB,IAAPC,IACTA,EAAKH,EAAM,MAAOC,GAClBA,GAAc,GAGT,CACLE,GAAAA,EACAC,OAAAA,EACAC,QAAAA,EAEH,kSCnBD,gtNADA,IAAMC,EAAY9I,EAAQ,KAClB+I,EAAQ/I,EAAQ,KAAhB+I,IACFP,EAAQxI,EAAQ,KAElBgJ,EAAmB,EAEvBxT,EAAOD,QAAU,WACf,IAAMoT,EAAKH,EAAM,YAAaQ,GACxBC,EAAU,CAAC,EACXC,EAAiB,CAAC,EACpBC,EAAW,GAEfH,GAAoB,EAEpB,IACMI,EAAgB,kBAAM7S,OAAOgH,KAAK0L,GAASzM,MAA3B,EAEhB6M,EAAU,WACd,GAAwB,IAApBF,EAAS3M,OAEX,IADA,IAAM8M,EAAO/S,OAAOgH,KAAK0L,GAChBxM,EAAI,EAAGA,EAAI6M,EAAK9M,OAAQC,GAAK,EACpC,QAAuC,IAA5ByM,EAAeI,EAAK7M,IAAqB,CAClD0M,EAAS,GAAGF,EAAQK,EAAK7M,KACzB,KACD,CAGN,EAEK8M,EAAQ,SAACX,EAAQC,GAAT,OACZ,IAAIxL,SAAQ,SAAC1C,EAASC,GACpB,IAAM4O,EAAMV,EAAU,CAAEF,OAAAA,EAAQC,QAAAA,IAChCM,EAASlN,KAAT,6BAAc,WAAOwN,GAAP,wEACZN,EAASO,QACTR,EAAeO,EAAEd,IAAMa,EAFX,cAIV7O,EAJU,SAII8O,EAAEb,GAAQe,MAAM,EAAhB,yDAA0Bd,okBAA1B,CAAmCW,EAAIb,MAJ3C,oFAMV/N,EAAO,EAAD,IANI,gCAQHsO,EAAeO,EAAEd,IACxBU,IATU,kFAAd,uDAYAN,EAAI,IAAD,OAAKJ,EAAL,kBAAiBa,EAAIb,GAArB,iBACHI,EAAI,IAAD,OAAKJ,EAAL,8BAA6BQ,EAAS3M,SACzC6M,GACD,GAlBW,EA6BRO,EAAM,6BAAG,WAAOhB,GAAP,0FACW,IAApBQ,IADS,sBAELzQ,MAAM,IAAD,OAAKgQ,EAAL,+DAFA,sBAAkBE,EAAlB,iCAAkBA,EAAlB,mCAINU,EAAMX,EAAQC,IAJR,2CAAH,sDAONpI,EAAS,6BAAG,8EAChBlK,OAAOgH,KAAK0L,GAAS1O,QAArB,6BAA6B,WAAOsP,GAAP,iFACrBZ,EAAQY,GAAKpJ,YADQ,2CAA7B,uDAGA0I,EAAW,GAJK,2CAAH,qDAOf,MAAO,CACLW,UAvBgB,SAACL,GAKjB,OAJAR,EAAQQ,EAAEd,IAAMc,EAChBV,EAAI,IAAD,OAAKJ,EAAL,kBAAiBc,EAAEd,KACtBI,EAAI,IAAD,OAAKJ,EAAL,gCAA+BS,MAClCC,IACOI,EAAEd,EACV,EAkBCiB,OAAAA,EACAnJ,UAAAA,EACAsJ,YA9DkB,kBAAMZ,EAAS3M,MAAf,EA+DlB4M,cAAAA,EAEH,iTC9ED,ipPADA,IAAMY,EAAehK,EAAQ,KACvBiK,EAAcjK,EAAQ,KACtB8I,EAAY9I,EAAQ,KAClB+I,EAAQ/I,EAAQ,KAAhB+I,IACFP,EAAQxI,EAAQ,KACd8B,EAAe9B,EAAQ,KAAvB8B,WACR,EAOI9B,EAAQ,KANVkK,EADF,EACEA,eACAC,EAFF,EAEEA,YACAC,EAHF,EAGEA,gBACAC,EAJF,EAIEA,UACAC,EALF,EAKEA,UACAC,EANF,EAMEA,KAGEC,EAAgB,EAEpBhV,EAAOD,QAAP,YAAiB,iKAAOkV,EAAP,+BAAkB,CAAC,EAC5B9B,EAAKH,EAAM,SAAUgC,GADZ,EAMXR,EAAa,EAAD,KACXE,GACAO,IALHxI,EAHa,EAGbA,OACAyI,EAJa,EAIbA,aACGtK,EALU,OAUTuK,EAAW,CAAC,EACZC,EAAU,CAAC,EAIXC,EAAY,IAAIxN,SAAQ,SAAC1C,EAASC,GACtCkQ,EAAmBnQ,EACnBoQ,EAAkBnQ,CACnB,IACKoQ,EAAc,SAACC,GAAYF,EAAgBE,EAAMC,QAAW,GAE9D7K,EAAS8J,EAAY/J,IAClB+K,QAAUH,EAEjBR,GAAiB,EAEXY,EAAa,SAACxC,EAAQyC,GAC1BV,EAAS/B,GAAUyC,CACpB,EAEKC,EAAY,SAAC1C,EAAQ2C,GACzBX,EAAQhC,GAAU2C,CACnB,EAEKC,EAAW,SAAC,GAAD,IAAOC,EAAP,EAAG9C,GAAWC,EAAd,EAAcA,OAAQC,EAAtB,EAAsBA,QAAtB,OACf,IAAIxL,SAAQ,SAAC1C,EAASC,GACpBmO,EAAI,IAAD,OAAKJ,EAAL,oBAAmB8C,EAAnB,oBAAoC7C,IACvCwC,EAAWxC,EAAQjO,GACnB2Q,EAAU1C,EAAQhO,GAClB2P,EAAKlK,EAAQ,CACXqL,SAAU/C,EACV8C,MAAAA,EACA7C,OAAAA,EACAC,QAAAA,GAEH,GAXc,EAcX8C,EAAO,kBACXC,QAAQC,KAAK,sFADF,EAIPC,EAAe,SAACL,GAAD,OACnBD,EAAS1C,EAAU,CACjBH,GAAI8C,EAAO7C,OAAQ,OAAQC,QAAS,CAAEzI,QAAAA,KAFrB,EAMf2L,EAAY,SAACC,EAAMC,EAAMR,GAAb,OAChBD,EAAS1C,EAAU,CACjBH,GAAI8C,EACJ7C,OAAQ,KACRC,QAAS,CAAErQ,OAAQ,YAAa0T,KAAM,CAACF,EAAMC,MAJ/B,EAQZE,EAAW,SAACH,EAAMP,GAAP,OACfD,EAAS1C,EAAU,CACjBH,GAAI8C,EACJ7C,OAAQ,KACRC,QAAS,CAAErQ,OAAQ,WAAY0T,KAAM,CAACF,EAAM,CAAEI,SAAU,YAJ3C,EAQXC,EAAa,SAACL,EAAMP,GAAP,OACjBD,EAAS1C,EAAU,CACjBH,GAAI8C,EACJ7C,OAAQ,KACRC,QAAS,CAAErQ,OAAQ,SAAU0T,KAAM,CAACF,MAJrB,EAQbM,EAAK,SAAC9T,EAAQ0T,EAAMT,GAAf,OACTD,EAAS1C,EAAU,CACjBH,GAAI8C,EACJ7C,OAAQ,KACRC,QAAS,CAAErQ,OAAAA,EAAQ0T,KAAAA,KAJZ,EAQL5L,EAAe,eAACH,EAAD,uDAAS,MAAOsL,EAAhB,8CACnBD,EAAS1C,EAAU,CACjBH,GAAI8C,EACJ7C,OAAQ,eACRC,QAAS,CAAE1I,MAAAA,EAAOC,QAAAA,KAJD,EAQfG,EAAa,eAACJ,EAAD,uDAAS,MAAOoM,EAAhB,uDAAsBzK,EAAY0K,EAAlC,uCAA0Cf,EAA1C,8CACjBD,EAAS1C,EAAU,CACjBH,GAAI8C,EACJ7C,OAAQ,aACRC,QAAS,CAAE1I,MAAAA,EAAOoM,IAAAA,EAAKC,OAAAA,KAJR,EAQbC,EAAgB,eAACC,EAAD,uDAAU,CAAC,EAAGjB,EAAd,8CACpBD,EAAS1C,EAAU,CACjBH,GAAI8C,EACJ7C,OAAQ,gBACRC,QAAS,CAAE6D,OAAAA,KAJO,EAQhBzM,EAlHS,6BAkHG,WAAOC,GAAP,8FAAcyM,EAAd,+BAAqB,CAAC,EAAGC,EAAzB,+BAAkC,CAClDC,QAAQ,EAAMZ,MAAM,EAAMa,MAAM,EAAMC,KAAK,GAC1CtB,EAFe,4BAGhBD,EAHgB,KAGP1C,EAHO,KAIV2C,EAJU,SAMUnB,EAAUpK,GANpB,+BAMqCyM,EANrC,KAM2CC,EAN3C,MAMH1M,MANG,KAM4BE,QAN5B,KAM2CwM,OAN3C,YAIdjE,GAJc,KAKdC,OAAQ,YACRC,QANc,wGAlHH,sDA4HTmE,EAAS,WAA6D,IAA5DC,EAA4D,uDAApD,uBAAwBC,EAA4B,wDAAVzB,EAAU,uCAE1E,OADAG,QAAQ7C,IAAI,0FACLyC,EAAS1C,EAAU,CACxBH,GAAI8C,EACJ7C,OAAQ,SACRC,QAAS,CAAEoE,MAAAA,EAAOC,SAAAA,KAErB,EAEKxM,EArIS,6BAqIA,WAAOR,EAAOuL,GAAd,6EACbD,EADa,KACJ1C,EADI,KAEP2C,EAFO,SAIanB,EAAUpK,GAJvB,gCAIAA,MAJA,YAEXyI,GAFW,KAGXC,OAAQ,SACRC,QAJW,wGArIA,wDA6ITpI,EA7IS,6BA6IG,qFACD,OAAXJ,IAOF+J,EAAgB/J,GAChBA,EAAS,MATK,kBAWThD,QAAQ1C,WAXC,2CA7IH,qDA2Jf0P,EAAUhK,GAAQ,YAEZ,IADJqL,EACI,EADJA,SAAUD,EACN,EADMA,MAAO0B,EACb,EADaA,OAAQvE,EACrB,EADqBA,OAAQwE,EAC7B,EAD6BA,KAEjC,GAAe,YAAXD,EAAsB,CACxBpE,EAAI,IAAD,OAAK2C,EAAL,uBAA4BD,IAC/B,IAAI4B,EAAID,EACO,cAAXxE,EACFyE,EAAIpD,EAAYmD,GACI,WAAXxE,IACTyE,EAAIC,MAAMC,KAAN,OAAgBH,GAAhB,IAAsB5Q,OAAQjG,OAAOgH,KAAK6P,GAAM5Q,WAEtDmO,EAAS/B,GAAQ,CAAE6C,MAAAA,EAAO2B,KAAMC,GACjC,MAAM,GAAe,WAAXF,EAAqB,CAG9B,GAFAvC,EAAQhC,GAAQwE,GACD,SAAXxE,GAAmBmC,EAAgBqC,IACnC1C,EAGF,MAAM/R,MAAMyU,GAFZ1C,EAAa0C,EAIhB,KAAqB,aAAXD,GACTlL,EAAO,EAAD,KAAMmL,GAAN,IAAYI,UAAW/B,IAEhC,IAEKgC,EAAa,CACjB9E,GAAAA,EACAtI,OAAAA,EACA+K,WAAAA,EACAE,UAAAA,EACAK,KAAAA,EACAI,UAAAA,EACAI,SAAAA,EACAE,WAAAA,EACAC,GAAAA,EACAhM,aAAAA,EACAC,WAAAA,EACAkM,cAAAA,EACAxM,UAAAA,EACA+M,OAAAA,EACAtM,OAAAA,EACAD,UAAAA,GAGFqL,IAAe/Q,MAAK,kBAAM+P,EAAiB2C,EAAvB,IAAoCC,OAAM,WAAQ,IAvMvD,kBAyMR7C,GAzMQ,iZCRjB7K,EAAQ,KACR,IAAM2N,EAAkB3N,EAAQ,KAC1BD,EAAeC,EAAQ,KACvB4N,EAAY5N,EAAQ,KACpB6N,EAAY7N,EAAQ,GACpB6B,EAAM7B,EAAQ,KACd8N,EAAM9N,EAAQ,KACZ+N,EAAe/N,EAAQ,KAAvB+N,WAERvY,EAAOD,uWAAP,EACEsY,UAAAA,EACAhM,IAAAA,EACAiM,IAAAA,EACAH,gBAAAA,EACA5N,aAAAA,EACAgO,WAAAA,GACGH,msBCRLpY,EAAOD,QAAU,SAACyY,GAChB,IAAMnB,EAAS,GACToB,EAAa,GACbC,EAAQ,GACRC,EAAQ,GACRC,EAAU,GA8BhB,OA5BIJ,EAAKnB,QACPmB,EAAKnB,OAAOtS,SAAQ,SAAC8T,GACnBA,EAAMJ,WAAW1T,SAAQ,SAAC+T,GACxBA,EAAUJ,MAAM3T,SAAQ,SAACgU,GACvBA,EAAKJ,MAAM5T,SAAQ,SAACiU,GAClBA,EAAKJ,QAAQ7T,SAAQ,SAACkU,GACpBL,EAAQnS,KAAR,OACKwS,GADL,IACUT,KAAAA,EAAMK,MAAAA,EAAOC,UAAAA,EAAWC,KAAAA,EAAMC,KAAAA,IAEzC,IACDL,EAAMlS,KAAN,OACKuS,GADL,IACWR,KAAAA,EAAMK,MAAAA,EAAOC,UAAAA,EAAWC,KAAAA,IAEpC,IACDL,EAAMjS,KAAN,OACKsS,GADL,IACWP,KAAAA,EAAMK,MAAAA,EAAOC,UAAAA,IAEzB,IACDL,EAAWhS,KAAX,OACKqS,GADL,IACgBN,KAAAA,EAAMK,MAAAA,IAEvB,IACDxB,EAAO5Q,KAAP,OACKoS,GADL,IACYL,KAAAA,IAEb,IAGI,EAAP,KACKA,GADL,IACWnB,OAAAA,EAAQoB,WAAAA,EAAYC,MAAAA,EAAOC,MAAAA,EAAOC,QAAAA,GAE9C,uPCvDD,IAAMM,EAAa1O,EAAQ,KAE3BxK,EAAOD,QAAU,SAAC6B,GAChB,IAAMuX,EAAM,CAAC,EAYb,MAViC,oBAAtBC,kBACTD,EAAI7Y,KAAO,YACF4Y,IACTC,EAAI7Y,KAAO,WACgB,YAAlB,oBAAOF,OAAP,cAAOA,SAChB+Y,EAAI7Y,KAAO,UACiB,YAAnB,oBAAOD,QAAP,cAAOA,YAChB8Y,EAAI7Y,KAAO,aAGM,IAARsB,EACFuX,EAGFA,EAAIvX,EACZ,WCpBD5B,EAAOD,QAAU,SAACsZ,EAAQC,GAAT,gBACZD,EADY,YACFC,EADE,YACKC,KAAKC,SAASC,SAAS,IAAInR,MAAM,EAAG,GADzC,gCCAboR,GAAU,EAEd3Z,EAAQ2Z,QAAUA,EAElB3Z,EAAQwY,WAAa,SAACoB,GACpBD,EAAUC,CACX,EAED5Z,EAAQwT,IAAM,sCAAImD,EAAJ,yBAAIA,EAAJ,uBAAcgD,EAAUtD,QAAQ7C,IAAIY,MAAM,EAAMuC,GAAQ,IAAxD,uWCRd,IACMkD,EADoD,YAAxCpP,EAAQ,IAARA,CAA4B,QACfA,EAAQ,KAAiB,SAAAqP,GAAC,OAAIA,CAAJ,EAEzD7Z,EAAOD,QAAU,SAAC6K,GAChB,IAAMuM,iWAAO,CAAH,GAAQvM,GAMlB,MALA,CAAC,WAAY,aAAc,YAAY7F,SAAQ,SAACnD,GAC1CgJ,EAAQhJ,KACVuV,EAAKvV,GAAOgY,EAAWzC,EAAKvV,IAE/B,IACMuV,CACR,wsBCXD,IAAMyC,EAAapP,EAAQ,KACnBsP,EAAYtP,EAAQ,KAApBsP,QACFpF,EAAiBlK,EAAQ,KAK/BxK,EAAOD,QAAP,OACK2U,GADL,IAEEqF,WAAgC,oBAAZ1Z,SAAoD,gBAAzBA,QAAQ8Y,IAAIa,SACvDJ,EAAW,+BAAD,OAAgCL,KAAKC,SAASC,SAAS,IAAInR,MAAM,KADnE,0CAE2BwR,EAF3B,uBAOZG,SAAU,sBCPZ,IAAMvF,EAAiBlK,EAAQ,KACzBmK,EAAcnK,EAAQ,KACtBoK,EAAkBpK,EAAQ,KAC1BqK,EAAYrK,EAAQ,KACpBuK,EAAOvK,EAAQ,KACfsK,EAAYtK,EAAQ,KAE1BxK,EAAOD,QAAU,CACf2U,eAAAA,EACAC,YAAAA,EACAC,gBAAAA,EACAC,UAAAA,EACAE,KAAAA,EACAD,UAAAA,kRCrBF,smNADA,IAAM8E,EAAapP,EAAQ,KASrB0P,EAAqB,SAACC,GAAD,OACzB,IAAItS,SAAQ,SAAC1C,EAASC,GACpB,IAAMgV,EAAa,IAAIC,WACvBD,EAAWE,OAAS,WAClBnV,EAAQiV,EAAW/U,OACpB,EACD+U,EAAWzE,QAAU,YAAqC,IAAf4E,EAAe,EAAlCC,OAAU/U,MAAS8U,KACzCnV,EAAOjC,MAAM,gCAAD,OAAiCoX,IAC9C,EACDH,EAAWK,kBAAkBN,EAC9B,GAVwB,EAoBrBrF,EAAS,6BAAG,WAAOpK,GAAP,4EACZkN,EAAOlN,OACU,IAAVA,EAFK,yCAGP,aAHO,UAMK,iBAAVA,EANK,qBAQV,yCAAyCgQ,KAAKhQ,GARpC,gBASZkN,EAAO+C,KAAKjQ,EAAMkQ,MAAM,KAAK,IAC1BA,MAAM,IACNC,KAAI,SAACC,GAAD,OAAOA,EAAEC,WAAW,EAApB,IAXK,wCAaOC,MAAMpB,EAAWlP,IAbxB,eAaNuQ,EAbM,iBAcCA,EAAKC,cAdN,QAcZtD,EAdY,4CAgBLlN,aAAiByQ,aAhBZ,oBAiBQ,QAAlBzQ,EAAM0Q,QAjBI,kCAkBCtG,EAAUpK,EAAM2Q,KAlBjB,QAkBZzD,EAlBY,kBAoBQ,UAAlBlN,EAAM0Q,QApBI,kCAqBCtG,EAAUpK,EAAM4Q,QArBjB,QAqBZ1D,EArBY,kBAuBQ,WAAlBlN,EAAM0Q,QAvBI,kCAwBN,IAAIvT,SAAQ,SAAC1C,GACjBuF,EAAM6Q,OAAN,6BAAa,WAAOpB,GAAP,iFACED,EAAmBC,GADrB,OACXvC,EADW,OAEXzS,IAFW,2CAAb,sDAID,IA7BW,qCA+BLuF,aAAiB8Q,MAAQ9Q,aAAiB+Q,MA/BrC,kCAgCDvB,EAAmBxP,GAhClB,QAgCdkN,EAhCc,wCAmCT,IAAI8D,WAAW9D,IAnCN,4CAAH,sDAsCf5X,EAAOD,QAAU+U,WCnEjB9U,EAAOD,QAAU,SAAC8K,EAAQ8Q,GACxB9Q,EAAO+Q,UAAY,YAAc,IAAXhE,EAAW,EAAXA,KACpB+D,EAAQ/D,EACT,CACF,2QCHD,m6MAMA5X,EAAOD,QAAP,gCAAiB,WAAO8K,EAAQgR,GAAf,iEACfhR,EAAOiR,YAAYD,GADJ,yNAAjB,iECAA7b,EAAOD,QAAU,YAAmC,IAC9C8K,EADckP,EAAgC,EAAhCA,WAAYvN,EAAoB,EAApBA,cAE9B,GAAIiP,MAAQM,KAAOvP,EAAe,CAChC,IAAM2N,EAAO,IAAIsB,KAAK,CAAC,kBAAD,OAAmB1B,EAAnB,QAAqC,CACzDzZ,KAAM,2BAERuK,EAAS,IAAImR,OAAOD,IAAIE,gBAAgB9B,GACzC,MACCtP,EAAS,IAAImR,OAAOjC,GAGtB,OAAOlP,CACR,WCZD7K,EAAOD,QAAU,SAAC8K,GAChBA,EAAOI,WACR,6sFCRGiR,EAA2B,CAAC,EAGhC,SAASC,EAAoBC,GAE5B,IAAIC,EAAeH,EAAyBE,GAC5C,QAAqBvb,IAAjBwb,EACH,OAAOA,EAAatc,QAGrB,IAAIC,EAASkc,EAAyBE,GAAY,CACjDjJ,GAAIiJ,EACJE,QAAQ,EACRvc,QAAS,CAAC,GAUX,OANAwc,EAAoBH,GAAUhY,KAAKpE,EAAOD,QAASC,EAAQA,EAAOD,QAASoc,GAG3Enc,EAAOsc,QAAS,EAGTtc,EAAOD,OACf,QCzBAoc,EAAoBK,IAAOxc,IAC1BA,EAAOyc,MAAQ,GACVzc,EAAO0c,WAAU1c,EAAO0c,SAAW,IACjC1c,GCAkBmc,EAAoB","sources":["webpack://Tesseract/webpack/universalModuleDefinition","webpack://Tesseract/./node_modules/is-electron/index.js","webpack://Tesseract/./node_modules/regenerator-runtime/runtime.js","webpack://Tesseract/./node_modules/resolve-url/resolve-url.js","webpack://Tesseract/./src/Tesseract.js","webpack://Tesseract/./src/constants/OEM.js","webpack://Tesseract/./src/constants/PSM.js","webpack://Tesseract/./src/constants/config.js","webpack://Tesseract/./src/constants/defaultOptions.js","webpack://Tesseract/./src/constants/languages.js","webpack://Tesseract/./src/createJob.js","webpack://Tesseract/./src/createScheduler.js","webpack://Tesseract/./src/createWorker.js","webpack://Tesseract/./src/index.js","webpack://Tesseract/./src/utils/circularize.js","webpack://Tesseract/./src/utils/getEnvironment.js","webpack://Tesseract/./src/utils/getId.js","webpack://Tesseract/./src/utils/log.js","webpack://Tesseract/./src/utils/resolvePaths.js","webpack://Tesseract/./src/worker/browser/defaultOptions.js","webpack://Tesseract/./src/worker/browser/index.js","webpack://Tesseract/./src/worker/browser/loadImage.js","webpack://Tesseract/./src/worker/browser/onMessage.js","webpack://Tesseract/./src/worker/browser/send.js","webpack://Tesseract/./src/worker/browser/spawnWorker.js","webpack://Tesseract/./src/worker/browser/terminateWorker.js","webpack://Tesseract/webpack/bootstrap","webpack://Tesseract/webpack/runtime/node module decorator","webpack://Tesseract/webpack/startup"],"sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"Tesseract\"] = factory();\n\telse\n\t\troot[\"Tesseract\"] = factory();\n})(self, () => {\nreturn ","// https://github.com/electron/electron/issues/2288\nfunction isElectron() {\n    // Renderer process\n    if (typeof window !== 'undefined' && typeof window.process === 'object' && window.process.type === 'renderer') {\n        return true;\n    }\n\n    // Main process\n    if (typeof process !== 'undefined' && typeof process.versions === 'object' && !!process.versions.electron) {\n        return true;\n    }\n\n    // Detect the user agent when the `nodeIntegration` option is set to true\n    if (typeof navigator === 'object' && typeof navigator.userAgent === 'string' && navigator.userAgent.indexOf('Electron') >= 0) {\n        return true;\n    }\n\n    return false;\n}\n\nmodule.exports = isElectron;\n","/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nvar runtime = (function (exports) {\n  \"use strict\";\n\n  var Op = Object.prototype;\n  var hasOwn = Op.hasOwnProperty;\n  var undefined; // More compressible than void 0.\n  var $Symbol = typeof Symbol === \"function\" ? Symbol : {};\n  var iteratorSymbol = $Symbol.iterator || \"@@iterator\";\n  var asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\";\n  var toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n\n  function define(obj, key, value) {\n    Object.defineProperty(obj, key, {\n      value: value,\n      enumerable: true,\n      configurable: true,\n      writable: true\n    });\n    return obj[key];\n  }\n  try {\n    // IE 8 has a broken Object.defineProperty that only works on DOM objects.\n    define({}, \"\");\n  } catch (err) {\n    define = function(obj, key, value) {\n      return obj[key] = value;\n    };\n  }\n\n  function wrap(innerFn, outerFn, self, tryLocsList) {\n    // If outerFn provided and outerFn.prototype is a Generator, then outerFn.prototype instanceof Generator.\n    var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator;\n    var generator = Object.create(protoGenerator.prototype);\n    var context = new Context(tryLocsList || []);\n\n    // The ._invoke method unifies the implementations of the .next,\n    // .throw, and .return methods.\n    generator._invoke = makeInvokeMethod(innerFn, self, context);\n\n    return generator;\n  }\n  exports.wrap = wrap;\n\n  // Try/catch helper to minimize deoptimizations. Returns a completion\n  // record like context.tryEntries[i].completion. This interface could\n  // have been (and was previously) designed to take a closure to be\n  // invoked without arguments, but in all the cases we care about we\n  // already have an existing method we want to call, so there's no need\n  // to create a new function object. We can even get away with assuming\n  // the method takes exactly one argument, since that happens to be true\n  // in every case, so we don't have to touch the arguments object. The\n  // only additional allocation required is the completion record, which\n  // has a stable shape and so hopefully should be cheap to allocate.\n  function tryCatch(fn, obj, arg) {\n    try {\n      return { type: \"normal\", arg: fn.call(obj, arg) };\n    } catch (err) {\n      return { type: \"throw\", arg: err };\n    }\n  }\n\n  var GenStateSuspendedStart = \"suspendedStart\";\n  var GenStateSuspendedYield = \"suspendedYield\";\n  var GenStateExecuting = \"executing\";\n  var GenStateCompleted = \"completed\";\n\n  // Returning this object from the innerFn has the same effect as\n  // breaking out of the dispatch switch statement.\n  var ContinueSentinel = {};\n\n  // Dummy constructor functions that we use as the .constructor and\n  // .constructor.prototype properties for functions that return Generator\n  // objects. For full spec compliance, you may wish to configure your\n  // minifier not to mangle the names of these two functions.\n  function Generator() {}\n  function GeneratorFunction() {}\n  function GeneratorFunctionPrototype() {}\n\n  // This is a polyfill for %IteratorPrototype% for environments that\n  // don't natively support it.\n  var IteratorPrototype = {};\n  define(IteratorPrototype, iteratorSymbol, function () {\n    return this;\n  });\n\n  var getProto = Object.getPrototypeOf;\n  var NativeIteratorPrototype = getProto && getProto(getProto(values([])));\n  if (NativeIteratorPrototype &&\n      NativeIteratorPrototype !== Op &&\n      hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) {\n    // This environment has a native %IteratorPrototype%; use it instead\n    // of the polyfill.\n    IteratorPrototype = NativeIteratorPrototype;\n  }\n\n  var Gp = GeneratorFunctionPrototype.prototype =\n    Generator.prototype = Object.create(IteratorPrototype);\n  GeneratorFunction.prototype = GeneratorFunctionPrototype;\n  define(Gp, \"constructor\", GeneratorFunctionPrototype);\n  define(GeneratorFunctionPrototype, \"constructor\", GeneratorFunction);\n  GeneratorFunction.displayName = define(\n    GeneratorFunctionPrototype,\n    toStringTagSymbol,\n    \"GeneratorFunction\"\n  );\n\n  // Helper for defining the .next, .throw, and .return methods of the\n  // Iterator interface in terms of a single ._invoke method.\n  function defineIteratorMethods(prototype) {\n    [\"next\", \"throw\", \"return\"].forEach(function(method) {\n      define(prototype, method, function(arg) {\n        return this._invoke(method, arg);\n      });\n    });\n  }\n\n  exports.isGeneratorFunction = function(genFun) {\n    var ctor = typeof genFun === \"function\" && genFun.constructor;\n    return ctor\n      ? ctor === GeneratorFunction ||\n        // For the native GeneratorFunction constructor, the best we can\n        // do is to check its .name property.\n        (ctor.displayName || ctor.name) === \"GeneratorFunction\"\n      : false;\n  };\n\n  exports.mark = function(genFun) {\n    if (Object.setPrototypeOf) {\n      Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);\n    } else {\n      genFun.__proto__ = GeneratorFunctionPrototype;\n      define(genFun, toStringTagSymbol, \"GeneratorFunction\");\n    }\n    genFun.prototype = Object.create(Gp);\n    return genFun;\n  };\n\n  // Within the body of any async function, `await x` is transformed to\n  // `yield regeneratorRuntime.awrap(x)`, so that the runtime can test\n  // `hasOwn.call(value, \"__await\")` to determine if the yielded value is\n  // meant to be awaited.\n  exports.awrap = function(arg) {\n    return { __await: arg };\n  };\n\n  function AsyncIterator(generator, PromiseImpl) {\n    function invoke(method, arg, resolve, reject) {\n      var record = tryCatch(generator[method], generator, arg);\n      if (record.type === \"throw\") {\n        reject(record.arg);\n      } else {\n        var result = record.arg;\n        var value = result.value;\n        if (value &&\n            typeof value === \"object\" &&\n            hasOwn.call(value, \"__await\")) {\n          return PromiseImpl.resolve(value.__await).then(function(value) {\n            invoke(\"next\", value, resolve, reject);\n          }, function(err) {\n            invoke(\"throw\", err, resolve, reject);\n          });\n        }\n\n        return PromiseImpl.resolve(value).then(function(unwrapped) {\n          // When a yielded Promise is resolved, its final value becomes\n          // the .value of the Promise<{value,done}> result for the\n          // current iteration.\n          result.value = unwrapped;\n          resolve(result);\n        }, function(error) {\n          // If a rejected Promise was yielded, throw the rejection back\n          // into the async generator function so it can be handled there.\n          return invoke(\"throw\", error, resolve, reject);\n        });\n      }\n    }\n\n    var previousPromise;\n\n    function enqueue(method, arg) {\n      function callInvokeWithMethodAndArg() {\n        return new PromiseImpl(function(resolve, reject) {\n          invoke(method, arg, resolve, reject);\n        });\n      }\n\n      return previousPromise =\n        // If enqueue has been called before, then we want to wait until\n        // all previous Promises have been resolved before calling invoke,\n        // so that results are always delivered in the correct order. If\n        // enqueue has not been called before, then it is important to\n        // call invoke immediately, without waiting on a callback to fire,\n        // so that the async generator function has the opportunity to do\n        // any necessary setup in a predictable way. This predictability\n        // is why the Promise constructor synchronously invokes its\n        // executor callback, and why async functions synchronously\n        // execute code before the first await. Since we implement simple\n        // async functions in terms of async generators, it is especially\n        // important to get this right, even though it requires care.\n        previousPromise ? previousPromise.then(\n          callInvokeWithMethodAndArg,\n          // Avoid propagating failures to Promises returned by later\n          // invocations of the iterator.\n          callInvokeWithMethodAndArg\n        ) : callInvokeWithMethodAndArg();\n    }\n\n    // Define the unified helper method that is used to implement .next,\n    // .throw, and .return (see defineIteratorMethods).\n    this._invoke = enqueue;\n  }\n\n  defineIteratorMethods(AsyncIterator.prototype);\n  define(AsyncIterator.prototype, asyncIteratorSymbol, function () {\n    return this;\n  });\n  exports.AsyncIterator = AsyncIterator;\n\n  // Note that simple async functions are implemented on top of\n  // AsyncIterator objects; they just return a Promise for the value of\n  // the final result produced by the iterator.\n  exports.async = function(innerFn, outerFn, self, tryLocsList, PromiseImpl) {\n    if (PromiseImpl === void 0) PromiseImpl = Promise;\n\n    var iter = new AsyncIterator(\n      wrap(innerFn, outerFn, self, tryLocsList),\n      PromiseImpl\n    );\n\n    return exports.isGeneratorFunction(outerFn)\n      ? iter // If outerFn is a generator, return the full iterator.\n      : iter.next().then(function(result) {\n          return result.done ? result.value : iter.next();\n        });\n  };\n\n  function makeInvokeMethod(innerFn, self, context) {\n    var state = GenStateSuspendedStart;\n\n    return function invoke(method, arg) {\n      if (state === GenStateExecuting) {\n        throw new Error(\"Generator is already running\");\n      }\n\n      if (state === GenStateCompleted) {\n        if (method === \"throw\") {\n          throw arg;\n        }\n\n        // Be forgiving, per 25.3.3.3.3 of the spec:\n        // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume\n        return doneResult();\n      }\n\n      context.method = method;\n      context.arg = arg;\n\n      while (true) {\n        var delegate = context.delegate;\n        if (delegate) {\n          var delegateResult = maybeInvokeDelegate(delegate, context);\n          if (delegateResult) {\n            if (delegateResult === ContinueSentinel) continue;\n            return delegateResult;\n          }\n        }\n\n        if (context.method === \"next\") {\n          // Setting context._sent for legacy support of Babel's\n          // function.sent implementation.\n          context.sent = context._sent = context.arg;\n\n        } else if (context.method === \"throw\") {\n          if (state === GenStateSuspendedStart) {\n            state = GenStateCompleted;\n            throw context.arg;\n          }\n\n          context.dispatchException(context.arg);\n\n        } else if (context.method === \"return\") {\n          context.abrupt(\"return\", context.arg);\n        }\n\n        state = GenStateExecuting;\n\n        var record = tryCatch(innerFn, self, context);\n        if (record.type === \"normal\") {\n          // If an exception is thrown from innerFn, we leave state ===\n          // GenStateExecuting and loop back for another invocation.\n          state = context.done\n            ? GenStateCompleted\n            : GenStateSuspendedYield;\n\n          if (record.arg === ContinueSentinel) {\n            continue;\n          }\n\n          return {\n            value: record.arg,\n            done: context.done\n          };\n\n        } else if (record.type === \"throw\") {\n          state = GenStateCompleted;\n          // Dispatch the exception by looping back around to the\n          // context.dispatchException(context.arg) call above.\n          context.method = \"throw\";\n          context.arg = record.arg;\n        }\n      }\n    };\n  }\n\n  // Call delegate.iterator[context.method](context.arg) and handle the\n  // result, either by returning a { value, done } result from the\n  // delegate iterator, or by modifying context.method and context.arg,\n  // setting context.delegate to null, and returning the ContinueSentinel.\n  function maybeInvokeDelegate(delegate, context) {\n    var method = delegate.iterator[context.method];\n    if (method === undefined) {\n      // A .throw or .return when the delegate iterator has no .throw\n      // method always terminates the yield* loop.\n      context.delegate = null;\n\n      if (context.method === \"throw\") {\n        // Note: [\"return\"] must be used for ES3 parsing compatibility.\n        if (delegate.iterator[\"return\"]) {\n          // If the delegate iterator has a return method, give it a\n          // chance to clean up.\n          context.method = \"return\";\n          context.arg = undefined;\n          maybeInvokeDelegate(delegate, context);\n\n          if (context.method === \"throw\") {\n            // If maybeInvokeDelegate(context) changed context.method from\n            // \"return\" to \"throw\", let that override the TypeError below.\n            return ContinueSentinel;\n          }\n        }\n\n        context.method = \"throw\";\n        context.arg = new TypeError(\n          \"The iterator does not provide a 'throw' method\");\n      }\n\n      return ContinueSentinel;\n    }\n\n    var record = tryCatch(method, delegate.iterator, context.arg);\n\n    if (record.type === \"throw\") {\n      context.method = \"throw\";\n      context.arg = record.arg;\n      context.delegate = null;\n      return ContinueSentinel;\n    }\n\n    var info = record.arg;\n\n    if (! info) {\n      context.method = \"throw\";\n      context.arg = new TypeError(\"iterator result is not an object\");\n      context.delegate = null;\n      return ContinueSentinel;\n    }\n\n    if (info.done) {\n      // Assign the result of the finished delegate to the temporary\n      // variable specified by delegate.resultName (see delegateYield).\n      context[delegate.resultName] = info.value;\n\n      // Resume execution at the desired location (see delegateYield).\n      context.next = delegate.nextLoc;\n\n      // If context.method was \"throw\" but the delegate handled the\n      // exception, let the outer generator proceed normally. If\n      // context.method was \"next\", forget context.arg since it has been\n      // \"consumed\" by the delegate iterator. If context.method was\n      // \"return\", allow the original .return call to continue in the\n      // outer generator.\n      if (context.method !== \"return\") {\n        context.method = \"next\";\n        context.arg = undefined;\n      }\n\n    } else {\n      // Re-yield the result returned by the delegate method.\n      return info;\n    }\n\n    // The delegate iterator is finished, so forget it and continue with\n    // the outer generator.\n    context.delegate = null;\n    return ContinueSentinel;\n  }\n\n  // Define Generator.prototype.{next,throw,return} in terms of the\n  // unified ._invoke helper method.\n  defineIteratorMethods(Gp);\n\n  define(Gp, toStringTagSymbol, \"Generator\");\n\n  // A Generator should always return itself as the iterator object when the\n  // @@iterator function is called on it. Some browsers' implementations of the\n  // iterator prototype chain incorrectly implement this, causing the Generator\n  // object to not be returned from this call. This ensures that doesn't happen.\n  // See https://github.com/facebook/regenerator/issues/274 for more details.\n  define(Gp, iteratorSymbol, function() {\n    return this;\n  });\n\n  define(Gp, \"toString\", function() {\n    return \"[object Generator]\";\n  });\n\n  function pushTryEntry(locs) {\n    var entry = { tryLoc: locs[0] };\n\n    if (1 in locs) {\n      entry.catchLoc = locs[1];\n    }\n\n    if (2 in locs) {\n      entry.finallyLoc = locs[2];\n      entry.afterLoc = locs[3];\n    }\n\n    this.tryEntries.push(entry);\n  }\n\n  function resetTryEntry(entry) {\n    var record = entry.completion || {};\n    record.type = \"normal\";\n    delete record.arg;\n    entry.completion = record;\n  }\n\n  function Context(tryLocsList) {\n    // The root entry object (effectively a try statement without a catch\n    // or a finally block) gives us a place to store values thrown from\n    // locations where there is no enclosing try statement.\n    this.tryEntries = [{ tryLoc: \"root\" }];\n    tryLocsList.forEach(pushTryEntry, this);\n    this.reset(true);\n  }\n\n  exports.keys = function(object) {\n    var keys = [];\n    for (var key in object) {\n      keys.push(key);\n    }\n    keys.reverse();\n\n    // Rather than returning an object with a next method, we keep\n    // things simple and return the next function itself.\n    return function next() {\n      while (keys.length) {\n        var key = keys.pop();\n        if (key in object) {\n          next.value = key;\n          next.done = false;\n          return next;\n        }\n      }\n\n      // To avoid creating an additional object, we just hang the .value\n      // and .done properties off the next function object itself. This\n      // also ensures that the minifier will not anonymize the function.\n      next.done = true;\n      return next;\n    };\n  };\n\n  function values(iterable) {\n    if (iterable) {\n      var iteratorMethod = iterable[iteratorSymbol];\n      if (iteratorMethod) {\n        return iteratorMethod.call(iterable);\n      }\n\n      if (typeof iterable.next === \"function\") {\n        return iterable;\n      }\n\n      if (!isNaN(iterable.length)) {\n        var i = -1, next = function next() {\n          while (++i < iterable.length) {\n            if (hasOwn.call(iterable, i)) {\n              next.value = iterable[i];\n              next.done = false;\n              return next;\n            }\n          }\n\n          next.value = undefined;\n          next.done = true;\n\n          return next;\n        };\n\n        return next.next = next;\n      }\n    }\n\n    // Return an iterator with no values.\n    return { next: doneResult };\n  }\n  exports.values = values;\n\n  function doneResult() {\n    return { value: undefined, done: true };\n  }\n\n  Context.prototype = {\n    constructor: Context,\n\n    reset: function(skipTempReset) {\n      this.prev = 0;\n      this.next = 0;\n      // Resetting context._sent for legacy support of Babel's\n      // function.sent implementation.\n      this.sent = this._sent = undefined;\n      this.done = false;\n      this.delegate = null;\n\n      this.method = \"next\";\n      this.arg = undefined;\n\n      this.tryEntries.forEach(resetTryEntry);\n\n      if (!skipTempReset) {\n        for (var name in this) {\n          // Not sure about the optimal order of these conditions:\n          if (name.charAt(0) === \"t\" &&\n              hasOwn.call(this, name) &&\n              !isNaN(+name.slice(1))) {\n            this[name] = undefined;\n          }\n        }\n      }\n    },\n\n    stop: function() {\n      this.done = true;\n\n      var rootEntry = this.tryEntries[0];\n      var rootRecord = rootEntry.completion;\n      if (rootRecord.type === \"throw\") {\n        throw rootRecord.arg;\n      }\n\n      return this.rval;\n    },\n\n    dispatchException: function(exception) {\n      if (this.done) {\n        throw exception;\n      }\n\n      var context = this;\n      function handle(loc, caught) {\n        record.type = \"throw\";\n        record.arg = exception;\n        context.next = loc;\n\n        if (caught) {\n          // If the dispatched exception was caught by a catch block,\n          // then let that catch block handle the exception normally.\n          context.method = \"next\";\n          context.arg = undefined;\n        }\n\n        return !! caught;\n      }\n\n      for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n        var entry = this.tryEntries[i];\n        var record = entry.completion;\n\n        if (entry.tryLoc === \"root\") {\n          // Exception thrown outside of any try block that could handle\n          // it, so set the completion value of the entire function to\n          // throw the exception.\n          return handle(\"end\");\n        }\n\n        if (entry.tryLoc <= this.prev) {\n          var hasCatch = hasOwn.call(entry, \"catchLoc\");\n          var hasFinally = hasOwn.call(entry, \"finallyLoc\");\n\n          if (hasCatch && hasFinally) {\n            if (this.prev < entry.catchLoc) {\n              return handle(entry.catchLoc, true);\n            } else if (this.prev < entry.finallyLoc) {\n              return handle(entry.finallyLoc);\n            }\n\n          } else if (hasCatch) {\n            if (this.prev < entry.catchLoc) {\n              return handle(entry.catchLoc, true);\n            }\n\n          } else if (hasFinally) {\n            if (this.prev < entry.finallyLoc) {\n              return handle(entry.finallyLoc);\n            }\n\n          } else {\n            throw new Error(\"try statement without catch or finally\");\n          }\n        }\n      }\n    },\n\n    abrupt: function(type, arg) {\n      for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n        var entry = this.tryEntries[i];\n        if (entry.tryLoc <= this.prev &&\n            hasOwn.call(entry, \"finallyLoc\") &&\n            this.prev < entry.finallyLoc) {\n          var finallyEntry = entry;\n          break;\n        }\n      }\n\n      if (finallyEntry &&\n          (type === \"break\" ||\n           type === \"continue\") &&\n          finallyEntry.tryLoc <= arg &&\n          arg <= finallyEntry.finallyLoc) {\n        // Ignore the finally entry if control is not jumping to a\n        // location outside the try/catch block.\n        finallyEntry = null;\n      }\n\n      var record = finallyEntry ? finallyEntry.completion : {};\n      record.type = type;\n      record.arg = arg;\n\n      if (finallyEntry) {\n        this.method = \"next\";\n        this.next = finallyEntry.finallyLoc;\n        return ContinueSentinel;\n      }\n\n      return this.complete(record);\n    },\n\n    complete: function(record, afterLoc) {\n      if (record.type === \"throw\") {\n        throw record.arg;\n      }\n\n      if (record.type === \"break\" ||\n          record.type === \"continue\") {\n        this.next = record.arg;\n      } else if (record.type === \"return\") {\n        this.rval = this.arg = record.arg;\n        this.method = \"return\";\n        this.next = \"end\";\n      } else if (record.type === \"normal\" && afterLoc) {\n        this.next = afterLoc;\n      }\n\n      return ContinueSentinel;\n    },\n\n    finish: function(finallyLoc) {\n      for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n        var entry = this.tryEntries[i];\n        if (entry.finallyLoc === finallyLoc) {\n          this.complete(entry.completion, entry.afterLoc);\n          resetTryEntry(entry);\n          return ContinueSentinel;\n        }\n      }\n    },\n\n    \"catch\": function(tryLoc) {\n      for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n        var entry = this.tryEntries[i];\n        if (entry.tryLoc === tryLoc) {\n          var record = entry.completion;\n          if (record.type === \"throw\") {\n            var thrown = record.arg;\n            resetTryEntry(entry);\n          }\n          return thrown;\n        }\n      }\n\n      // The context.catch method must only be called with a location\n      // argument that corresponds to a known catch block.\n      throw new Error(\"illegal catch attempt\");\n    },\n\n    delegateYield: function(iterable, resultName, nextLoc) {\n      this.delegate = {\n        iterator: values(iterable),\n        resultName: resultName,\n        nextLoc: nextLoc\n      };\n\n      if (this.method === \"next\") {\n        // Deliberately forget the last sent value so that we don't\n        // accidentally pass it on to the delegate.\n        this.arg = undefined;\n      }\n\n      return ContinueSentinel;\n    }\n  };\n\n  // Regardless of whether this script is executing as a CommonJS module\n  // or not, return the runtime object so that we can declare the variable\n  // regeneratorRuntime in the outer scope, which allows this module to be\n  // injected easily by `bin/regenerator --include-runtime script.js`.\n  return exports;\n\n}(\n  // If this script is executing as a CommonJS module, use module.exports\n  // as the regeneratorRuntime namespace. Otherwise create a new empty\n  // object. Either way, the resulting object will be used to initialize\n  // the regeneratorRuntime variable at the top of this file.\n  typeof module === \"object\" ? module.exports : {}\n));\n\ntry {\n  regeneratorRuntime = runtime;\n} catch (accidentalStrictMode) {\n  // This module should not be running in strict mode, so the above\n  // assignment should always work unless something is misconfigured. Just\n  // in case runtime.js accidentally runs in strict mode, in modern engines\n  // we can explicitly access globalThis. In older engines we can escape\n  // strict mode using a global Function call. This could conceivably fail\n  // if a Content Security Policy forbids using Function, but in that case\n  // the proper solution is to fix the accidental strict mode problem. If\n  // you've misconfigured your bundler to force strict mode and applied a\n  // CSP to forbid Function, and you're not willing to fix either of those\n  // problems, please detail your unique predicament in a GitHub issue.\n  if (typeof globalThis === \"object\") {\n    globalThis.regeneratorRuntime = runtime;\n  } else {\n    Function(\"r\", \"regeneratorRuntime = r\")(runtime);\n  }\n}\n","// Copyright 2014 Simon Lydell\r\n// X11 (“MIT”) Licensed. (See LICENSE.)\r\n\r\nvoid (function(root, factory) {\r\n  if (typeof define === \"function\" && define.amd) {\r\n    define(factory)\r\n  } else if (typeof exports === \"object\") {\r\n    module.exports = factory()\r\n  } else {\r\n    root.resolveUrl = factory()\r\n  }\r\n}(this, function() {\r\n\r\n  function resolveUrl(/* ...urls */) {\r\n    var numUrls = arguments.length\r\n\r\n    if (numUrls === 0) {\r\n      throw new Error(\"resolveUrl requires at least one argument; got none.\")\r\n    }\r\n\r\n    var base = document.createElement(\"base\")\r\n    base.href = arguments[0]\r\n\r\n    if (numUrls === 1) {\r\n      return base.href\r\n    }\r\n\r\n    var head = document.getElementsByTagName(\"head\")[0]\r\n    head.insertBefore(base, head.firstChild)\r\n\r\n    var a = document.createElement(\"a\")\r\n    var resolved\r\n\r\n    for (var index = 1; index < numUrls; index++) {\r\n      a.href = arguments[index]\r\n      resolved = a.href\r\n      base.href = resolved\r\n    }\r\n\r\n    head.removeChild(base)\r\n\r\n    return resolved\r\n  }\r\n\r\n  return resolveUrl\r\n\r\n}));\r\n","const createWorker = require('./createWorker');\n\nconst recognize = async (image, langs, options) => {\n  const worker = await createWorker(options);\n  await worker.loadLanguage(langs);\n  await worker.initialize(langs);\n  return worker.recognize(image)\n    .finally(async () => {\n      await worker.terminate();\n    });\n};\n\nconst detect = async (image, options) => {\n  const worker = await createWorker(options);\n  await worker.loadLanguage('osd');\n  await worker.initialize('osd');\n  return worker.detect(image)\n    .finally(async () => {\n      await worker.terminate();\n    });\n};\n\nmodule.exports = {\n  recognize,\n  detect,\n};\n","/*\n * OEM = OCR Engine Mode, and there are 4 possible modes.\n *\n * By default tesseract.js uses LSTM_ONLY mode.\n *\n */\nmodule.exports = {\n  TESSERACT_ONLY: 0,\n  LSTM_ONLY: 1,\n  TESSERACT_LSTM_COMBINED: 2,\n  DEFAULT: 3,\n};\n","/*\n * PSM = Page Segmentation Mode\n */\nmodule.exports = {\n  OSD_ONLY: '0',\n  AUTO_OSD: '1',\n  AUTO_ONLY: '2',\n  AUTO: '3',\n  SINGLE_COLUMN: '4',\n  SINGLE_BLOCK_VERT_TEXT: '5',\n  SINGLE_BLOCK: '6',\n  SINGLE_LINE: '7',\n  SINGLE_WORD: '8',\n  CIRCLE_WORD: '9',\n  SINGLE_CHAR: '10',\n  SPARSE_TEXT: '11',\n  SPARSE_TEXT_OSD: '12',\n  RAW_LINE: '13',\n};\n","const OEM = require('./OEM');\n\nmodule.exports = {\n  defaultOEM: OEM.DEFAULT,\n};\n","module.exports = {\n  /*\n   * default path for downloading *.traineddata\n   */\n  langPath: 'https://tessdata.projectnaptha.com/4.0.0',\n  /*\n   * Use BlobURL for worker script by default\n   * TODO: remove this option\n   *\n   */\n  workerBlobURL: true,\n  logger: () => {},\n};\n","/*\n * languages with existing tesseract traineddata\n * https://tesseract-ocr.github.io/tessdoc/Data-Files#data-files-for-version-400-november-29-2016\n */\n\n/**\n * @typedef {object} Languages\n * @property {string} AFR Afrikaans\n * @property {string} AMH Amharic\n * @property {string} ARA Arabic\n * @property {string} ASM Assamese\n * @property {string} AZE Azerbaijani\n * @property {string} AZE_CYRL Azerbaijani - Cyrillic\n * @property {string} BEL Belarusian\n * @property {string} BEN Bengali\n * @property {string} BOD Tibetan\n * @property {string} BOS Bosnian\n * @property {string} BUL Bulgarian\n * @property {string} CAT Catalan; Valencian\n * @property {string} CEB Cebuano\n * @property {string} CES Czech\n * @property {string} CHI_SIM Chinese - Simplified\n * @property {string} CHI_TRA Chinese - Traditional\n * @property {string} CHR Cherokee\n * @property {string} CYM Welsh\n * @property {string} DAN Danish\n * @property {string} DEU German\n * @property {string} DZO Dzongkha\n * @property {string} ELL Greek, Modern (1453-)\n * @property {string} ENG English\n * @property {string} ENM English, Middle (1100-1500)\n * @property {string} EPO Esperanto\n * @property {string} EST Estonian\n * @property {string} EUS Basque\n * @property {string} FAS Persian\n * @property {string} FIN Finnish\n * @property {string} FRA French\n * @property {string} FRK German Fraktur\n * @property {string} FRM French, Middle (ca. 1400-1600)\n * @property {string} GLE Irish\n * @property {string} GLG Galician\n * @property {string} GRC Greek, Ancient (-1453)\n * @property {string} GUJ Gujarati\n * @property {string} HAT Haitian; Haitian Creole\n * @property {string} HEB Hebrew\n * @property {string} HIN Hindi\n * @property {string} HRV Croatian\n * @property {string} HUN Hungarian\n * @property {string} IKU Inuktitut\n * @property {string} IND Indonesian\n * @property {string} ISL Icelandic\n * @property {string} ITA Italian\n * @property {string} ITA_OLD Italian - Old\n * @property {string} JAV Javanese\n * @property {string} JPN Japanese\n * @property {string} KAN Kannada\n * @property {string} KAT Georgian\n * @property {string} KAT_OLD Georgian - Old\n * @property {string} KAZ Kazakh\n * @property {string} KHM Central Khmer\n * @property {string} KIR Kirghiz; Kyrgyz\n * @property {string} KOR Korean\n * @property {string} KUR Kurdish\n * @property {string} LAO Lao\n * @property {string} LAT Latin\n * @property {string} LAV Latvian\n * @property {string} LIT Lithuanian\n * @property {string} MAL Malayalam\n * @property {string} MAR Marathi\n * @property {string} MKD Macedonian\n * @property {string} MLT Maltese\n * @property {string} MSA Malay\n * @property {string} MYA Burmese\n * @property {string} NEP Nepali\n * @property {string} NLD Dutch; Flemish\n * @property {string} NOR Norwegian\n * @property {string} ORI Oriya\n * @property {string} PAN Panjabi; Punjabi\n * @property {string} POL Polish\n * @property {string} POR Portuguese\n * @property {string} PUS Pushto; Pashto\n * @property {string} RON Romanian; Moldavian; Moldovan\n * @property {string} RUS Russian\n * @property {string} SAN Sanskrit\n * @property {string} SIN Sinhala; Sinhalese\n * @property {string} SLK Slovak\n * @property {string} SLV Slovenian\n * @property {string} SPA Spanish; Castilian\n * @property {string} SPA_OLD Spanish; Castilian - Old\n * @property {string} SQI Albanian\n * @property {string} SRP Serbian\n * @property {string} SRP_LATN Serbian - Latin\n * @property {string} SWA Swahili\n * @property {string} SWE Swedish\n * @property {string} SYR Syriac\n * @property {string} TAM Tamil\n * @property {string} TEL Telugu\n * @property {string} TGK Tajik\n * @property {string} TGL Tagalog\n * @property {string} THA Thai\n * @property {string} TIR Tigrinya\n * @property {string} TUR Turkish\n * @property {string} UIG Uighur; Uyghur\n * @property {string} UKR Ukrainian\n * @property {string} URD Urdu\n * @property {string} UZB Uzbek\n * @property {string} UZB_CYRL Uzbek - Cyrillic\n * @property {string} VIE Vietnamese\n * @property {string} YID Yiddish\n */\n\n/**\n  * @type {Languages}\n  */\nmodule.exports = {\n  AFR: 'afr',\n  AMH: 'amh',\n  ARA: 'ara',\n  ASM: 'asm',\n  AZE: 'aze',\n  AZE_CYRL: 'aze_cyrl',\n  BEL: 'bel',\n  BEN: 'ben',\n  BOD: 'bod',\n  BOS: 'bos',\n  BUL: 'bul',\n  CAT: 'cat',\n  CEB: 'ceb',\n  CES: 'ces',\n  CHI_SIM: 'chi_sim',\n  CHI_TRA: 'chi_tra',\n  CHR: 'chr',\n  CYM: 'cym',\n  DAN: 'dan',\n  DEU: 'deu',\n  DZO: 'dzo',\n  ELL: 'ell',\n  ENG: 'eng',\n  ENM: 'enm',\n  EPO: 'epo',\n  EST: 'est',\n  EUS: 'eus',\n  FAS: 'fas',\n  FIN: 'fin',\n  FRA: 'fra',\n  FRK: 'frk',\n  FRM: 'frm',\n  GLE: 'gle',\n  GLG: 'glg',\n  GRC: 'grc',\n  GUJ: 'guj',\n  HAT: 'hat',\n  HEB: 'heb',\n  HIN: 'hin',\n  HRV: 'hrv',\n  HUN: 'hun',\n  IKU: 'iku',\n  IND: 'ind',\n  ISL: 'isl',\n  ITA: 'ita',\n  ITA_OLD: 'ita_old',\n  JAV: 'jav',\n  JPN: 'jpn',\n  KAN: 'kan',\n  KAT: 'kat',\n  KAT_OLD: 'kat_old',\n  KAZ: 'kaz',\n  KHM: 'khm',\n  KIR: 'kir',\n  KOR: 'kor',\n  KUR: 'kur',\n  LAO: 'lao',\n  LAT: 'lat',\n  LAV: 'lav',\n  LIT: 'lit',\n  MAL: 'mal',\n  MAR: 'mar',\n  MKD: 'mkd',\n  MLT: 'mlt',\n  MSA: 'msa',\n  MYA: 'mya',\n  NEP: 'nep',\n  NLD: 'nld',\n  NOR: 'nor',\n  ORI: 'ori',\n  PAN: 'pan',\n  POL: 'pol',\n  POR: 'por',\n  PUS: 'pus',\n  RON: 'ron',\n  RUS: 'rus',\n  SAN: 'san',\n  SIN: 'sin',\n  SLK: 'slk',\n  SLV: 'slv',\n  SPA: 'spa',\n  SPA_OLD: 'spa_old',\n  SQI: 'sqi',\n  SRP: 'srp',\n  SRP_LATN: 'srp_latn',\n  SWA: 'swa',\n  SWE: 'swe',\n  SYR: 'syr',\n  TAM: 'tam',\n  TEL: 'tel',\n  TGK: 'tgk',\n  TGL: 'tgl',\n  THA: 'tha',\n  TIR: 'tir',\n  TUR: 'tur',\n  UIG: 'uig',\n  UKR: 'ukr',\n  URD: 'urd',\n  UZB: 'uzb',\n  UZB_CYRL: 'uzb_cyrl',\n  VIE: 'vie',\n  YID: 'yid',\n};\n","const getId = require('./utils/getId');\n\nlet jobCounter = 0;\n\nmodule.exports = ({\n  id: _id,\n  action,\n  payload = {},\n}) => {\n  let id = _id;\n  if (typeof id === 'undefined') {\n    id = getId('Job', jobCounter);\n    jobCounter += 1;\n  }\n\n  return {\n    id,\n    action,\n    payload,\n  };\n};\n","const createJob = require('./createJob');\nconst { log } = require('./utils/log');\nconst getId = require('./utils/getId');\n\nlet schedulerCounter = 0;\n\nmodule.exports = () => {\n  const id = getId('Scheduler', schedulerCounter);\n  const workers = {};\n  const runningWorkers = {};\n  let jobQueue = [];\n\n  schedulerCounter += 1;\n\n  const getQueueLen = () => jobQueue.length;\n  const getNumWorkers = () => Object.keys(workers).length;\n\n  const dequeue = () => {\n    if (jobQueue.length !== 0) {\n      const wIds = Object.keys(workers);\n      for (let i = 0; i < wIds.length; i += 1) {\n        if (typeof runningWorkers[wIds[i]] === 'undefined') {\n          jobQueue[0](workers[wIds[i]]);\n          break;\n        }\n      }\n    }\n  };\n\n  const queue = (action, payload) => (\n    new Promise((resolve, reject) => {\n      const job = createJob({ action, payload });\n      jobQueue.push(async (w) => {\n        jobQueue.shift();\n        runningWorkers[w.id] = job;\n        try {\n          resolve(await w[action].apply(this, [...payload, job.id]));\n        } catch (err) {\n          reject(err);\n        } finally {\n          delete runningWorkers[w.id];\n          dequeue();\n        }\n      });\n      log(`[${id}]: Add ${job.id} to JobQueue`);\n      log(`[${id}]: JobQueue length=${jobQueue.length}`);\n      dequeue();\n    })\n  );\n\n  const addWorker = (w) => {\n    workers[w.id] = w;\n    log(`[${id}]: Add ${w.id}`);\n    log(`[${id}]: Number of workers=${getNumWorkers()}`);\n    dequeue();\n    return w.id;\n  };\n\n  const addJob = async (action, ...payload) => {\n    if (getNumWorkers() === 0) {\n      throw Error(`[${id}]: You need to have at least one worker before adding jobs`);\n    }\n    return queue(action, payload);\n  };\n\n  const terminate = async () => {\n    Object.keys(workers).forEach(async (wid) => {\n      await workers[wid].terminate();\n    });\n    jobQueue = [];\n  };\n\n  return {\n    addWorker,\n    addJob,\n    terminate,\n    getQueueLen,\n    getNumWorkers,\n  };\n};\n","const resolvePaths = require('./utils/resolvePaths');\nconst circularize = require('./utils/circularize');\nconst createJob = require('./createJob');\nconst { log } = require('./utils/log');\nconst getId = require('./utils/getId');\nconst { defaultOEM } = require('./constants/config');\nconst {\n  defaultOptions,\n  spawnWorker,\n  terminateWorker,\n  onMessage,\n  loadImage,\n  send,\n} = require('./worker/node');\n\nlet workerCounter = 0;\n\nmodule.exports = async (_options = {}) => {\n  const id = getId('Worker', workerCounter);\n  const {\n    logger,\n    errorHandler,\n    ...options\n  } = resolvePaths({\n    ...defaultOptions,\n    ..._options,\n  });\n  const resolves = {};\n  const rejects = {};\n\n  let workerResReject;\n  let workerResResolve;\n  const workerRes = new Promise((resolve, reject) => {\n    workerResResolve = resolve;\n    workerResReject = reject;\n  });\n  const workerError = (event) => { workerResReject(event.message); };\n\n  let worker = spawnWorker(options);\n  worker.onerror = workerError;\n\n  workerCounter += 1;\n\n  const setResolve = (action, res) => {\n    resolves[action] = res;\n  };\n\n  const setReject = (action, rej) => {\n    rejects[action] = rej;\n  };\n\n  const startJob = ({ id: jobId, action, payload }) => (\n    new Promise((resolve, reject) => {\n      log(`[${id}]: Start ${jobId}, action=${action}`);\n      setResolve(action, resolve);\n      setReject(action, reject);\n      send(worker, {\n        workerId: id,\n        jobId,\n        action,\n        payload,\n      });\n    })\n  );\n\n  const load = () => (\n    console.warn('`load` is depreciated and should be removed from code (workers now come pre-loaded)')\n  );\n\n  const loadInternal = (jobId) => (\n    startJob(createJob({\n      id: jobId, action: 'load', payload: { options },\n    }))\n  );\n\n  const writeText = (path, text, jobId) => (\n    startJob(createJob({\n      id: jobId,\n      action: 'FS',\n      payload: { method: 'writeFile', args: [path, text] },\n    }))\n  );\n\n  const readText = (path, jobId) => (\n    startJob(createJob({\n      id: jobId,\n      action: 'FS',\n      payload: { method: 'readFile', args: [path, { encoding: 'utf8' }] },\n    }))\n  );\n\n  const removeFile = (path, jobId) => (\n    startJob(createJob({\n      id: jobId,\n      action: 'FS',\n      payload: { method: 'unlink', args: [path] },\n    }))\n  );\n\n  const FS = (method, args, jobId) => (\n    startJob(createJob({\n      id: jobId,\n      action: 'FS',\n      payload: { method, args },\n    }))\n  );\n\n  const loadLanguage = (langs = 'eng', jobId) => (\n    startJob(createJob({\n      id: jobId,\n      action: 'loadLanguage',\n      payload: { langs, options },\n    }))\n  );\n\n  const initialize = (langs = 'eng', oem = defaultOEM, config, jobId) => (\n    startJob(createJob({\n      id: jobId,\n      action: 'initialize',\n      payload: { langs, oem, config },\n    }))\n  );\n\n  const setParameters = (params = {}, jobId) => (\n    startJob(createJob({\n      id: jobId,\n      action: 'setParameters',\n      payload: { params },\n    }))\n  );\n\n  const recognize = async (image, opts = {}, output = {\n    blocks: true, text: true, hocr: true, tsv: true,\n  }, jobId) => (\n    startJob(createJob({\n      id: jobId,\n      action: 'recognize',\n      payload: { image: await loadImage(image), options: opts, output },\n    }))\n  );\n\n  const getPDF = (title = 'Tesseract OCR Result', textonly = false, jobId) => {\n    console.log('`getPDF` function is depreciated. `recognize` option `savePDF` should be used instead.');\n    return startJob(createJob({\n      id: jobId,\n      action: 'getPDF',\n      payload: { title, textonly },\n    }));\n  };\n\n  const detect = async (image, jobId) => (\n    startJob(createJob({\n      id: jobId,\n      action: 'detect',\n      payload: { image: await loadImage(image) },\n    }))\n  );\n\n  const terminate = async () => {\n    if (worker !== null) {\n      /*\n      await startJob(createJob({\n        id: jobId,\n        action: 'terminate',\n      }));\n      */\n      terminateWorker(worker);\n      worker = null;\n    }\n    return Promise.resolve();\n  };\n\n  onMessage(worker, ({\n    workerId, jobId, status, action, data,\n  }) => {\n    if (status === 'resolve') {\n      log(`[${workerId}]: Complete ${jobId}`);\n      let d = data;\n      if (action === 'recognize') {\n        d = circularize(data);\n      } else if (action === 'getPDF') {\n        d = Array.from({ ...data, length: Object.keys(data).length });\n      }\n      resolves[action]({ jobId, data: d });\n    } else if (status === 'reject') {\n      rejects[action](data);\n      if (action === 'load') workerResReject(data);\n      if (errorHandler) {\n        errorHandler(data);\n      } else {\n        throw Error(data);\n      }\n    } else if (status === 'progress') {\n      logger({ ...data, userJobId: jobId });\n    }\n  });\n\n  const resolveObj = {\n    id,\n    worker,\n    setResolve,\n    setReject,\n    load,\n    writeText,\n    readText,\n    removeFile,\n    FS,\n    loadLanguage,\n    initialize,\n    setParameters,\n    recognize,\n    getPDF,\n    detect,\n    terminate,\n  };\n\n  loadInternal().then(() => workerResResolve(resolveObj)).catch(() => {});\n\n  return workerRes;\n};\n","/**\n *\n * Entry point for tesseract.js, should be the entry when bundling.\n *\n * @fileoverview entry point for tesseract.js\n * @author Kevin Kwok <antimatter15@gmail.com>\n * @author Guillermo Webster <gui@mit.edu>\n * @author Jerome Wu <jeromewus@gmail.com>\n */\nrequire('regenerator-runtime/runtime');\nconst createScheduler = require('./createScheduler');\nconst createWorker = require('./createWorker');\nconst Tesseract = require('./Tesseract');\nconst languages = require('./constants/languages');\nconst OEM = require('./constants/OEM');\nconst PSM = require('./constants/PSM');\nconst { setLogging } = require('./utils/log');\n\nmodule.exports = {\n  languages,\n  OEM,\n  PSM,\n  createScheduler,\n  createWorker,\n  setLogging,\n  ...Tesseract,\n};\n","/**\n * In the recognition result of tesseract, there\n * is a deep JSON object for details, it has around\n *\n * The result of dump.js is a big JSON tree\n * which can be easily serialized (for instance\n * to be sent from a webworker to the main app\n * or through Node's IPC), but we want\n * a (circular) DOM-like interface for walking\n * through the data.\n *\n * @fileoverview DOM-like interface for walking through data\n * @author Kevin Kwok <antimatter15@gmail.com>\n * @author Guillermo Webster <gui@mit.edu>\n * @author Jerome Wu <jeromewus@gmail.com>\n */\n\nmodule.exports = (page) => {\n  const blocks = [];\n  const paragraphs = [];\n  const lines = [];\n  const words = [];\n  const symbols = [];\n\n  if (page.blocks) {\n    page.blocks.forEach((block) => {\n      block.paragraphs.forEach((paragraph) => {\n        paragraph.lines.forEach((line) => {\n          line.words.forEach((word) => {\n            word.symbols.forEach((sym) => {\n              symbols.push({\n                ...sym, page, block, paragraph, line, word,\n              });\n            });\n            words.push({\n              ...word, page, block, paragraph, line,\n            });\n          });\n          lines.push({\n            ...line, page, block, paragraph,\n          });\n        });\n        paragraphs.push({\n          ...paragraph, page, block,\n        });\n      });\n      blocks.push({\n        ...block, page,\n      });\n    });\n  }\n\n  return {\n    ...page, blocks, paragraphs, lines, words, symbols,\n  };\n};\n","const isElectron = require('is-electron');\n\nmodule.exports = (key) => {\n  const env = {};\n\n  if (typeof WorkerGlobalScope !== 'undefined') {\n    env.type = 'webworker';\n  } else if (isElectron()) {\n    env.type = 'electron';\n  } else if (typeof window === 'object') {\n    env.type = 'browser';\n  } else if (typeof process === 'object' && typeof require === 'function') {\n    env.type = 'node';\n  }\n\n  if (typeof key === 'undefined') {\n    return env;\n  }\n\n  return env[key];\n};\n","module.exports = (prefix, cnt) => (\n  `${prefix}-${cnt}-${Math.random().toString(16).slice(3, 8)}`\n);\n","let logging = false;\n\nexports.logging = logging;\n\nexports.setLogging = (_logging) => {\n  logging = _logging;\n};\n\nexports.log = (...args) => (logging ? console.log.apply(this, args) : null);\n","const isBrowser = require('./getEnvironment')('type') === 'browser';\nconst resolveURL = isBrowser ? require('resolve-url') : s => s; // eslint-disable-line\n\nmodule.exports = (options) => {\n  const opts = { ...options };\n  ['corePath', 'workerPath', 'langPath'].forEach((key) => {\n    if (options[key]) {\n      opts[key] = resolveURL(opts[key]);\n    }\n  });\n  return opts;\n};\n","const resolveURL = require('resolve-url');\nconst { version } = require('../../../package.json');\nconst defaultOptions = require('../../constants/defaultOptions');\n\n/*\n * Default options for browser worker\n */\nmodule.exports = {\n  ...defaultOptions,\n  workerPath: (typeof process !== 'undefined' && process.env.TESS_ENV === 'development')\n    ? resolveURL(`/dist/worker.dev.js?nocache=${Math.random().toString(36).slice(3)}`)\n    : `https://unpkg.com/tesseract.js@v${version}/dist/worker.min.js`,\n  /*\n   * If browser doesn't support WebAssembly,\n   * load ASM version instead\n   */\n  corePath: null,\n};\n","/**\n *\n * Tesseract Worker adapter for browser\n *\n * @fileoverview Tesseract Worker adapter for browser\n * @author Kevin Kwok <antimatter15@gmail.com>\n * @author Guillermo Webster <gui@mit.edu>\n * @author Jerome Wu <jeromewus@gmail.com>\n */\nconst defaultOptions = require('./defaultOptions');\nconst spawnWorker = require('./spawnWorker');\nconst terminateWorker = require('./terminateWorker');\nconst onMessage = require('./onMessage');\nconst send = require('./send');\nconst loadImage = require('./loadImage');\n\nmodule.exports = {\n  defaultOptions,\n  spawnWorker,\n  terminateWorker,\n  onMessage,\n  send,\n  loadImage,\n};\n","const resolveURL = require('resolve-url');\n\n/**\n * readFromBlobOrFile\n *\n * @name readFromBlobOrFile\n * @function\n * @access private\n */\nconst readFromBlobOrFile = (blob) => (\n  new Promise((resolve, reject) => {\n    const fileReader = new FileReader();\n    fileReader.onload = () => {\n      resolve(fileReader.result);\n    };\n    fileReader.onerror = ({ target: { error: { code } } }) => {\n      reject(Error(`File could not be read! Code=${code}`));\n    };\n    fileReader.readAsArrayBuffer(blob);\n  })\n);\n\n/**\n * loadImage\n *\n * @name loadImage\n * @function load image from different source\n * @access private\n */\nconst loadImage = async (image) => {\n  let data = image;\n  if (typeof image === 'undefined') {\n    return 'undefined';\n  }\n\n  if (typeof image === 'string') {\n    // Base64 Image\n    if (/data:image\\/([a-zA-Z]*);base64,([^\"]*)/.test(image)) {\n      data = atob(image.split(',')[1])\n        .split('')\n        .map((c) => c.charCodeAt(0));\n    } else {\n      const resp = await fetch(resolveURL(image));\n      data = await resp.arrayBuffer();\n    }\n  } else if (image instanceof HTMLElement) {\n    if (image.tagName === 'IMG') {\n      data = await loadImage(image.src);\n    }\n    if (image.tagName === 'VIDEO') {\n      data = await loadImage(image.poster);\n    }\n    if (image.tagName === 'CANVAS') {\n      await new Promise((resolve) => {\n        image.toBlob(async (blob) => {\n          data = await readFromBlobOrFile(blob);\n          resolve();\n        });\n      });\n    }\n  } else if (image instanceof File || image instanceof Blob) {\n    data = await readFromBlobOrFile(image);\n  }\n\n  return new Uint8Array(data);\n};\n\nmodule.exports = loadImage;\n","module.exports = (worker, handler) => {\n  worker.onmessage = ({ data }) => { // eslint-disable-line\n    handler(data);\n  };\n};\n","/**\n * send\n *\n * @name send\n * @function send packet to worker and create a job\n * @access public\n */\nmodule.exports = async (worker, packet) => {\n  worker.postMessage(packet);\n};\n","/**\n * spawnWorker\n *\n * @name spawnWorker\n * @function create a new Worker in browser\n * @access public\n */\nmodule.exports = ({ workerPath, workerBlobURL }) => {\n  let worker;\n  if (Blob && URL && workerBlobURL) {\n    const blob = new Blob([`importScripts(\"${workerPath}\");`], {\n      type: 'application/javascript',\n    });\n    worker = new Worker(URL.createObjectURL(blob));\n  } else {\n    worker = new Worker(workerPath);\n  }\n\n  return worker;\n};\n","/**\n * terminateWorker\n *\n * @name terminateWorker\n * @function terminate worker\n * @access public\n */\nmodule.exports = (worker) => {\n  worker.terminate();\n};\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\tloaded: false,\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Flag the module as loaded\n\tmodule.loaded = true;\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","__webpack_require__.nmd = (module) => {\n\tmodule.paths = [];\n\tif (!module.children) module.children = [];\n\treturn module;\n};","// startup\n// Load entry module and return exports\n// This entry module is referenced by other modules so it can't be inlined\nvar __webpack_exports__ = __webpack_require__(352);\n"],"names":["root","factory","exports","module","define","amd","self","window","process","type","versions","electron","navigator","userAgent","indexOf","runtime","undefined","Op","Object","prototype","hasOwn","hasOwnProperty","$Symbol","Symbol","iteratorSymbol","iterator","asyncIteratorSymbol","asyncIterator","toStringTagSymbol","toStringTag","obj","key","value","defineProperty","enumerable","configurable","writable","err","wrap","innerFn","outerFn","tryLocsList","protoGenerator","Generator","generator","create","context","Context","_invoke","state","GenStateSuspendedStart","method","arg","GenStateExecuting","Error","GenStateCompleted","doneResult","delegate","delegateResult","maybeInvokeDelegate","ContinueSentinel","sent","_sent","dispatchException","abrupt","record","tryCatch","done","GenStateSuspendedYield","makeInvokeMethod","fn","call","GeneratorFunction","GeneratorFunctionPrototype","IteratorPrototype","this","getProto","getPrototypeOf","NativeIteratorPrototype","values","Gp","defineIteratorMethods","forEach","AsyncIterator","PromiseImpl","invoke","resolve","reject","result","__await","then","unwrapped","error","previousPromise","callInvokeWithMethodAndArg","TypeError","info","resultName","next","nextLoc","pushTryEntry","locs","entry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","push","resetTryEntry","completion","reset","iterable","iteratorMethod","isNaN","length","i","displayName","isGeneratorFunction","genFun","ctor","constructor","name","mark","setPrototypeOf","__proto__","awrap","async","Promise","iter","keys","object","reverse","pop","skipTempReset","prev","charAt","slice","stop","rootRecord","rval","exception","handle","loc","caught","hasCatch","hasFinally","finallyEntry","complete","finish","thrown","delegateYield","regeneratorRuntime","accidentalStrictMode","globalThis","Function","numUrls","arguments","base","document","createElement","href","head","getElementsByTagName","insertBefore","firstChild","resolved","a","index","removeChild","createWorker","require","recognize","image","langs","options","worker","loadLanguage","initialize","finally","terminate","detect","TESSERACT_ONLY","LSTM_ONLY","TESSERACT_LSTM_COMBINED","DEFAULT","OSD_ONLY","AUTO_OSD","AUTO_ONLY","AUTO","SINGLE_COLUMN","SINGLE_BLOCK_VERT_TEXT","SINGLE_BLOCK","SINGLE_LINE","SINGLE_WORD","CIRCLE_WORD","SINGLE_CHAR","SPARSE_TEXT","SPARSE_TEXT_OSD","RAW_LINE","OEM","defaultOEM","langPath","workerBlobURL","logger","AFR","AMH","ARA","ASM","AZE","AZE_CYRL","BEL","BEN","BOD","BOS","BUL","CAT","CEB","CES","CHI_SIM","CHI_TRA","CHR","CYM","DAN","DEU","DZO","ELL","ENG","ENM","EPO","EST","EUS","FAS","FIN","FRA","FRK","FRM","GLE","GLG","GRC","GUJ","HAT","HEB","HIN","HRV","HUN","IKU","IND","ISL","ITA","ITA_OLD","JAV","JPN","KAN","KAT","KAT_OLD","KAZ","KHM","KIR","KOR","KUR","LAO","LAT","LAV","LIT","MAL","MAR","MKD","MLT","MSA","MYA","NEP","NLD","NOR","ORI","PAN","POL","POR","PUS","RON","RUS","SAN","SIN","SLK","SLV","SPA","SPA_OLD","SQI","SRP","SRP_LATN","SWA","SWE","SYR","TAM","TEL","TGK","TGL","THA","TIR","TUR","UIG","UKR","URD","UZB","UZB_CYRL","VIE","YID","getId","jobCounter","_id","id","action","payload","createJob","log","schedulerCounter","workers","runningWorkers","jobQueue","getNumWorkers","dequeue","wIds","queue","job","w","shift","apply","addJob","wid","addWorker","getQueueLen","resolvePaths","circularize","defaultOptions","spawnWorker","terminateWorker","onMessage","loadImage","send","workerCounter","_options","errorHandler","resolves","rejects","workerRes","workerResResolve","workerResReject","workerError","event","message","onerror","setResolve","res","setReject","rej","startJob","jobId","workerId","load","console","warn","loadInternal","writeText","path","text","args","readText","encoding","removeFile","FS","oem","config","setParameters","params","opts","output","blocks","hocr","tsv","getPDF","title","textonly","status","data","d","Array","from","userJobId","resolveObj","catch","createScheduler","Tesseract","languages","PSM","setLogging","page","paragraphs","lines","words","symbols","block","paragraph","line","word","sym","isElectron","env","WorkerGlobalScope","prefix","cnt","Math","random","toString","logging","_logging","resolveURL","s","version","workerPath","TESS_ENV","corePath","readFromBlobOrFile","blob","fileReader","FileReader","onload","code","target","readAsArrayBuffer","test","atob","split","map","c","charCodeAt","fetch","resp","arrayBuffer","HTMLElement","tagName","src","poster","toBlob","File","Blob","Uint8Array","handler","onmessage","packet","postMessage","URL","Worker","createObjectURL","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","loaded","__webpack_modules__","nmd","paths","children"],"sourceRoot":""}
\ No newline at end of file
+{"version":3,"sources":["webpack://Tesseract/webpack/universalModuleDefinition","webpack://Tesseract/webpack/bootstrap","webpack://Tesseract/./src/utils/getId.js","webpack://Tesseract/./src/utils/log.js","webpack://Tesseract/./node_modules/process/browser.js","webpack://Tesseract/./node_modules/resolve-url/resolve-url.js","webpack://Tesseract/./src/createJob.js","webpack://Tesseract/./src/createWorker.js","webpack://Tesseract/./src/constants/OEM.js","webpack://Tesseract/./src/index.js","webpack://Tesseract/./node_modules/regenerator-runtime/runtime.js","webpack://Tesseract/(webpack)/buildin/module.js","webpack://Tesseract/./src/createScheduler.js","webpack://Tesseract/./src/utils/resolvePaths.js","webpack://Tesseract/./src/utils/getEnvironment.js","webpack://Tesseract/./node_modules/is-electron/index.js","webpack://Tesseract/./src/utils/circularize.js","webpack://Tesseract/./src/constants/config.js","webpack://Tesseract/./src/worker/browser/index.js","webpack://Tesseract/./src/worker/browser/defaultOptions.js","webpack://Tesseract/./src/constants/defaultOptions.js","webpack://Tesseract/./src/worker/browser/spawnWorker.js","webpack://Tesseract/./src/worker/browser/terminateWorker.js","webpack://Tesseract/./src/worker/browser/onMessage.js","webpack://Tesseract/./src/worker/browser/send.js","webpack://Tesseract/./src/worker/browser/loadImage.js","webpack://Tesseract/./src/Tesseract.js","webpack://Tesseract/./src/constants/PSM.js"],"names":["root","factory","exports","module","define","amd","window","installedModules","__webpack_require__","moduleId","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","prefix","cnt","Math","random","toString","slice","logging","setLogging","_logging","log","args","console","apply","cachedSetTimeout","cachedClearTimeout","process","defaultSetTimout","Error","defaultClearTimeout","runTimeout","fun","setTimeout","e","this","clearTimeout","currentQueue","queue","draining","queueIndex","cleanUpNextTick","length","concat","drainQueue","timeout","len","run","marker","runClearTimeout","Item","array","noop","nextTick","Array","arguments","push","title","browser","env","argv","version","versions","on","addListener","once","off","removeListener","removeAllListeners","emit","prependListener","prependOnceListener","listeners","binding","cwd","chdir","dir","umask","numUrls","base","document","createElement","href","head","getElementsByTagName","insertBefore","firstChild","resolved","a","index","removeChild","getId","require","jobCounter","_id","id","action","payload","resolvePaths","circularize","createJob","defaultOEM","defaultOptions","spawnWorker","terminateWorker","onMessage","loadImage","send","workerCounter","_options","logger","errorHandler","options","resolves","rejects","worker","setResolve","res","setReject","rej","startJob","jobId","Promise","resolve","reject","workerId","load","writeText","path","text","method","readText","encoding","removeFile","FS","loadLanguage","langs","initialize","oem","setParameters","params","recognize","image","opts","getPDF","textonly","detect","terminate","status","data","from","keys","TESSERACT_ONLY","LSTM_ONLY","TESSERACT_LSTM_COMBINED","DEFAULT","createScheduler","createWorker","Tesseract","OEM","PSM","runtime","undefined","Op","hasOwn","$Symbol","iteratorSymbol","iterator","asyncIteratorSymbol","asyncIterator","toStringTagSymbol","wrap","innerFn","outerFn","self","tryLocsList","protoGenerator","Generator","generator","context","Context","_invoke","state","GenStateSuspendedStart","arg","GenStateExecuting","GenStateCompleted","doneResult","delegate","delegateResult","maybeInvokeDelegate","ContinueSentinel","sent","_sent","dispatchException","abrupt","record","tryCatch","type","done","GenStateSuspendedYield","makeInvokeMethod","fn","obj","err","GeneratorFunction","GeneratorFunctionPrototype","IteratorPrototype","getProto","getPrototypeOf","NativeIteratorPrototype","values","Gp","defineIteratorMethods","forEach","AsyncIterator","previousPromise","callInvokeWithMethodAndArg","invoke","result","__await","then","unwrapped","error","TypeError","info","resultName","next","nextLoc","pushTryEntry","locs","entry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","resetTryEntry","completion","reset","iterable","iteratorMethod","isNaN","constructor","displayName","isGeneratorFunction","genFun","ctor","mark","setPrototypeOf","__proto__","awrap","async","iter","reverse","pop","skipTempReset","prev","charAt","stop","rootRecord","rval","exception","handle","loc","caught","hasCatch","hasFinally","finallyEntry","complete","finish","thrown","delegateYield","regeneratorRuntime","accidentalStrictMode","Function","webpackPolyfill","deprecate","paths","children","schedulerCounter","workers","runningWorkers","jobQueue","getNumWorkers","dequeue","wIds","job","w","shift","addWorker","addJob","wid","getQueueLen","resolveURL","isElectron","importScripts","electron","navigator","userAgent","indexOf","page","blocks","paragraphs","lines","words","symbols","block","paragraph","line","word","sym","dependencies","workerPath","TESS_ENV","corePath","substring","WebAssembly","langPath","workerBlobURL","Blob","URL","blob","Worker","createObjectURL","handler","onmessage","packet","postMessage","readFromBlobOrFile","fileReader","FileReader","onload","onerror","code","target","readAsArrayBuffer","test","atob","split","map","charCodeAt","fetch","resp","arrayBuffer","HTMLElement","tagName","src","poster","toBlob","File","Uint8Array","finally","OSD_ONLY","AUTO_OSD","AUTO_ONLY","AUTO","SINGLE_COLUMN","SINGLE_BLOCK_VERT_TEXT","SINGLE_BLOCK","SINGLE_LINE","SINGLE_WORD","CIRCLE_WORD","SINGLE_CHAR","SPARSE_TEXT","SPARSE_TEXT_OSD"],"mappings":"CAAA,SAA2CA,EAAMC,GAC1B,iBAAZC,SAA0C,iBAAXC,OACxCA,OAAOD,QAAUD,IACQ,mBAAXG,QAAyBA,OAAOC,IAC9CD,OAAO,GAAIH,GACe,iBAAZC,QACdA,QAAmB,UAAID,IAEvBD,EAAgB,UAAIC,IARtB,CASGK,QAAQ,WACX,O,YCTE,IAAIC,EAAmB,GAGvB,SAASC,EAAoBC,GAG5B,GAAGF,EAAiBE,GACnB,OAAOF,EAAiBE,GAAUP,QAGnC,IAAIC,EAASI,EAAiBE,GAAY,CACzCC,EAAGD,EACHE,GAAG,EACHT,QAAS,IAUV,OANAU,EAAQH,GAAUI,KAAKV,EAAOD,QAASC,EAAQA,EAAOD,QAASM,GAG/DL,EAAOQ,GAAI,EAGJR,EAAOD,QA0Df,OArDAM,EAAoBM,EAAIF,EAGxBJ,EAAoBO,EAAIR,EAGxBC,EAAoBQ,EAAI,SAASd,EAASe,EAAMC,GAC3CV,EAAoBW,EAAEjB,EAASe,IAClCG,OAAOC,eAAenB,EAASe,EAAM,CAAEK,YAAY,EAAMC,IAAKL,KAKhEV,EAAoBgB,EAAI,SAAStB,GACX,oBAAXuB,QAA0BA,OAAOC,aAC1CN,OAAOC,eAAenB,EAASuB,OAAOC,YAAa,CAAEC,MAAO,WAE7DP,OAAOC,eAAenB,EAAS,aAAc,CAAEyB,OAAO,KAQvDnB,EAAoBoB,EAAI,SAASD,EAAOE,GAEvC,GADU,EAAPA,IAAUF,EAAQnB,EAAoBmB,IAC/B,EAAPE,EAAU,OAAOF,EACpB,GAAW,EAAPE,GAA8B,iBAAVF,GAAsBA,GAASA,EAAMG,WAAY,OAAOH,EAChF,IAAII,EAAKX,OAAOY,OAAO,MAGvB,GAFAxB,EAAoBgB,EAAEO,GACtBX,OAAOC,eAAeU,EAAI,UAAW,CAAET,YAAY,EAAMK,MAAOA,IACtD,EAAPE,GAA4B,iBAATF,EAAmB,IAAI,IAAIM,KAAON,EAAOnB,EAAoBQ,EAAEe,EAAIE,EAAK,SAASA,GAAO,OAAON,EAAMM,IAAQC,KAAK,KAAMD,IAC9I,OAAOF,GAIRvB,EAAoB2B,EAAI,SAAShC,GAChC,IAAIe,EAASf,GAAUA,EAAO2B,WAC7B,WAAwB,OAAO3B,EAAgB,SAC/C,WAA8B,OAAOA,GAEtC,OADAK,EAAoBQ,EAAEE,EAAQ,IAAKA,GAC5BA,GAIRV,EAAoBW,EAAI,SAASiB,EAAQC,GAAY,OAAOjB,OAAOkB,UAAUC,eAAe1B,KAAKuB,EAAQC,IAGzG7B,EAAoBgC,EAAI,GAIjBhC,EAAoBA,EAAoBiC,EAAI,G,gBClFrDtC,EAAOD,QAAU,SAACwC,EAAQC,GAAT,gBACZD,EADY,YACFC,EADE,YACKC,KAAKC,SAASC,SAAS,IAAIC,MAAM,EAAG,M,yBCDtDC,GAAU,EAEd9C,EAAQ8C,QAAUA,EAElB9C,EAAQ+C,WAAa,SAACC,GACpBF,EAAUE,GAGZhD,EAAQiD,IAAM,sCAAIC,EAAJ,yBAAIA,EAAJ,uBAAcJ,EAAUK,QAAQF,IAAIG,MAAM,EAAMF,GAAQ,O,cCPtE,IAOIG,EACAC,EARAC,EAAUtD,EAAOD,QAAU,GAU/B,SAASwD,IACL,MAAM,IAAIC,MAAM,mCAEpB,SAASC,IACL,MAAM,IAAID,MAAM,qCAsBpB,SAASE,EAAWC,GAChB,GAAIP,IAAqBQ,WAErB,OAAOA,WAAWD,EAAK,GAG3B,IAAKP,IAAqBG,IAAqBH,IAAqBQ,WAEhE,OADAR,EAAmBQ,WACZA,WAAWD,EAAK,GAE3B,IAEI,OAAOP,EAAiBO,EAAK,GAC/B,MAAME,GACJ,IAEI,OAAOT,EAAiB1C,KAAK,KAAMiD,EAAK,GAC1C,MAAME,GAEJ,OAAOT,EAAiB1C,KAAKoD,KAAMH,EAAK,MAvCnD,WACG,IAEQP,EADsB,mBAAfQ,WACYA,WAEAL,EAEzB,MAAOM,GACLT,EAAmBG,EAEvB,IAEQF,EADwB,mBAAjBU,aACcA,aAEAN,EAE3B,MAAOI,GACLR,EAAqBI,GAjB5B,GAwED,IAEIO,EAFAC,EAAQ,GACRC,GAAW,EAEXC,GAAc,EAElB,SAASC,IACAF,GAAaF,IAGlBE,GAAW,EACPF,EAAaK,OACbJ,EAAQD,EAAaM,OAAOL,GAE5BE,GAAc,EAEdF,EAAMI,QACNE,KAIR,SAASA,IACL,IAAIL,EAAJ,CAGA,IAAIM,EAAUd,EAAWU,GACzBF,GAAW,EAGX,IADA,IAAIO,EAAMR,EAAMI,OACVI,GAAK,CAGP,IAFAT,EAAeC,EACfA,EAAQ,KACCE,EAAaM,GACdT,GACAA,EAAaG,GAAYO,MAGjCP,GAAc,EACdM,EAAMR,EAAMI,OAEhBL,EAAe,KACfE,GAAW,EAnEf,SAAyBS,GACrB,GAAItB,IAAuBU,aAEvB,OAAOA,aAAaY,GAGxB,IAAKtB,IAAuBI,IAAwBJ,IAAuBU,aAEvE,OADAV,EAAqBU,aACdA,aAAaY,GAExB,IAEWtB,EAAmBsB,GAC5B,MAAOd,GACL,IAEI,OAAOR,EAAmB3C,KAAK,KAAMiE,GACvC,MAAOd,GAGL,OAAOR,EAAmB3C,KAAKoD,KAAMa,KAgD7CC,CAAgBJ,IAiBpB,SAASK,EAAKlB,EAAKmB,GACfhB,KAAKH,IAAMA,EACXG,KAAKgB,MAAQA,EAYjB,SAASC,KA5BTzB,EAAQ0B,SAAW,SAAUrB,GACzB,IAAIV,EAAO,IAAIgC,MAAMC,UAAUb,OAAS,GACxC,GAAIa,UAAUb,OAAS,EACnB,IAAK,IAAI9D,EAAI,EAAGA,EAAI2E,UAAUb,OAAQ9D,IAClC0C,EAAK1C,EAAI,GAAK2E,UAAU3E,GAGhC0D,EAAMkB,KAAK,IAAIN,EAAKlB,EAAKV,IACJ,IAAjBgB,EAAMI,QAAiBH,GACvBR,EAAWa,IASnBM,EAAK1C,UAAUuC,IAAM,WACjBZ,KAAKH,IAAIR,MAAM,KAAMW,KAAKgB,QAE9BxB,EAAQ8B,MAAQ,UAChB9B,EAAQ+B,SAAU,EAClB/B,EAAQgC,IAAM,GACdhC,EAAQiC,KAAO,GACfjC,EAAQkC,QAAU,GAClBlC,EAAQmC,SAAW,GAInBnC,EAAQoC,GAAKX,EACbzB,EAAQqC,YAAcZ,EACtBzB,EAAQsC,KAAOb,EACfzB,EAAQuC,IAAMd,EACdzB,EAAQwC,eAAiBf,EACzBzB,EAAQyC,mBAAqBhB,EAC7BzB,EAAQ0C,KAAOjB,EACfzB,EAAQ2C,gBAAkBlB,EAC1BzB,EAAQ4C,oBAAsBnB,EAE9BzB,EAAQ6C,UAAY,SAAUrF,GAAQ,MAAO,IAE7CwC,EAAQ8C,QAAU,SAAUtF,GACxB,MAAM,IAAI0C,MAAM,qCAGpBF,EAAQ+C,IAAM,WAAc,MAAO,KACnC/C,EAAQgD,MAAQ,SAAUC,GACtB,MAAM,IAAI/C,MAAM,mCAEpBF,EAAQkD,MAAQ,WAAa,OAAO,I,6BClL1B,0BAANvG,EAMI,WAiCN,OA/BA,WACE,IAAIwG,EAAUvB,UAAUb,OAExB,GAAgB,IAAZoC,EACF,MAAM,IAAIjD,MAAM,wDAGlB,IAAIkD,EAAOC,SAASC,cAAc,QAGlC,GAFAF,EAAKG,KAAO3B,UAAU,GAEN,IAAZuB,EACF,OAAOC,EAAKG,KAGd,IAAIC,EAAOH,SAASI,qBAAqB,QAAQ,GACjDD,EAAKE,aAAaN,EAAMI,EAAKG,YAK7B,IAHA,IACIC,EADAC,EAAIR,SAASC,cAAc,KAGtBQ,EAAQ,EAAGA,EAAQX,EAASW,IACnCD,EAAEN,KAAO3B,UAAUkC,GACnBF,EAAWC,EAAEN,KACbH,EAAKG,KAAOK,EAKd,OAFAJ,EAAKO,YAAYX,GAEVQ,KApCD,mC,gBCLV,IAAMI,EAAQC,EAAQ,GAElBC,EAAa,EAEjBxH,EAAOD,QAAU,YAIX,IAHA0H,EAGA,EAHJC,GACAC,EAEI,EAFJA,OAEI,IADJC,eACI,MADM,GACN,EACAF,EAAKD,EAMT,YALkB,IAAPC,IACTA,EAAKJ,EAAM,MAAOE,GAClBA,GAAc,GAGT,CACLE,KACAC,SACAC,a,u3CClBJ,IAAMC,EAAeN,EAAQ,IACvBO,EAAcP,EAAQ,IACtBQ,EAAYR,EAAQ,GAClBvE,EAAQuE,EAAQ,GAAhBvE,IACFsE,EAAQC,EAAQ,GACdS,EAAeT,EAAQ,IAAvBS,W,EAQJT,EAAQ,IANVU,E,EAAAA,eACAC,E,EAAAA,YACAC,E,EAAAA,gBACAC,E,EAAAA,UACAC,E,EAAAA,UACAC,E,EAAAA,KAGEC,EAAgB,EAEpBvI,EAAOD,QAAU,WAAmB,IAAlByI,EAAkB,uDAAP,GACrBd,EAAKJ,EAAM,SAAUiB,GADO,EAM9BV,EAAa,EAAD,GACXI,EADW,GAEXO,IALHC,EAHgC,EAGhCA,OACAC,EAJgC,EAIhCA,aACGC,EAL6B,+BAU5BC,EAAW,GACXC,EAAU,GACZC,EAASZ,EAAYS,GAEzBJ,GAAiB,EAEjB,IAAMQ,EAAa,SAACpB,EAAQqB,GAC1BJ,EAASjB,GAAUqB,GAGfC,EAAY,SAACtB,EAAQuB,GACzBL,EAAQlB,GAAUuB,GAGdC,EAAW,SAAC,GAAD,IAAOC,EAAP,EAAG1B,GAAWC,EAAd,EAAcA,OAAQC,EAAtB,EAAsBA,QAAtB,OACf,IAAIyB,SAAQ,SAACC,EAASC,GACpBvG,EAAI,IAAD,OAAK0E,EAAL,oBAAmB0B,EAAnB,oBAAoCzB,IACvCoB,EAAWpB,EAAQ2B,GACnBL,EAAUtB,EAAQ4B,GAClBjB,EAAKQ,EAAQ,CACXU,SAAU9B,EACV0B,QACAzB,SACAC,gBAKA6B,EAAO,SAAAL,GAAK,OAChBD,EAASpB,EAAU,CACjBL,GAAI0B,EAAOzB,OAAQ,OAAQC,QAAS,CAAEe,eAIpCe,EAAY,SAACC,EAAMC,EAAMR,GAAb,OAChBD,EAASpB,EAAU,CACjBL,GAAI0B,EACJzB,OAAQ,KACRC,QAAS,CAAEiC,OAAQ,YAAa5G,KAAM,CAAC0G,EAAMC,QAI3CE,EAAW,SAACH,EAAMP,GAAP,OACfD,EAASpB,EAAU,CACjBL,GAAI0B,EACJzB,OAAQ,KACRC,QAAS,CAAEiC,OAAQ,WAAY5G,KAAM,CAAC0G,EAAM,CAAEI,SAAU,cAItDC,EAAa,SAACL,EAAMP,GAAP,OACjBD,EAASpB,EAAU,CACjBL,GAAI0B,EACJzB,OAAQ,KACRC,QAAS,CAAEiC,OAAQ,SAAU5G,KAAM,CAAC0G,QAIlCM,EAAK,SAACJ,EAAQ5G,EAAMmG,GAAf,OACTD,EAASpB,EAAU,CACjBL,GAAI0B,EACJzB,OAAQ,KACRC,QAAS,CAAEiC,SAAQ5G,YAIjBiH,EAAe,eAACC,EAAD,uDAAS,MAAOf,EAAhB,8CACnBD,EAASpB,EAAU,CACjBL,GAAI0B,EACJzB,OAAQ,eACRC,QAAS,CAAEuC,QAAOxB,eAIhByB,EAAa,eAACD,EAAD,uDAAS,MAAOE,EAAhB,uDAAsBrC,EAAYoB,EAAlC,8CACjBD,EAASpB,EAAU,CACjBL,GAAI0B,EACJzB,OAAQ,aACRC,QAAS,CAAEuC,QAAOE,WAIhBC,EAAgB,eAACC,EAAD,uDAAU,GAAInB,EAAd,8CACpBD,EAASpB,EAAU,CACjBL,GAAI0B,EACJzB,OAAQ,gBACRC,QAAS,CAAE2C,cAITC,EAAS,4CAAG,WAAOC,GAAP,2GAAcC,EAAd,+BAAqB,GAAItB,EAAzB,4BAChBD,EADgB,KACPpB,EADO,KAEVqB,EAFU,SAIUf,EAAUoC,GAJpB,+BAIqCC,EAJrC,MAIHD,MAJG,KAI4B9B,QAJ5B,YAEdjB,GAFc,KAGdC,OAAQ,YACRC,QAJc,wGAAH,sDAQT+C,EAAS,eAACvF,EAAD,uDAAS,uBAAwBwF,EAAjC,wDAAmDxB,EAAnD,8CACbD,EAASpB,EAAU,CACjBL,GAAI0B,EACJzB,OAAQ,SACRC,QAAS,CAAExC,QAAOwF,gBAIhBC,EAAM,4CAAG,WAAOJ,EAAOrB,GAAd,4FACbD,EADa,KACJpB,EADI,KAEPqB,EAFO,SAIaf,EAAUoC,GAJvB,gCAIAA,MAJA,YAEX/C,GAFW,KAGXC,OAAQ,SACRC,QAJW,wGAAH,wDAQNkD,EAAS,4CAAG,oGACD,OAAXhC,IAOFX,EAAgBW,GAChBA,EAAS,MATK,kBAWTO,QAAQC,WAXC,2CAAH,qDAsCf,OAxBAlB,EAAUU,GAAQ,YAEZ,IADJU,EACI,EADJA,SAAUJ,EACN,EADMA,MAAO2B,EACb,EADaA,OAAQpD,EACrB,EADqBA,OAAQqD,EAC7B,EAD6BA,KAEjC,GAAe,YAAXD,EAAsB,CACxB/H,EAAI,IAAD,OAAKwG,EAAL,uBAA4BJ,IAC/B,IAAIvI,EAAImK,EACO,cAAXrD,EACF9G,EAAIiH,EAAYkD,GACI,WAAXrD,IACT9G,EAAIoE,MAAMgG,KAAN,KAAgBD,EAAhB,CAAsB3G,OAAQpD,OAAOiK,KAAKF,GAAM3G,WAEtDuE,EAASjB,GAAQ,CAAEyB,QAAO4B,KAAMnK,SAC3B,GAAe,WAAXkK,EAAqB,CAE9B,GADAlC,EAAQlB,GAAQqD,IACZtC,EAGF,MAAMlF,MAAMwH,GAFZtC,EAAasC,OAIK,aAAXD,GACTtC,EAAOuC,MAIJ,CACLtD,KACAoB,SACAC,aACAE,YACAQ,OACAC,YACAI,WACAE,aACAC,KACAC,eACAE,aACAE,gBACAE,YACAG,SACAE,SACAC,e,cC7LJ9K,EAAOD,QAAU,CACfoL,eAAgB,EAChBC,UAAW,EACXC,wBAAyB,EACzBC,QAAS,I,sWCDX/D,EAAQ,GACR,IAAMgE,EAAkBhE,EAAQ,IAC1BiE,EAAejE,EAAQ,GACvBkE,EAAYlE,EAAQ,IACpBmE,EAAMnE,EAAQ,GACdoE,EAAMpE,EAAQ,IACZzE,EAAeyE,EAAQ,GAAvBzE,WAER9C,EAAOD,Q,+VAAP,EACE2L,MACAC,MACAJ,kBACAC,eACA1I,cACG2I,I,kQChBL,IAAIG,EAAW,SAAU7L,GACvB,aAEA,IAEI8L,EAFAC,EAAK7K,OAAOkB,UACZ4J,EAASD,EAAG1J,eAEZ4J,EAA4B,mBAAX1K,OAAwBA,OAAS,GAClD2K,EAAiBD,EAAQE,UAAY,aACrCC,EAAsBH,EAAQI,eAAiB,kBAC/CC,EAAoBL,EAAQzK,aAAe,gBAE/C,SAAS+K,EAAKC,EAASC,EAASC,EAAMC,GAEpC,IAAIC,EAAiBH,GAAWA,EAAQrK,qBAAqByK,EAAYJ,EAAUI,EAC/EC,EAAY5L,OAAOY,OAAO8K,EAAexK,WACzC2K,EAAU,IAAIC,EAAQL,GAAe,IAMzC,OAFAG,EAAUG,QAkMZ,SAA0BT,EAASE,EAAMK,GACvC,IAAIG,EAAQC,EAEZ,OAAO,SAAgBrD,EAAQsD,GAC7B,GAAIF,IAAUG,EACZ,MAAM,IAAI5J,MAAM,gCAGlB,GAAIyJ,IAAUI,EAAmB,CAC/B,GAAe,UAAXxD,EACF,MAAMsD,EAKR,OAAOG,IAMT,IAHAR,EAAQjD,OAASA,EACjBiD,EAAQK,IAAMA,IAED,CACX,IAAII,EAAWT,EAAQS,SACvB,GAAIA,EAAU,CACZ,IAAIC,EAAiBC,EAAoBF,EAAUT,GACnD,GAAIU,EAAgB,CAClB,GAAIA,IAAmBE,EAAkB,SACzC,OAAOF,GAIX,GAAuB,SAAnBV,EAAQjD,OAGViD,EAAQa,KAAOb,EAAQc,MAAQd,EAAQK,SAElC,GAAuB,UAAnBL,EAAQjD,OAAoB,CACrC,GAAIoD,IAAUC,EAEZ,MADAD,EAAQI,EACFP,EAAQK,IAGhBL,EAAQe,kBAAkBf,EAAQK,SAEN,WAAnBL,EAAQjD,QACjBiD,EAAQgB,OAAO,SAAUhB,EAAQK,KAGnCF,EAAQG,EAER,IAAIW,EAASC,EAASzB,EAASE,EAAMK,GACrC,GAAoB,WAAhBiB,EAAOE,KAAmB,CAO5B,GAJAhB,EAAQH,EAAQoB,KACZb,EACAc,EAEAJ,EAAOZ,MAAQO,EACjB,SAGF,MAAO,CACLlM,MAAOuM,EAAOZ,IACde,KAAMpB,EAAQoB,MAGS,UAAhBH,EAAOE,OAChBhB,EAAQI,EAGRP,EAAQjD,OAAS,QACjBiD,EAAQK,IAAMY,EAAOZ,OA1QPiB,CAAiB7B,EAASE,EAAMK,GAE7CD,EAcT,SAASmB,EAASK,EAAIC,EAAKnB,GACzB,IACE,MAAO,CAAEc,KAAM,SAAUd,IAAKkB,EAAG3N,KAAK4N,EAAKnB,IAC3C,MAAOoB,GACP,MAAO,CAAEN,KAAM,QAASd,IAAKoB,IAhBjCxO,EAAQuM,KAAOA,EAoBf,IAAIY,EAAyB,iBACzBiB,EAAyB,iBACzBf,EAAoB,YACpBC,EAAoB,YAIpBK,EAAmB,GAMvB,SAASd,KACT,SAAS4B,KACT,SAASC,KAIT,IAAIC,EAAoB,GACxBA,EAAkBzC,GAAkB,WAClC,OAAOnI,MAGT,IAAI6K,EAAW1N,OAAO2N,eAClBC,EAA0BF,GAAYA,EAASA,EAASG,EAAO,MAC/DD,GACAA,IAA4B/C,GAC5BC,EAAOrL,KAAKmO,EAAyB5C,KAGvCyC,EAAoBG,GAGtB,IAAIE,EAAKN,EAA2BtM,UAClCyK,EAAUzK,UAAYlB,OAAOY,OAAO6M,GAQtC,SAASM,EAAsB7M,GAC7B,CAAC,OAAQ,QAAS,UAAU8M,SAAQ,SAASpF,GAC3C1H,EAAU0H,GAAU,SAASsD,GAC3B,OAAOrJ,KAAKkJ,QAAQnD,EAAQsD,OAoClC,SAAS+B,EAAcrC,GAgCrB,IAAIsC,EAgCJrL,KAAKkJ,QA9BL,SAAiBnD,EAAQsD,GACvB,SAASiC,IACP,OAAO,IAAI/F,SAAQ,SAASC,EAASC,IAnCzC,SAAS8F,EAAOxF,EAAQsD,EAAK7D,EAASC,GACpC,IAAIwE,EAASC,EAASnB,EAAUhD,GAASgD,EAAWM,GACpD,GAAoB,UAAhBY,EAAOE,KAEJ,CACL,IAAIqB,EAASvB,EAAOZ,IAChB3L,EAAQ8N,EAAO9N,MACnB,OAAIA,GACiB,WAAjB,EAAOA,IACPuK,EAAOrL,KAAKc,EAAO,WACd6H,QAAQC,QAAQ9H,EAAM+N,SAASC,MAAK,SAAShO,GAClD6N,EAAO,OAAQ7N,EAAO8H,EAASC,MAC9B,SAASgF,GACVc,EAAO,QAASd,EAAKjF,EAASC,MAI3BF,QAAQC,QAAQ9H,GAAOgO,MAAK,SAASC,GAI1CH,EAAO9N,MAAQiO,EACfnG,EAAQgG,MACP,SAASI,GAGV,OAAOL,EAAO,QAASK,EAAOpG,EAASC,MAvBzCA,EAAOwE,EAAOZ,KAiCZkC,CAAOxF,EAAQsD,EAAK7D,EAASC,MAIjC,OAAO4F,EAaLA,EAAkBA,EAAgBK,KAChCJ,EAGAA,GACEA,KA+GV,SAAS3B,EAAoBF,EAAUT,GACrC,IAAIjD,EAAS0D,EAASrB,SAASY,EAAQjD,QACvC,GAAIA,IAAWgC,EAAW,CAKxB,GAFAiB,EAAQS,SAAW,KAEI,UAAnBT,EAAQjD,OAAoB,CAE9B,GAAI0D,EAASrB,SAAT,SAGFY,EAAQjD,OAAS,SACjBiD,EAAQK,IAAMtB,EACd4B,EAAoBF,EAAUT,GAEP,UAAnBA,EAAQjD,QAGV,OAAO6D,EAIXZ,EAAQjD,OAAS,QACjBiD,EAAQK,IAAM,IAAIwC,UAChB,kDAGJ,OAAOjC,EAGT,IAAIK,EAASC,EAASnE,EAAQ0D,EAASrB,SAAUY,EAAQK,KAEzD,GAAoB,UAAhBY,EAAOE,KAIT,OAHAnB,EAAQjD,OAAS,QACjBiD,EAAQK,IAAMY,EAAOZ,IACrBL,EAAQS,SAAW,KACZG,EAGT,IAAIkC,EAAO7B,EAAOZ,IAElB,OAAMyC,EAOFA,EAAK1B,MAGPpB,EAAQS,EAASsC,YAAcD,EAAKpO,MAGpCsL,EAAQgD,KAAOvC,EAASwC,QAQD,WAAnBjD,EAAQjD,SACViD,EAAQjD,OAAS,OACjBiD,EAAQK,IAAMtB,GAUlBiB,EAAQS,SAAW,KACZG,GANEkC,GA3BP9C,EAAQjD,OAAS,QACjBiD,EAAQK,IAAM,IAAIwC,UAAU,oCAC5B7C,EAAQS,SAAW,KACZG,GAoDX,SAASsC,EAAaC,GACpB,IAAIC,EAAQ,CAAEC,OAAQF,EAAK,IAEvB,KAAKA,IACPC,EAAME,SAAWH,EAAK,IAGpB,KAAKA,IACPC,EAAMG,WAAaJ,EAAK,GACxBC,EAAMI,SAAWL,EAAK,IAGxBnM,KAAKyM,WAAWpL,KAAK+K,GAGvB,SAASM,EAAcN,GACrB,IAAInC,EAASmC,EAAMO,YAAc,GACjC1C,EAAOE,KAAO,gBACPF,EAAOZ,IACd+C,EAAMO,WAAa1C,EAGrB,SAAShB,EAAQL,GAIf5I,KAAKyM,WAAa,CAAC,CAAEJ,OAAQ,SAC7BzD,EAAYuC,QAAQe,EAAclM,MAClCA,KAAK4M,OAAM,GA8Bb,SAAS5B,EAAO6B,GACd,GAAIA,EAAU,CACZ,IAAIC,EAAiBD,EAAS1E,GAC9B,GAAI2E,EACF,OAAOA,EAAelQ,KAAKiQ,GAG7B,GAA6B,mBAAlBA,EAASb,KAClB,OAAOa,EAGT,IAAKE,MAAMF,EAAStM,QAAS,CAC3B,IAAI9D,GAAK,EAAGuP,EAAO,SAASA,IAC1B,OAASvP,EAAIoQ,EAAStM,QACpB,GAAI0H,EAAOrL,KAAKiQ,EAAUpQ,GAGxB,OAFAuP,EAAKtO,MAAQmP,EAASpQ,GACtBuP,EAAK5B,MAAO,EACL4B,EAOX,OAHAA,EAAKtO,MAAQqK,EACbiE,EAAK5B,MAAO,EAEL4B,GAGT,OAAOA,EAAKA,KAAOA,GAKvB,MAAO,CAAEA,KAAMxC,GAIjB,SAASA,IACP,MAAO,CAAE9L,MAAOqK,EAAWqC,MAAM,GA+MnC,OAxmBAM,EAAkBrM,UAAY4M,EAAG+B,YAAcrC,EAC/CA,EAA2BqC,YAActC,EACzCC,EAA2BpC,GACzBmC,EAAkBuC,YAAc,oBAYlChR,EAAQiR,oBAAsB,SAASC,GACrC,IAAIC,EAAyB,mBAAXD,GAAyBA,EAAOH,YAClD,QAAOI,IACHA,IAAS1C,GAG2B,uBAAnC0C,EAAKH,aAAeG,EAAKpQ,QAIhCf,EAAQoR,KAAO,SAASF,GAUtB,OATIhQ,OAAOmQ,eACTnQ,OAAOmQ,eAAeH,EAAQxC,IAE9BwC,EAAOI,UAAY5C,EACbpC,KAAqB4E,IACzBA,EAAO5E,GAAqB,sBAGhC4E,EAAO9O,UAAYlB,OAAOY,OAAOkN,GAC1BkC,GAOTlR,EAAQuR,MAAQ,SAASnE,GACvB,MAAO,CAAEoC,QAASpC,IAsEpB6B,EAAsBE,EAAc/M,WACpC+M,EAAc/M,UAAUgK,GAAuB,WAC7C,OAAOrI,MAET/D,EAAQmP,cAAgBA,EAKxBnP,EAAQwR,MAAQ,SAAShF,EAASC,EAASC,EAAMC,GAC/C,IAAI8E,EAAO,IAAItC,EACb5C,EAAKC,EAASC,EAASC,EAAMC,IAG/B,OAAO3M,EAAQiR,oBAAoBxE,GAC/BgF,EACAA,EAAK1B,OAAON,MAAK,SAASF,GACxB,OAAOA,EAAOpB,KAAOoB,EAAO9N,MAAQgQ,EAAK1B,WAuKjDd,EAAsBD,GAEtBA,EAAG1C,GAAqB,YAOxB0C,EAAG9C,GAAkB,WACnB,OAAOnI,MAGTiL,EAAGpM,SAAW,WACZ,MAAO,sBAkCT5C,EAAQmL,KAAO,SAASjJ,GACtB,IAAIiJ,EAAO,GACX,IAAK,IAAIpJ,KAAOG,EACdiJ,EAAK/F,KAAKrD,GAMZ,OAJAoJ,EAAKuG,UAIE,SAAS3B,IACd,KAAO5E,EAAK7G,QAAQ,CAClB,IAAIvC,EAAMoJ,EAAKwG,MACf,GAAI5P,KAAOG,EAGT,OAFA6N,EAAKtO,MAAQM,EACbgO,EAAK5B,MAAO,EACL4B,EAQX,OADAA,EAAK5B,MAAO,EACL4B,IAsCX/P,EAAQ+O,OAASA,EAMjB/B,EAAQ5K,UAAY,CAClB2O,YAAa/D,EAEb2D,MAAO,SAASiB,GAcd,GAbA7N,KAAK8N,KAAO,EACZ9N,KAAKgM,KAAO,EAGZhM,KAAK6J,KAAO7J,KAAK8J,MAAQ/B,EACzB/H,KAAKoK,MAAO,EACZpK,KAAKyJ,SAAW,KAEhBzJ,KAAK+F,OAAS,OACd/F,KAAKqJ,IAAMtB,EAEX/H,KAAKyM,WAAWtB,QAAQuB,IAEnBmB,EACH,IAAK,IAAI7Q,KAAQgD,KAEQ,MAAnBhD,EAAK+Q,OAAO,IACZ9F,EAAOrL,KAAKoD,KAAMhD,KACjB+P,OAAO/P,EAAK8B,MAAM,MACrBkB,KAAKhD,GAAQ+K,IAMrBiG,KAAM,WACJhO,KAAKoK,MAAO,EAEZ,IACI6D,EADYjO,KAAKyM,WAAW,GACLE,WAC3B,GAAwB,UAApBsB,EAAW9D,KACb,MAAM8D,EAAW5E,IAGnB,OAAOrJ,KAAKkO,MAGdnE,kBAAmB,SAASoE,GAC1B,GAAInO,KAAKoK,KACP,MAAM+D,EAGR,IAAInF,EAAUhJ,KACd,SAASoO,EAAOC,EAAKC,GAYnB,OAXArE,EAAOE,KAAO,QACdF,EAAOZ,IAAM8E,EACbnF,EAAQgD,KAAOqC,EAEXC,IAGFtF,EAAQjD,OAAS,OACjBiD,EAAQK,IAAMtB,KAGNuG,EAGZ,IAAK,IAAI7R,EAAIuD,KAAKyM,WAAWlM,OAAS,EAAG9D,GAAK,IAAKA,EAAG,CACpD,IAAI2P,EAAQpM,KAAKyM,WAAWhQ,GACxBwN,EAASmC,EAAMO,WAEnB,GAAqB,SAAjBP,EAAMC,OAIR,OAAO+B,EAAO,OAGhB,GAAIhC,EAAMC,QAAUrM,KAAK8N,KAAM,CAC7B,IAAIS,EAAWtG,EAAOrL,KAAKwP,EAAO,YAC9BoC,EAAavG,EAAOrL,KAAKwP,EAAO,cAEpC,GAAImC,GAAYC,EAAY,CAC1B,GAAIxO,KAAK8N,KAAO1B,EAAME,SACpB,OAAO8B,EAAOhC,EAAME,UAAU,GACzB,GAAItM,KAAK8N,KAAO1B,EAAMG,WAC3B,OAAO6B,EAAOhC,EAAMG,iBAGjB,GAAIgC,GACT,GAAIvO,KAAK8N,KAAO1B,EAAME,SACpB,OAAO8B,EAAOhC,EAAME,UAAU,OAG3B,KAAIkC,EAMT,MAAM,IAAI9O,MAAM,0CALhB,GAAIM,KAAK8N,KAAO1B,EAAMG,WACpB,OAAO6B,EAAOhC,EAAMG,gBAU9BvC,OAAQ,SAASG,EAAMd,GACrB,IAAK,IAAI5M,EAAIuD,KAAKyM,WAAWlM,OAAS,EAAG9D,GAAK,IAAKA,EAAG,CACpD,IAAI2P,EAAQpM,KAAKyM,WAAWhQ,GAC5B,GAAI2P,EAAMC,QAAUrM,KAAK8N,MACrB7F,EAAOrL,KAAKwP,EAAO,eACnBpM,KAAK8N,KAAO1B,EAAMG,WAAY,CAChC,IAAIkC,EAAerC,EACnB,OAIAqC,IACU,UAATtE,GACS,aAATA,IACDsE,EAAapC,QAAUhD,GACvBA,GAAOoF,EAAalC,aAGtBkC,EAAe,MAGjB,IAAIxE,EAASwE,EAAeA,EAAa9B,WAAa,GAItD,OAHA1C,EAAOE,KAAOA,EACdF,EAAOZ,IAAMA,EAEToF,GACFzO,KAAK+F,OAAS,OACd/F,KAAKgM,KAAOyC,EAAalC,WAClB3C,GAGF5J,KAAK0O,SAASzE,IAGvByE,SAAU,SAASzE,EAAQuC,GACzB,GAAoB,UAAhBvC,EAAOE,KACT,MAAMF,EAAOZ,IAcf,MAXoB,UAAhBY,EAAOE,MACS,aAAhBF,EAAOE,KACTnK,KAAKgM,KAAO/B,EAAOZ,IACM,WAAhBY,EAAOE,MAChBnK,KAAKkO,KAAOlO,KAAKqJ,IAAMY,EAAOZ,IAC9BrJ,KAAK+F,OAAS,SACd/F,KAAKgM,KAAO,OACa,WAAhB/B,EAAOE,MAAqBqC,IACrCxM,KAAKgM,KAAOQ,GAGP5C,GAGT+E,OAAQ,SAASpC,GACf,IAAK,IAAI9P,EAAIuD,KAAKyM,WAAWlM,OAAS,EAAG9D,GAAK,IAAKA,EAAG,CACpD,IAAI2P,EAAQpM,KAAKyM,WAAWhQ,GAC5B,GAAI2P,EAAMG,aAAeA,EAGvB,OAFAvM,KAAK0O,SAAStC,EAAMO,WAAYP,EAAMI,UACtCE,EAAcN,GACPxC,IAKb,MAAS,SAASyC,GAChB,IAAK,IAAI5P,EAAIuD,KAAKyM,WAAWlM,OAAS,EAAG9D,GAAK,IAAKA,EAAG,CACpD,IAAI2P,EAAQpM,KAAKyM,WAAWhQ,GAC5B,GAAI2P,EAAMC,SAAWA,EAAQ,CAC3B,IAAIpC,EAASmC,EAAMO,WACnB,GAAoB,UAAhB1C,EAAOE,KAAkB,CAC3B,IAAIyE,EAAS3E,EAAOZ,IACpBqD,EAAcN,GAEhB,OAAOwC,GAMX,MAAM,IAAIlP,MAAM,0BAGlBmP,cAAe,SAAShC,EAAUd,EAAYE,GAa5C,OAZAjM,KAAKyJ,SAAW,CACdrB,SAAU4C,EAAO6B,GACjBd,WAAYA,EACZE,QAASA,GAGS,SAAhBjM,KAAK+F,SAGP/F,KAAKqJ,IAAMtB,GAGN6B,IAQJ3N,EAvrBM,CA8rBK,WAAlB,EAAOC,GAAsBA,EAAOD,QAAU,IAGhD,IACE6S,mBAAqBhH,EACrB,MAAOiH,GAUPC,SAAS,IAAK,yBAAdA,CAAwClH,M,kCCptB1C5L,EAAOD,QAAU,SAASC,GAoBzB,OAnBKA,EAAO+S,kBACX/S,EAAOgT,UAAY,aACnBhT,EAAOiT,MAAQ,GAEVjT,EAAOkT,WAAUlT,EAAOkT,SAAW,IACxCjS,OAAOC,eAAelB,EAAQ,SAAU,CACvCmB,YAAY,EACZC,IAAK,WACJ,OAAOpB,EAAOQ,KAGhBS,OAAOC,eAAelB,EAAQ,KAAM,CACnCmB,YAAY,EACZC,IAAK,WACJ,OAAOpB,EAAOO,KAGhBP,EAAO+S,gBAAkB,GAEnB/S,I,4qBCpBR,IAAM+H,EAAYR,EAAQ,GAClBvE,EAAQuE,EAAQ,GAAhBvE,IACFsE,EAAQC,EAAQ,GAElB4L,EAAmB,EAEvBnT,EAAOD,QAAU,WACf,IAAM2H,EAAKJ,EAAM,YAAa6L,GACxBC,EAAU,GACVC,EAAiB,GACnBC,EAAW,GAEfH,GAAoB,EAEpB,IACMI,EAAgB,kBAAMtS,OAAOiK,KAAKkI,GAAS/O,QAE3CmP,EAAU,WACd,GAAwB,IAApBF,EAASjP,OAEX,IADA,IAAMoP,EAAOxS,OAAOiK,KAAKkI,GAChB7S,EAAI,EAAGA,EAAIkT,EAAKpP,OAAQ9D,GAAK,EACpC,QAAuC,IAA5B8S,EAAeI,EAAKlT,IAAqB,CAClD+S,EAAS,GAAGF,EAAQK,EAAKlT,KACzB,QAMF0D,EAAQ,SAAC0D,EAAQC,GAAT,OACZ,IAAIyB,SAAQ,SAACC,EAASC,GACpB,IAAMmK,EAAM3L,EAAU,CAAEJ,SAAQC,YAChC0L,EAASnO,KAAT,4CAAc,WAAOwO,GAAP,uFACZL,EAASM,QACTP,EAAeM,EAAEjM,IAAMgM,EAFX,cAIVpK,EAJU,SAIIqK,EAAEhM,GAAQxE,MAAM,EAAhB,YAA0ByE,GAA1B,CAAmC8L,EAAIhM,MAJ3C,oFAMV6B,EAAO,EAAD,IANI,gCAQH8J,EAAeM,EAAEjM,IACxB8L,IATU,6EAAd,uDAYAxQ,EAAI,IAAD,OAAK0E,EAAL,kBAAiBgM,EAAIhM,GAArB,iBACH1E,EAAI,IAAD,OAAK0E,EAAL,8BAA6B4L,EAASjP,SACzCmP,QA0BJ,MAAO,CACLK,UAvBgB,SAACF,GAKjB,OAJAP,EAAQO,EAAEjM,IAAMiM,EAChB3Q,EAAI,IAAD,OAAK0E,EAAL,kBAAiBiM,EAAEjM,KACtB1E,EAAI,IAAD,OAAK0E,EAAL,gCAA+B6L,MAClCC,IACOG,EAAEjM,IAmBToM,OAhBU,4CAAG,WAAOnM,GAAP,yGACW,IAApB4L,IADS,sBAEL/P,MAAM,IAAD,OAAKkE,EAAL,+DAFA,sBAAkBE,EAAlB,iCAAkBA,EAAlB,mCAIN3D,EAAM0D,EAAQC,IAJR,2CAAH,sDAiBVkD,UAVa,4CAAG,6FAChB7J,OAAOiK,KAAKkI,GAASnE,QAArB,4CAA6B,WAAO8E,GAAP,gGACrBX,EAAQW,GAAKjJ,YADQ,2CAA7B,uDAGAwI,EAAW,GAJK,2CAAH,qDAWbU,YA9DkB,kBAAMV,EAASjP,QA+DjCkP,mB,sWC7EJ,IACMU,EADoD,YAAxC1M,EAAQ,GAARA,CAA4B,QACfA,EAAQ,GAAiB,SAAAjF,GAAC,OAAIA,GAE7DtC,EAAOD,QAAU,SAAC4I,GAChB,IAAM+B,E,+VAAO,CAAH,GAAQ/B,GAMlB,MALA,CAAC,WAAY,aAAc,YAAYsG,SAAQ,SAACnN,QAClB,IAAjB6G,EAAQ7G,KACjB4I,EAAK5I,GAAOmS,EAAWvJ,EAAK5I,QAGzB4I,I,kQCVT,IAAMwJ,EAAa3M,EAAQ,IAE3BvH,EAAOD,QAAU,SAAC+B,GAChB,IAAMwD,EAAM,GAYZ,OAVI4O,IACF5O,EAAI2I,KAAO,WACgB,YAAlB,oBAAO9N,OAAP,cAAOA,SAChBmF,EAAI2I,KAAO,UACuB,mBAAlBkG,cAChB7O,EAAI2I,KAAO,YACiB,iBAAnB,IAAO3K,EAAP,cAAOA,MAChBgC,EAAI2I,KAAO,aAGM,IAARnM,EACFwD,EAGFA,EAAIxD,M,mRCCb9B,EAAOD,QAnBP,WAEI,MAAsB,oBAAXI,QAAoD,WAA1B,EAAOA,OAAOmD,UAAgD,aAAxBnD,OAAOmD,QAAQ2K,cAKnE,IAAZ3K,GAAuD,WAA5B,EAAOA,EAAQmC,YAA2BnC,EAAQmC,SAAS2O,WAKxE,YAArB,oBAAOC,UAAP,cAAOA,aAAyD,iBAAxBA,UAAUC,WAA0BD,UAAUC,UAAUC,QAAQ,aAAe,M,stBCI/HvU,EAAOD,QAAU,SAACyU,GAChB,IAAMC,EAAS,GACTC,EAAa,GACbC,EAAQ,GACRC,EAAQ,GACRC,EAAU,GA4BhB,OA1BAL,EAAKC,OAAOxF,SAAQ,SAAC6F,GACnBA,EAAMJ,WAAWzF,SAAQ,SAAC8F,GACxBA,EAAUJ,MAAM1F,SAAQ,SAAC+F,GACvBA,EAAKJ,MAAM3F,SAAQ,SAACgG,GAClBA,EAAKJ,QAAQ5F,SAAQ,SAACiG,GACpBL,EAAQ1P,KAAR,KACK+P,EADL,CACUV,OAAMM,QAAOC,YAAWC,OAAMC,aAG1CL,EAAMzP,KAAN,KACK8P,EADL,CACWT,OAAMM,QAAOC,YAAWC,aAGrCL,EAAMxP,KAAN,KACK6P,EADL,CACWR,OAAMM,QAAOC,kBAG1BL,EAAWvP,KAAX,KACK4P,EADL,CACgBP,OAAMM,cAGxBL,EAAOtP,KAAP,KACK2P,EADL,CACYN,aAId,KACKA,EADL,CACWC,SAAQC,aAAYC,QAAOC,QAAOC,c,gBCnD/C,IAAMnJ,EAAMnE,EAAQ,GAEpBvH,EAAOD,QAAU,CACfiI,WAAY0D,EAAIJ,U,gBCMlB,IAAMrD,EAAiBV,EAAQ,IACzBW,EAAcX,EAAQ,IACtBY,EAAkBZ,EAAQ,IAC1Ba,EAAYb,EAAQ,IACpBe,EAAOf,EAAQ,IACfc,EAAYd,EAAQ,IAE1BvH,EAAOD,QAAU,CACfkI,iBACAC,cACAC,kBACAC,YACAE,OACAD,c,wlBCtBF,IAAM4L,EAAa1M,EAAQ,G,EACOA,EAAQ,IAAlC/B,E,EAAAA,QAAS2P,E,EAAAA,aACXlN,EAAiBV,EAAQ,IAK/BvH,EAAOD,Q,+VAAP,IACKkI,EADL,CAEEmN,gBAAgC,IAAZ9R,GAAoD,gBAAzBA,EAAQgC,IAAI+P,SACvDpB,EAAW,+BAAD,OAAgCxR,KAAKC,SAASC,SAAS,IAAIC,MAAM,KADnE,0CAE2B4C,EAF3B,uBAOZ8P,SAAU,wCAAF,OAA0CH,EAAa,qBAAqBI,UAAU,GAAtF,2BAAkI,YAAvB,oBAAOC,YAAP,cAAOA,cAA2B,OAAS,MAAtJ,W,ulFChBVxV,EAAOD,QAAU,CAIf0V,SAAU,2CAMVC,eAAe,EACfjN,OAAQ,e,cCJVzI,EAAOD,QAAU,YAAmC,IAC9C+I,EADcsM,EAAgC,EAAhCA,WAAYM,EAAoB,EAApBA,cAE9B,GAAIC,MAAQC,KAAOF,EAAe,CAChC,IAAMG,EAAO,IAAIF,KAAK,CAAC,kBAAD,OAAmBP,EAAnB,QAAqC,CACzDnH,KAAM,2BAERnF,EAAS,IAAIgN,OAAOF,IAAIG,gBAAgBF,SAExC/M,EAAS,IAAIgN,OAAOV,GAGtB,OAAOtM,I,cCXT9I,EAAOD,QAAU,SAAC+I,GAChBA,EAAOgC,c,cCRT9K,EAAOD,QAAU,SAAC+I,EAAQkN,GACxBlN,EAAOmN,UAAY,YAAc,IAAXjL,EAAW,EAAXA,KACpBgL,EAAQhL,M,uICKZhL,EAAOD,QAAP,e,EAAA,G,EAAA,yBAAiB,WAAO+I,EAAQoN,GAAf,gFACfpN,EAAOqN,YAAYD,GADJ,0C,+KAAjB,yD,4UCPA,IAAMjC,EAAa1M,EAAQ,GASrB6O,EAAqB,SAAAP,GAAI,OAC7B,IAAIxM,SAAQ,SAACC,EAASC,GACpB,IAAM8M,EAAa,IAAIC,WACvBD,EAAWE,OAAS,WAClBjN,EAAQ+M,EAAW/G,SAErB+G,EAAWG,QAAU,YAAqC,IAAfC,EAAe,EAAlCC,OAAUhH,MAAS+G,KACzClN,EAAO/F,MAAM,gCAAD,OAAiCiT,MAE/CJ,EAAWM,kBAAkBd,OAW3BxN,EAAS,4CAAG,WAAOoC,GAAP,2FACZO,EAAOP,OACU,IAAVA,EAFK,yCAGP,aAHO,UAMK,iBAAVA,EANK,qBAQV,yCAAyCmM,KAAKnM,GARpC,gBASZO,EAAO6L,KAAKpM,EAAMqM,MAAM,KAAK,IAC1BA,MAAM,IACNC,KAAI,SAAAnW,GAAC,OAAIA,EAAEoW,WAAW,MAXb,wCAaOC,MAAMhD,EAAWxJ,IAbxB,eAaNyM,EAbM,iBAcCA,EAAKC,cAdN,QAcZnM,EAdY,4CAgBLP,aAAiB2M,aAhBZ,oBAiBQ,QAAlB3M,EAAM4M,QAjBI,kCAkBChP,EAAUoC,EAAM6M,KAlBjB,QAkBZtM,EAlBY,kBAoBQ,UAAlBP,EAAM4M,QApBI,kCAqBChP,EAAUoC,EAAM8M,QArBjB,QAqBZvM,EArBY,kBAuBQ,WAAlBP,EAAM4M,QAvBI,kCAwBN,IAAIhO,SAAQ,SAACC,GACjBmB,EAAM+M,OAAN,4CAAa,WAAO3B,GAAP,gGACEO,EAAmBP,GADrB,OACX7K,EADW,OAEX1B,IAFW,2CAAb,0DAzBU,qCA+BLmB,aAAiBgN,MAAQhN,aAAiBkL,MA/BrC,kCAgCDS,EAAmB3L,GAhClB,QAgCdO,EAhCc,wCAmCT,IAAI0M,WAAW1M,IAnCN,4CAAH,sDAsCfhL,EAAOD,QAAUsI,G,4UCnEjB,IAAMmD,EAAejE,EAAQ,GAEvBiD,EAAS,4CAAG,WAAOC,EAAON,EAAOxB,GAArB,6FACVG,EAAS0C,EAAa7C,GADZ,SAEVG,EAAOW,OAFG,uBAGVX,EAAOoB,aAAaC,GAHV,uBAIVrB,EAAOsB,WAAWD,GAJR,gCAKTrB,EAAO0B,UAAUC,GACrBkN,QADI,2BACI,6GACD7O,EAAOgC,YADN,6CANK,2CAAH,0DAWTD,EAAM,4CAAG,WAAOJ,EAAO9B,GAAd,6FACPG,EAAS0C,EAAa7C,GADf,SAEPG,EAAOW,OAFA,uBAGPX,EAAOoB,aAAa,OAHb,uBAIPpB,EAAOsB,WAAW,OAJX,gCAKNtB,EAAO+B,OAAOJ,GAClBkN,QADI,2BACI,6GACD7O,EAAOgC,YADN,6CANE,2CAAH,wDAWZ9K,EAAOD,QAAU,CACfyK,YACAK,W,cCvBF7K,EAAOD,QAAU,CACf6X,SAAU,IACVC,SAAU,IACVC,UAAW,IACXC,KAAM,IACNC,cAAe,IACfC,uBAAwB,IACxBC,aAAc,IACdC,YAAa,IACbC,YAAa,IACbC,YAAa,IACbC,YAAa,KACbC,YAAa,KACbC,gBAAiB","file":"tesseract.min.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"Tesseract\"] = factory();\n\telse\n\t\troot[\"Tesseract\"] = factory();\n})(window, function() {\nreturn "," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 7);\n","module.exports = (prefix, cnt) => (\n  `${prefix}-${cnt}-${Math.random().toString(16).slice(3, 8)}`\n);\n","let logging = false;\n\nexports.logging = logging;\n\nexports.setLogging = (_logging) => {\n  logging = _logging;\n};\n\nexports.log = (...args) => (logging ? console.log.apply(this, args) : null);\n","// shim for using process in browser\nvar process = module.exports = {};\n\n// cached from whatever global is present so that test runners that stub it\n// don't break things.  But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals.  It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n    throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout () {\n    throw new Error('clearTimeout has not been defined');\n}\n(function () {\n    try {\n        if (typeof setTimeout === 'function') {\n            cachedSetTimeout = setTimeout;\n        } else {\n            cachedSetTimeout = defaultSetTimout;\n        }\n    } catch (e) {\n        cachedSetTimeout = defaultSetTimout;\n    }\n    try {\n        if (typeof clearTimeout === 'function') {\n            cachedClearTimeout = clearTimeout;\n        } else {\n            cachedClearTimeout = defaultClearTimeout;\n        }\n    } catch (e) {\n        cachedClearTimeout = defaultClearTimeout;\n    }\n} ())\nfunction runTimeout(fun) {\n    if (cachedSetTimeout === setTimeout) {\n        //normal enviroments in sane situations\n        return setTimeout(fun, 0);\n    }\n    // if setTimeout wasn't available but was latter defined\n    if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n        cachedSetTimeout = setTimeout;\n        return setTimeout(fun, 0);\n    }\n    try {\n        // when when somebody has screwed with setTimeout but no I.E. maddness\n        return cachedSetTimeout(fun, 0);\n    } catch(e){\n        try {\n            // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n            return cachedSetTimeout.call(null, fun, 0);\n        } catch(e){\n            // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n            return cachedSetTimeout.call(this, fun, 0);\n        }\n    }\n\n\n}\nfunction runClearTimeout(marker) {\n    if (cachedClearTimeout === clearTimeout) {\n        //normal enviroments in sane situations\n        return clearTimeout(marker);\n    }\n    // if clearTimeout wasn't available but was latter defined\n    if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n        cachedClearTimeout = clearTimeout;\n        return clearTimeout(marker);\n    }\n    try {\n        // when when somebody has screwed with setTimeout but no I.E. maddness\n        return cachedClearTimeout(marker);\n    } catch (e){\n        try {\n            // When we are in I.E. but the script has been evaled so I.E. doesn't  trust the global object when called normally\n            return cachedClearTimeout.call(null, marker);\n        } catch (e){\n            // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n            // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n            return cachedClearTimeout.call(this, marker);\n        }\n    }\n\n\n\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n    if (!draining || !currentQueue) {\n        return;\n    }\n    draining = false;\n    if (currentQueue.length) {\n        queue = currentQueue.concat(queue);\n    } else {\n        queueIndex = -1;\n    }\n    if (queue.length) {\n        drainQueue();\n    }\n}\n\nfunction drainQueue() {\n    if (draining) {\n        return;\n    }\n    var timeout = runTimeout(cleanUpNextTick);\n    draining = true;\n\n    var len = queue.length;\n    while(len) {\n        currentQueue = queue;\n        queue = [];\n        while (++queueIndex < len) {\n            if (currentQueue) {\n                currentQueue[queueIndex].run();\n            }\n        }\n        queueIndex = -1;\n        len = queue.length;\n    }\n    currentQueue = null;\n    draining = false;\n    runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n    var args = new Array(arguments.length - 1);\n    if (arguments.length > 1) {\n        for (var i = 1; i < arguments.length; i++) {\n            args[i - 1] = arguments[i];\n        }\n    }\n    queue.push(new Item(fun, args));\n    if (queue.length === 1 && !draining) {\n        runTimeout(drainQueue);\n    }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n    this.fun = fun;\n    this.array = array;\n}\nItem.prototype.run = function () {\n    this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) { return [] }\n\nprocess.binding = function (name) {\n    throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n    throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\n","// Copyright 2014 Simon Lydell\r\n// X11 (“MIT”) Licensed. (See LICENSE.)\r\n\r\nvoid (function(root, factory) {\r\n  if (typeof define === \"function\" && define.amd) {\r\n    define(factory)\r\n  } else if (typeof exports === \"object\") {\r\n    module.exports = factory()\r\n  } else {\r\n    root.resolveUrl = factory()\r\n  }\r\n}(this, function() {\r\n\r\n  function resolveUrl(/* ...urls */) {\r\n    var numUrls = arguments.length\r\n\r\n    if (numUrls === 0) {\r\n      throw new Error(\"resolveUrl requires at least one argument; got none.\")\r\n    }\r\n\r\n    var base = document.createElement(\"base\")\r\n    base.href = arguments[0]\r\n\r\n    if (numUrls === 1) {\r\n      return base.href\r\n    }\r\n\r\n    var head = document.getElementsByTagName(\"head\")[0]\r\n    head.insertBefore(base, head.firstChild)\r\n\r\n    var a = document.createElement(\"a\")\r\n    var resolved\r\n\r\n    for (var index = 1; index < numUrls; index++) {\r\n      a.href = arguments[index]\r\n      resolved = a.href\r\n      base.href = resolved\r\n    }\r\n\r\n    head.removeChild(base)\r\n\r\n    return resolved\r\n  }\r\n\r\n  return resolveUrl\r\n\r\n}));\r\n","const getId = require('./utils/getId');\n\nlet jobCounter = 0;\n\nmodule.exports = ({\n  id: _id,\n  action,\n  payload = {},\n}) => {\n  let id = _id;\n  if (typeof id === 'undefined') {\n    id = getId('Job', jobCounter);\n    jobCounter += 1;\n  }\n\n  return {\n    id,\n    action,\n    payload,\n  };\n};\n","const resolvePaths = require('./utils/resolvePaths');\nconst circularize = require('./utils/circularize');\nconst createJob = require('./createJob');\nconst { log } = require('./utils/log');\nconst getId = require('./utils/getId');\nconst { defaultOEM } = require('./constants/config');\nconst {\n  defaultOptions,\n  spawnWorker,\n  terminateWorker,\n  onMessage,\n  loadImage,\n  send,\n} = require('./worker/node');\n\nlet workerCounter = 0;\n\nmodule.exports = (_options = {}) => {\n  const id = getId('Worker', workerCounter);\n  const {\n    logger,\n    errorHandler,\n    ...options\n  } = resolvePaths({\n    ...defaultOptions,\n    ..._options,\n  });\n  const resolves = {};\n  const rejects = {};\n  let worker = spawnWorker(options);\n\n  workerCounter += 1;\n\n  const setResolve = (action, res) => {\n    resolves[action] = res;\n  };\n\n  const setReject = (action, rej) => {\n    rejects[action] = rej;\n  };\n\n  const startJob = ({ id: jobId, action, payload }) => (\n    new Promise((resolve, reject) => {\n      log(`[${id}]: Start ${jobId}, action=${action}`);\n      setResolve(action, resolve);\n      setReject(action, reject);\n      send(worker, {\n        workerId: id,\n        jobId,\n        action,\n        payload,\n      });\n    })\n  );\n\n  const load = jobId => (\n    startJob(createJob({\n      id: jobId, action: 'load', payload: { options },\n    }))\n  );\n\n  const writeText = (path, text, jobId) => (\n    startJob(createJob({\n      id: jobId,\n      action: 'FS',\n      payload: { method: 'writeFile', args: [path, text] },\n    }))\n  );\n\n  const readText = (path, jobId) => (\n    startJob(createJob({\n      id: jobId,\n      action: 'FS',\n      payload: { method: 'readFile', args: [path, { encoding: 'utf8' }] },\n    }))\n  );\n\n  const removeFile = (path, jobId) => (\n    startJob(createJob({\n      id: jobId,\n      action: 'FS',\n      payload: { method: 'unlink', args: [path] },\n    }))\n  );\n\n  const FS = (method, args, jobId) => (\n    startJob(createJob({\n      id: jobId,\n      action: 'FS',\n      payload: { method, args },\n    }))\n  );\n\n  const loadLanguage = (langs = 'eng', jobId) => (\n    startJob(createJob({\n      id: jobId,\n      action: 'loadLanguage',\n      payload: { langs, options },\n    }))\n  );\n\n  const initialize = (langs = 'eng', oem = defaultOEM, jobId) => (\n    startJob(createJob({\n      id: jobId,\n      action: 'initialize',\n      payload: { langs, oem },\n    }))\n  );\n\n  const setParameters = (params = {}, jobId) => (\n    startJob(createJob({\n      id: jobId,\n      action: 'setParameters',\n      payload: { params },\n    }))\n  );\n\n  const recognize = async (image, opts = {}, jobId) => (\n    startJob(createJob({\n      id: jobId,\n      action: 'recognize',\n      payload: { image: await loadImage(image), options: opts },\n    }))\n  );\n\n  const getPDF = (title = 'Tesseract OCR Result', textonly = false, jobId) => (\n    startJob(createJob({\n      id: jobId,\n      action: 'getPDF',\n      payload: { title, textonly },\n    }))\n  );\n\n  const detect = async (image, jobId) => (\n    startJob(createJob({\n      id: jobId,\n      action: 'detect',\n      payload: { image: await loadImage(image) },\n    }))\n  );\n\n  const terminate = async () => {\n    if (worker !== null) {\n      /*\n      await startJob(createJob({\n        id: jobId,\n        action: 'terminate',\n      }));\n      */\n      terminateWorker(worker);\n      worker = null;\n    }\n    return Promise.resolve();\n  };\n\n  onMessage(worker, ({\n    workerId, jobId, status, action, data,\n  }) => {\n    if (status === 'resolve') {\n      log(`[${workerId}]: Complete ${jobId}`);\n      let d = data;\n      if (action === 'recognize') {\n        d = circularize(data);\n      } else if (action === 'getPDF') {\n        d = Array.from({ ...data, length: Object.keys(data).length });\n      }\n      resolves[action]({ jobId, data: d });\n    } else if (status === 'reject') {\n      rejects[action](data);\n      if (errorHandler) {\n        errorHandler(data);\n      } else {\n        throw Error(data);\n      }\n    } else if (status === 'progress') {\n      logger(data);\n    }\n  });\n\n  return {\n    id,\n    worker,\n    setResolve,\n    setReject,\n    load,\n    writeText,\n    readText,\n    removeFile,\n    FS,\n    loadLanguage,\n    initialize,\n    setParameters,\n    recognize,\n    getPDF,\n    detect,\n    terminate,\n  };\n};\n","/*\n * OEM = OCR Engine Mode, and there are 4 possible modes.\n *\n * By default tesseract.js uses LSTM_ONLY mode.\n *\n */\nmodule.exports = {\n  TESSERACT_ONLY: 0,\n  LSTM_ONLY: 1,\n  TESSERACT_LSTM_COMBINED: 2,\n  DEFAULT: 3,\n};\n","/**\n *\n * Entry point for tesseract.js, should be the entry when bundling.\n *\n * @fileoverview entry point for tesseract.js\n * @author Kevin Kwok <antimatter15@gmail.com>\n * @author Guillermo Webster <gui@mit.edu>\n * @author Jerome Wu <jeromewus@gmail.com>\n */\nrequire('regenerator-runtime/runtime');\nconst createScheduler = require('./createScheduler');\nconst createWorker = require('./createWorker');\nconst Tesseract = require('./Tesseract');\nconst OEM = require('./constants/OEM');\nconst PSM = require('./constants/PSM');\nconst { setLogging } = require('./utils/log');\n\nmodule.exports = {\n  OEM,\n  PSM,\n  createScheduler,\n  createWorker,\n  setLogging,\n  ...Tesseract,\n};\n","/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nvar runtime = (function (exports) {\n  \"use strict\";\n\n  var Op = Object.prototype;\n  var hasOwn = Op.hasOwnProperty;\n  var undefined; // More compressible than void 0.\n  var $Symbol = typeof Symbol === \"function\" ? Symbol : {};\n  var iteratorSymbol = $Symbol.iterator || \"@@iterator\";\n  var asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\";\n  var toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n\n  function wrap(innerFn, outerFn, self, tryLocsList) {\n    // If outerFn provided and outerFn.prototype is a Generator, then outerFn.prototype instanceof Generator.\n    var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator;\n    var generator = Object.create(protoGenerator.prototype);\n    var context = new Context(tryLocsList || []);\n\n    // The ._invoke method unifies the implementations of the .next,\n    // .throw, and .return methods.\n    generator._invoke = makeInvokeMethod(innerFn, self, context);\n\n    return generator;\n  }\n  exports.wrap = wrap;\n\n  // Try/catch helper to minimize deoptimizations. Returns a completion\n  // record like context.tryEntries[i].completion. This interface could\n  // have been (and was previously) designed to take a closure to be\n  // invoked without arguments, but in all the cases we care about we\n  // already have an existing method we want to call, so there's no need\n  // to create a new function object. We can even get away with assuming\n  // the method takes exactly one argument, since that happens to be true\n  // in every case, so we don't have to touch the arguments object. The\n  // only additional allocation required is the completion record, which\n  // has a stable shape and so hopefully should be cheap to allocate.\n  function tryCatch(fn, obj, arg) {\n    try {\n      return { type: \"normal\", arg: fn.call(obj, arg) };\n    } catch (err) {\n      return { type: \"throw\", arg: err };\n    }\n  }\n\n  var GenStateSuspendedStart = \"suspendedStart\";\n  var GenStateSuspendedYield = \"suspendedYield\";\n  var GenStateExecuting = \"executing\";\n  var GenStateCompleted = \"completed\";\n\n  // Returning this object from the innerFn has the same effect as\n  // breaking out of the dispatch switch statement.\n  var ContinueSentinel = {};\n\n  // Dummy constructor functions that we use as the .constructor and\n  // .constructor.prototype properties for functions that return Generator\n  // objects. For full spec compliance, you may wish to configure your\n  // minifier not to mangle the names of these two functions.\n  function Generator() {}\n  function GeneratorFunction() {}\n  function GeneratorFunctionPrototype() {}\n\n  // This is a polyfill for %IteratorPrototype% for environments that\n  // don't natively support it.\n  var IteratorPrototype = {};\n  IteratorPrototype[iteratorSymbol] = function () {\n    return this;\n  };\n\n  var getProto = Object.getPrototypeOf;\n  var NativeIteratorPrototype = getProto && getProto(getProto(values([])));\n  if (NativeIteratorPrototype &&\n      NativeIteratorPrototype !== Op &&\n      hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) {\n    // This environment has a native %IteratorPrototype%; use it instead\n    // of the polyfill.\n    IteratorPrototype = NativeIteratorPrototype;\n  }\n\n  var Gp = GeneratorFunctionPrototype.prototype =\n    Generator.prototype = Object.create(IteratorPrototype);\n  GeneratorFunction.prototype = Gp.constructor = GeneratorFunctionPrototype;\n  GeneratorFunctionPrototype.constructor = GeneratorFunction;\n  GeneratorFunctionPrototype[toStringTagSymbol] =\n    GeneratorFunction.displayName = \"GeneratorFunction\";\n\n  // Helper for defining the .next, .throw, and .return methods of the\n  // Iterator interface in terms of a single ._invoke method.\n  function defineIteratorMethods(prototype) {\n    [\"next\", \"throw\", \"return\"].forEach(function(method) {\n      prototype[method] = function(arg) {\n        return this._invoke(method, arg);\n      };\n    });\n  }\n\n  exports.isGeneratorFunction = function(genFun) {\n    var ctor = typeof genFun === \"function\" && genFun.constructor;\n    return ctor\n      ? ctor === GeneratorFunction ||\n        // For the native GeneratorFunction constructor, the best we can\n        // do is to check its .name property.\n        (ctor.displayName || ctor.name) === \"GeneratorFunction\"\n      : false;\n  };\n\n  exports.mark = function(genFun) {\n    if (Object.setPrototypeOf) {\n      Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);\n    } else {\n      genFun.__proto__ = GeneratorFunctionPrototype;\n      if (!(toStringTagSymbol in genFun)) {\n        genFun[toStringTagSymbol] = \"GeneratorFunction\";\n      }\n    }\n    genFun.prototype = Object.create(Gp);\n    return genFun;\n  };\n\n  // Within the body of any async function, `await x` is transformed to\n  // `yield regeneratorRuntime.awrap(x)`, so that the runtime can test\n  // `hasOwn.call(value, \"__await\")` to determine if the yielded value is\n  // meant to be awaited.\n  exports.awrap = function(arg) {\n    return { __await: arg };\n  };\n\n  function AsyncIterator(generator) {\n    function invoke(method, arg, resolve, reject) {\n      var record = tryCatch(generator[method], generator, arg);\n      if (record.type === \"throw\") {\n        reject(record.arg);\n      } else {\n        var result = record.arg;\n        var value = result.value;\n        if (value &&\n            typeof value === \"object\" &&\n            hasOwn.call(value, \"__await\")) {\n          return Promise.resolve(value.__await).then(function(value) {\n            invoke(\"next\", value, resolve, reject);\n          }, function(err) {\n            invoke(\"throw\", err, resolve, reject);\n          });\n        }\n\n        return Promise.resolve(value).then(function(unwrapped) {\n          // When a yielded Promise is resolved, its final value becomes\n          // the .value of the Promise<{value,done}> result for the\n          // current iteration.\n          result.value = unwrapped;\n          resolve(result);\n        }, function(error) {\n          // If a rejected Promise was yielded, throw the rejection back\n          // into the async generator function so it can be handled there.\n          return invoke(\"throw\", error, resolve, reject);\n        });\n      }\n    }\n\n    var previousPromise;\n\n    function enqueue(method, arg) {\n      function callInvokeWithMethodAndArg() {\n        return new Promise(function(resolve, reject) {\n          invoke(method, arg, resolve, reject);\n        });\n      }\n\n      return previousPromise =\n        // If enqueue has been called before, then we want to wait until\n        // all previous Promises have been resolved before calling invoke,\n        // so that results are always delivered in the correct order. If\n        // enqueue has not been called before, then it is important to\n        // call invoke immediately, without waiting on a callback to fire,\n        // so that the async generator function has the opportunity to do\n        // any necessary setup in a predictable way. This predictability\n        // is why the Promise constructor synchronously invokes its\n        // executor callback, and why async functions synchronously\n        // execute code before the first await. Since we implement simple\n        // async functions in terms of async generators, it is especially\n        // important to get this right, even though it requires care.\n        previousPromise ? previousPromise.then(\n          callInvokeWithMethodAndArg,\n          // Avoid propagating failures to Promises returned by later\n          // invocations of the iterator.\n          callInvokeWithMethodAndArg\n        ) : callInvokeWithMethodAndArg();\n    }\n\n    // Define the unified helper method that is used to implement .next,\n    // .throw, and .return (see defineIteratorMethods).\n    this._invoke = enqueue;\n  }\n\n  defineIteratorMethods(AsyncIterator.prototype);\n  AsyncIterator.prototype[asyncIteratorSymbol] = function () {\n    return this;\n  };\n  exports.AsyncIterator = AsyncIterator;\n\n  // Note that simple async functions are implemented on top of\n  // AsyncIterator objects; they just return a Promise for the value of\n  // the final result produced by the iterator.\n  exports.async = function(innerFn, outerFn, self, tryLocsList) {\n    var iter = new AsyncIterator(\n      wrap(innerFn, outerFn, self, tryLocsList)\n    );\n\n    return exports.isGeneratorFunction(outerFn)\n      ? iter // If outerFn is a generator, return the full iterator.\n      : iter.next().then(function(result) {\n          return result.done ? result.value : iter.next();\n        });\n  };\n\n  function makeInvokeMethod(innerFn, self, context) {\n    var state = GenStateSuspendedStart;\n\n    return function invoke(method, arg) {\n      if (state === GenStateExecuting) {\n        throw new Error(\"Generator is already running\");\n      }\n\n      if (state === GenStateCompleted) {\n        if (method === \"throw\") {\n          throw arg;\n        }\n\n        // Be forgiving, per 25.3.3.3.3 of the spec:\n        // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume\n        return doneResult();\n      }\n\n      context.method = method;\n      context.arg = arg;\n\n      while (true) {\n        var delegate = context.delegate;\n        if (delegate) {\n          var delegateResult = maybeInvokeDelegate(delegate, context);\n          if (delegateResult) {\n            if (delegateResult === ContinueSentinel) continue;\n            return delegateResult;\n          }\n        }\n\n        if (context.method === \"next\") {\n          // Setting context._sent for legacy support of Babel's\n          // function.sent implementation.\n          context.sent = context._sent = context.arg;\n\n        } else if (context.method === \"throw\") {\n          if (state === GenStateSuspendedStart) {\n            state = GenStateCompleted;\n            throw context.arg;\n          }\n\n          context.dispatchException(context.arg);\n\n        } else if (context.method === \"return\") {\n          context.abrupt(\"return\", context.arg);\n        }\n\n        state = GenStateExecuting;\n\n        var record = tryCatch(innerFn, self, context);\n        if (record.type === \"normal\") {\n          // If an exception is thrown from innerFn, we leave state ===\n          // GenStateExecuting and loop back for another invocation.\n          state = context.done\n            ? GenStateCompleted\n            : GenStateSuspendedYield;\n\n          if (record.arg === ContinueSentinel) {\n            continue;\n          }\n\n          return {\n            value: record.arg,\n            done: context.done\n          };\n\n        } else if (record.type === \"throw\") {\n          state = GenStateCompleted;\n          // Dispatch the exception by looping back around to the\n          // context.dispatchException(context.arg) call above.\n          context.method = \"throw\";\n          context.arg = record.arg;\n        }\n      }\n    };\n  }\n\n  // Call delegate.iterator[context.method](context.arg) and handle the\n  // result, either by returning a { value, done } result from the\n  // delegate iterator, or by modifying context.method and context.arg,\n  // setting context.delegate to null, and returning the ContinueSentinel.\n  function maybeInvokeDelegate(delegate, context) {\n    var method = delegate.iterator[context.method];\n    if (method === undefined) {\n      // A .throw or .return when the delegate iterator has no .throw\n      // method always terminates the yield* loop.\n      context.delegate = null;\n\n      if (context.method === \"throw\") {\n        // Note: [\"return\"] must be used for ES3 parsing compatibility.\n        if (delegate.iterator[\"return\"]) {\n          // If the delegate iterator has a return method, give it a\n          // chance to clean up.\n          context.method = \"return\";\n          context.arg = undefined;\n          maybeInvokeDelegate(delegate, context);\n\n          if (context.method === \"throw\") {\n            // If maybeInvokeDelegate(context) changed context.method from\n            // \"return\" to \"throw\", let that override the TypeError below.\n            return ContinueSentinel;\n          }\n        }\n\n        context.method = \"throw\";\n        context.arg = new TypeError(\n          \"The iterator does not provide a 'throw' method\");\n      }\n\n      return ContinueSentinel;\n    }\n\n    var record = tryCatch(method, delegate.iterator, context.arg);\n\n    if (record.type === \"throw\") {\n      context.method = \"throw\";\n      context.arg = record.arg;\n      context.delegate = null;\n      return ContinueSentinel;\n    }\n\n    var info = record.arg;\n\n    if (! info) {\n      context.method = \"throw\";\n      context.arg = new TypeError(\"iterator result is not an object\");\n      context.delegate = null;\n      return ContinueSentinel;\n    }\n\n    if (info.done) {\n      // Assign the result of the finished delegate to the temporary\n      // variable specified by delegate.resultName (see delegateYield).\n      context[delegate.resultName] = info.value;\n\n      // Resume execution at the desired location (see delegateYield).\n      context.next = delegate.nextLoc;\n\n      // If context.method was \"throw\" but the delegate handled the\n      // exception, let the outer generator proceed normally. If\n      // context.method was \"next\", forget context.arg since it has been\n      // \"consumed\" by the delegate iterator. If context.method was\n      // \"return\", allow the original .return call to continue in the\n      // outer generator.\n      if (context.method !== \"return\") {\n        context.method = \"next\";\n        context.arg = undefined;\n      }\n\n    } else {\n      // Re-yield the result returned by the delegate method.\n      return info;\n    }\n\n    // The delegate iterator is finished, so forget it and continue with\n    // the outer generator.\n    context.delegate = null;\n    return ContinueSentinel;\n  }\n\n  // Define Generator.prototype.{next,throw,return} in terms of the\n  // unified ._invoke helper method.\n  defineIteratorMethods(Gp);\n\n  Gp[toStringTagSymbol] = \"Generator\";\n\n  // A Generator should always return itself as the iterator object when the\n  // @@iterator function is called on it. Some browsers' implementations of the\n  // iterator prototype chain incorrectly implement this, causing the Generator\n  // object to not be returned from this call. This ensures that doesn't happen.\n  // See https://github.com/facebook/regenerator/issues/274 for more details.\n  Gp[iteratorSymbol] = function() {\n    return this;\n  };\n\n  Gp.toString = function() {\n    return \"[object Generator]\";\n  };\n\n  function pushTryEntry(locs) {\n    var entry = { tryLoc: locs[0] };\n\n    if (1 in locs) {\n      entry.catchLoc = locs[1];\n    }\n\n    if (2 in locs) {\n      entry.finallyLoc = locs[2];\n      entry.afterLoc = locs[3];\n    }\n\n    this.tryEntries.push(entry);\n  }\n\n  function resetTryEntry(entry) {\n    var record = entry.completion || {};\n    record.type = \"normal\";\n    delete record.arg;\n    entry.completion = record;\n  }\n\n  function Context(tryLocsList) {\n    // The root entry object (effectively a try statement without a catch\n    // or a finally block) gives us a place to store values thrown from\n    // locations where there is no enclosing try statement.\n    this.tryEntries = [{ tryLoc: \"root\" }];\n    tryLocsList.forEach(pushTryEntry, this);\n    this.reset(true);\n  }\n\n  exports.keys = function(object) {\n    var keys = [];\n    for (var key in object) {\n      keys.push(key);\n    }\n    keys.reverse();\n\n    // Rather than returning an object with a next method, we keep\n    // things simple and return the next function itself.\n    return function next() {\n      while (keys.length) {\n        var key = keys.pop();\n        if (key in object) {\n          next.value = key;\n          next.done = false;\n          return next;\n        }\n      }\n\n      // To avoid creating an additional object, we just hang the .value\n      // and .done properties off the next function object itself. This\n      // also ensures that the minifier will not anonymize the function.\n      next.done = true;\n      return next;\n    };\n  };\n\n  function values(iterable) {\n    if (iterable) {\n      var iteratorMethod = iterable[iteratorSymbol];\n      if (iteratorMethod) {\n        return iteratorMethod.call(iterable);\n      }\n\n      if (typeof iterable.next === \"function\") {\n        return iterable;\n      }\n\n      if (!isNaN(iterable.length)) {\n        var i = -1, next = function next() {\n          while (++i < iterable.length) {\n            if (hasOwn.call(iterable, i)) {\n              next.value = iterable[i];\n              next.done = false;\n              return next;\n            }\n          }\n\n          next.value = undefined;\n          next.done = true;\n\n          return next;\n        };\n\n        return next.next = next;\n      }\n    }\n\n    // Return an iterator with no values.\n    return { next: doneResult };\n  }\n  exports.values = values;\n\n  function doneResult() {\n    return { value: undefined, done: true };\n  }\n\n  Context.prototype = {\n    constructor: Context,\n\n    reset: function(skipTempReset) {\n      this.prev = 0;\n      this.next = 0;\n      // Resetting context._sent for legacy support of Babel's\n      // function.sent implementation.\n      this.sent = this._sent = undefined;\n      this.done = false;\n      this.delegate = null;\n\n      this.method = \"next\";\n      this.arg = undefined;\n\n      this.tryEntries.forEach(resetTryEntry);\n\n      if (!skipTempReset) {\n        for (var name in this) {\n          // Not sure about the optimal order of these conditions:\n          if (name.charAt(0) === \"t\" &&\n              hasOwn.call(this, name) &&\n              !isNaN(+name.slice(1))) {\n            this[name] = undefined;\n          }\n        }\n      }\n    },\n\n    stop: function() {\n      this.done = true;\n\n      var rootEntry = this.tryEntries[0];\n      var rootRecord = rootEntry.completion;\n      if (rootRecord.type === \"throw\") {\n        throw rootRecord.arg;\n      }\n\n      return this.rval;\n    },\n\n    dispatchException: function(exception) {\n      if (this.done) {\n        throw exception;\n      }\n\n      var context = this;\n      function handle(loc, caught) {\n        record.type = \"throw\";\n        record.arg = exception;\n        context.next = loc;\n\n        if (caught) {\n          // If the dispatched exception was caught by a catch block,\n          // then let that catch block handle the exception normally.\n          context.method = \"next\";\n          context.arg = undefined;\n        }\n\n        return !! caught;\n      }\n\n      for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n        var entry = this.tryEntries[i];\n        var record = entry.completion;\n\n        if (entry.tryLoc === \"root\") {\n          // Exception thrown outside of any try block that could handle\n          // it, so set the completion value of the entire function to\n          // throw the exception.\n          return handle(\"end\");\n        }\n\n        if (entry.tryLoc <= this.prev) {\n          var hasCatch = hasOwn.call(entry, \"catchLoc\");\n          var hasFinally = hasOwn.call(entry, \"finallyLoc\");\n\n          if (hasCatch && hasFinally) {\n            if (this.prev < entry.catchLoc) {\n              return handle(entry.catchLoc, true);\n            } else if (this.prev < entry.finallyLoc) {\n              return handle(entry.finallyLoc);\n            }\n\n          } else if (hasCatch) {\n            if (this.prev < entry.catchLoc) {\n              return handle(entry.catchLoc, true);\n            }\n\n          } else if (hasFinally) {\n            if (this.prev < entry.finallyLoc) {\n              return handle(entry.finallyLoc);\n            }\n\n          } else {\n            throw new Error(\"try statement without catch or finally\");\n          }\n        }\n      }\n    },\n\n    abrupt: function(type, arg) {\n      for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n        var entry = this.tryEntries[i];\n        if (entry.tryLoc <= this.prev &&\n            hasOwn.call(entry, \"finallyLoc\") &&\n            this.prev < entry.finallyLoc) {\n          var finallyEntry = entry;\n          break;\n        }\n      }\n\n      if (finallyEntry &&\n          (type === \"break\" ||\n           type === \"continue\") &&\n          finallyEntry.tryLoc <= arg &&\n          arg <= finallyEntry.finallyLoc) {\n        // Ignore the finally entry if control is not jumping to a\n        // location outside the try/catch block.\n        finallyEntry = null;\n      }\n\n      var record = finallyEntry ? finallyEntry.completion : {};\n      record.type = type;\n      record.arg = arg;\n\n      if (finallyEntry) {\n        this.method = \"next\";\n        this.next = finallyEntry.finallyLoc;\n        return ContinueSentinel;\n      }\n\n      return this.complete(record);\n    },\n\n    complete: function(record, afterLoc) {\n      if (record.type === \"throw\") {\n        throw record.arg;\n      }\n\n      if (record.type === \"break\" ||\n          record.type === \"continue\") {\n        this.next = record.arg;\n      } else if (record.type === \"return\") {\n        this.rval = this.arg = record.arg;\n        this.method = \"return\";\n        this.next = \"end\";\n      } else if (record.type === \"normal\" && afterLoc) {\n        this.next = afterLoc;\n      }\n\n      return ContinueSentinel;\n    },\n\n    finish: function(finallyLoc) {\n      for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n        var entry = this.tryEntries[i];\n        if (entry.finallyLoc === finallyLoc) {\n          this.complete(entry.completion, entry.afterLoc);\n          resetTryEntry(entry);\n          return ContinueSentinel;\n        }\n      }\n    },\n\n    \"catch\": function(tryLoc) {\n      for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n        var entry = this.tryEntries[i];\n        if (entry.tryLoc === tryLoc) {\n          var record = entry.completion;\n          if (record.type === \"throw\") {\n            var thrown = record.arg;\n            resetTryEntry(entry);\n          }\n          return thrown;\n        }\n      }\n\n      // The context.catch method must only be called with a location\n      // argument that corresponds to a known catch block.\n      throw new Error(\"illegal catch attempt\");\n    },\n\n    delegateYield: function(iterable, resultName, nextLoc) {\n      this.delegate = {\n        iterator: values(iterable),\n        resultName: resultName,\n        nextLoc: nextLoc\n      };\n\n      if (this.method === \"next\") {\n        // Deliberately forget the last sent value so that we don't\n        // accidentally pass it on to the delegate.\n        this.arg = undefined;\n      }\n\n      return ContinueSentinel;\n    }\n  };\n\n  // Regardless of whether this script is executing as a CommonJS module\n  // or not, return the runtime object so that we can declare the variable\n  // regeneratorRuntime in the outer scope, which allows this module to be\n  // injected easily by `bin/regenerator --include-runtime script.js`.\n  return exports;\n\n}(\n  // If this script is executing as a CommonJS module, use module.exports\n  // as the regeneratorRuntime namespace. Otherwise create a new empty\n  // object. Either way, the resulting object will be used to initialize\n  // the regeneratorRuntime variable at the top of this file.\n  typeof module === \"object\" ? module.exports : {}\n));\n\ntry {\n  regeneratorRuntime = runtime;\n} catch (accidentalStrictMode) {\n  // This module should not be running in strict mode, so the above\n  // assignment should always work unless something is misconfigured. Just\n  // in case runtime.js accidentally runs in strict mode, we can escape\n  // strict mode using a global Function call. This could conceivably fail\n  // if a Content Security Policy forbids using Function, but in that case\n  // the proper solution is to fix the accidental strict mode problem. If\n  // you've misconfigured your bundler to force strict mode and applied a\n  // CSP to forbid Function, and you're not willing to fix either of those\n  // problems, please detail your unique predicament in a GitHub issue.\n  Function(\"r\", \"regeneratorRuntime = r\")(runtime);\n}\n","module.exports = function(module) {\n\tif (!module.webpackPolyfill) {\n\t\tmodule.deprecate = function() {};\n\t\tmodule.paths = [];\n\t\t// module.parent = undefined by default\n\t\tif (!module.children) module.children = [];\n\t\tObject.defineProperty(module, \"loaded\", {\n\t\t\tenumerable: true,\n\t\t\tget: function() {\n\t\t\t\treturn module.l;\n\t\t\t}\n\t\t});\n\t\tObject.defineProperty(module, \"id\", {\n\t\t\tenumerable: true,\n\t\t\tget: function() {\n\t\t\t\treturn module.i;\n\t\t\t}\n\t\t});\n\t\tmodule.webpackPolyfill = 1;\n\t}\n\treturn module;\n};\n","const createJob = require('./createJob');\nconst { log } = require('./utils/log');\nconst getId = require('./utils/getId');\n\nlet schedulerCounter = 0;\n\nmodule.exports = () => {\n  const id = getId('Scheduler', schedulerCounter);\n  const workers = {};\n  const runningWorkers = {};\n  let jobQueue = [];\n\n  schedulerCounter += 1;\n\n  const getQueueLen = () => jobQueue.length;\n  const getNumWorkers = () => Object.keys(workers).length;\n\n  const dequeue = () => {\n    if (jobQueue.length !== 0) {\n      const wIds = Object.keys(workers);\n      for (let i = 0; i < wIds.length; i += 1) {\n        if (typeof runningWorkers[wIds[i]] === 'undefined') {\n          jobQueue[0](workers[wIds[i]]);\n          break;\n        }\n      }\n    }\n  };\n\n  const queue = (action, payload) => (\n    new Promise((resolve, reject) => {\n      const job = createJob({ action, payload });\n      jobQueue.push(async (w) => {\n        jobQueue.shift();\n        runningWorkers[w.id] = job;\n        try {\n          resolve(await w[action].apply(this, [...payload, job.id]));\n        } catch (err) {\n          reject(err);\n        } finally {\n          delete runningWorkers[w.id];\n          dequeue();\n        }\n      });\n      log(`[${id}]: Add ${job.id} to JobQueue`);\n      log(`[${id}]: JobQueue length=${jobQueue.length}`);\n      dequeue();\n    })\n  );\n\n  const addWorker = (w) => {\n    workers[w.id] = w;\n    log(`[${id}]: Add ${w.id}`);\n    log(`[${id}]: Number of workers=${getNumWorkers()}`);\n    dequeue();\n    return w.id;\n  };\n\n  const addJob = async (action, ...payload) => {\n    if (getNumWorkers() === 0) {\n      throw Error(`[${id}]: You need to have at least one worker before adding jobs`);\n    }\n    return queue(action, payload);\n  };\n\n  const terminate = async () => {\n    Object.keys(workers).forEach(async (wid) => {\n      await workers[wid].terminate();\n    });\n    jobQueue = [];\n  };\n\n  return {\n    addWorker,\n    addJob,\n    terminate,\n    getQueueLen,\n    getNumWorkers,\n  };\n};\n","const isBrowser = require('./getEnvironment')('type') === 'browser';\nconst resolveURL = isBrowser ? require('resolve-url') : s => s; // eslint-disable-line\n\nmodule.exports = (options) => {\n  const opts = { ...options };\n  ['corePath', 'workerPath', 'langPath'].forEach((key) => {\n    if (typeof options[key] !== 'undefined') {\n      opts[key] = resolveURL(opts[key]);\n    }\n  });\n  return opts;\n};\n","const isElectron = require('is-electron');\n\nmodule.exports = (key) => {\n  const env = {};\n\n  if (isElectron()) {\n    env.type = 'electron';\n  } else if (typeof window === 'object') {\n    env.type = 'browser';\n  } else if (typeof importScripts === 'function') {\n    env.type = 'webworker';\n  } else if (typeof process === 'object' && typeof require === 'function') {\n    env.type = 'node';\n  }\n\n  if (typeof key === 'undefined') {\n    return env;\n  }\n\n  return env[key];\n};\n","// https://github.com/electron/electron/issues/2288\nfunction isElectron() {\n    // Renderer process\n    if (typeof window !== 'undefined' && typeof window.process === 'object' && window.process.type === 'renderer') {\n        return true;\n    }\n\n    // Main process\n    if (typeof process !== 'undefined' && typeof process.versions === 'object' && !!process.versions.electron) {\n        return true;\n    }\n\n    // Detect the user agent when the `nodeIntegration` option is set to true\n    if (typeof navigator === 'object' && typeof navigator.userAgent === 'string' && navigator.userAgent.indexOf('Electron') >= 0) {\n        return true;\n    }\n\n    return false;\n}\n\nmodule.exports = isElectron;\n","/**\n * In the recognition result of tesseract, there\n * is a deep JSON object for details, it has around\n *\n * The result of dump.js is a big JSON tree\n * which can be easily serialized (for instance\n * to be sent from a webworker to the main app\n * or through Node's IPC), but we want\n * a (circular) DOM-like interface for walking\n * through the data.\n *\n * @fileoverview DOM-like interface for walking through data\n * @author Kevin Kwok <antimatter15@gmail.com>\n * @author Guillermo Webster <gui@mit.edu>\n * @author Jerome Wu <jeromewus@gmail.com>\n */\n\nmodule.exports = (page) => {\n  const blocks = [];\n  const paragraphs = [];\n  const lines = [];\n  const words = [];\n  const symbols = [];\n\n  page.blocks.forEach((block) => {\n    block.paragraphs.forEach((paragraph) => {\n      paragraph.lines.forEach((line) => {\n        line.words.forEach((word) => {\n          word.symbols.forEach((sym) => {\n            symbols.push({\n              ...sym, page, block, paragraph, line, word,\n            });\n          });\n          words.push({\n            ...word, page, block, paragraph, line,\n          });\n        });\n        lines.push({\n          ...line, page, block, paragraph,\n        });\n      });\n      paragraphs.push({\n        ...paragraph, page, block,\n      });\n    });\n    blocks.push({\n      ...block, page,\n    });\n  });\n\n  return {\n    ...page, blocks, paragraphs, lines, words, symbols,\n  };\n};\n","const OEM = require('./OEM');\n\nmodule.exports = {\n  defaultOEM: OEM.DEFAULT,\n};\n","/**\n *\n * Tesseract Worker adapter for browser\n *\n * @fileoverview Tesseract Worker adapter for browser\n * @author Kevin Kwok <antimatter15@gmail.com>\n * @author Guillermo Webster <gui@mit.edu>\n * @author Jerome Wu <jeromewus@gmail.com>\n */\nconst defaultOptions = require('./defaultOptions');\nconst spawnWorker = require('./spawnWorker');\nconst terminateWorker = require('./terminateWorker');\nconst onMessage = require('./onMessage');\nconst send = require('./send');\nconst loadImage = require('./loadImage');\n\nmodule.exports = {\n  defaultOptions,\n  spawnWorker,\n  terminateWorker,\n  onMessage,\n  send,\n  loadImage,\n};\n","const resolveURL = require('resolve-url');\nconst { version, dependencies } = require('../../../package.json');\nconst defaultOptions = require('../../constants/defaultOptions');\n\n/*\n * Default options for browser worker\n */\nmodule.exports = {\n  ...defaultOptions,\n  workerPath: (typeof process !== 'undefined' && process.env.TESS_ENV === 'development')\n    ? resolveURL(`/dist/worker.dev.js?nocache=${Math.random().toString(36).slice(3)}`)\n    : `https://unpkg.com/tesseract.js@v${version}/dist/worker.min.js`,\n  /*\n   * If browser doesn't support WebAssembly,\n   * load ASM version instead\n   */\n  corePath: `https://unpkg.com/tesseract.js-core@v${dependencies['tesseract.js-core'].substring(1)}/tesseract-core.${typeof WebAssembly === 'object' ? 'wasm' : 'asm'}.js`,\n};\n","module.exports = {\n  /*\n   * default path for downloading *.traineddata\n   */\n  langPath: 'https://tessdata.projectnaptha.com/4.0.0',\n  /*\n   * Use BlobURL for worker script by default\n   * TODO: remove this option\n   *\n   */\n  workerBlobURL: true,\n  logger: () => {},\n};\n","/**\n * spawnWorker\n *\n * @name spawnWorker\n * @function create a new Worker in browser\n * @access public\n */\nmodule.exports = ({ workerPath, workerBlobURL }) => {\n  let worker;\n  if (Blob && URL && workerBlobURL) {\n    const blob = new Blob([`importScripts(\"${workerPath}\");`], {\n      type: 'application/javascript',\n    });\n    worker = new Worker(URL.createObjectURL(blob));\n  } else {\n    worker = new Worker(workerPath);\n  }\n\n  return worker;\n};\n","/**\n * terminateWorker\n *\n * @name terminateWorker\n * @function terminate worker\n * @access public\n */\nmodule.exports = (worker) => {\n  worker.terminate();\n};\n","module.exports = (worker, handler) => {\n  worker.onmessage = ({ data }) => { // eslint-disable-line\n    handler(data);\n  };\n};\n","/**\n * send\n *\n * @name send\n * @function send packet to worker and create a job\n * @access public\n */\nmodule.exports = async (worker, packet) => {\n  worker.postMessage(packet);\n};\n","const resolveURL = require('resolve-url');\n\n/**\n * readFromBlobOrFile\n *\n * @name readFromBlobOrFile\n * @function\n * @access private\n */\nconst readFromBlobOrFile = blob => (\n  new Promise((resolve, reject) => {\n    const fileReader = new FileReader();\n    fileReader.onload = () => {\n      resolve(fileReader.result);\n    };\n    fileReader.onerror = ({ target: { error: { code } } }) => {\n      reject(Error(`File could not be read! Code=${code}`));\n    };\n    fileReader.readAsArrayBuffer(blob);\n  })\n);\n\n/**\n * loadImage\n *\n * @name loadImage\n * @function load image from different source\n * @access private\n */\nconst loadImage = async (image) => {\n  let data = image;\n  if (typeof image === 'undefined') {\n    return 'undefined';\n  }\n\n  if (typeof image === 'string') {\n    // Base64 Image\n    if (/data:image\\/([a-zA-Z]*);base64,([^\"]*)/.test(image)) {\n      data = atob(image.split(',')[1])\n        .split('')\n        .map(c => c.charCodeAt(0));\n    } else {\n      const resp = await fetch(resolveURL(image));\n      data = await resp.arrayBuffer();\n    }\n  } else if (image instanceof HTMLElement) {\n    if (image.tagName === 'IMG') {\n      data = await loadImage(image.src);\n    }\n    if (image.tagName === 'VIDEO') {\n      data = await loadImage(image.poster);\n    }\n    if (image.tagName === 'CANVAS') {\n      await new Promise((resolve) => {\n        image.toBlob(async (blob) => {\n          data = await readFromBlobOrFile(blob);\n          resolve();\n        });\n      });\n    }\n  } else if (image instanceof File || image instanceof Blob) {\n    data = await readFromBlobOrFile(image);\n  }\n\n  return new Uint8Array(data);\n};\n\nmodule.exports = loadImage;\n","const createWorker = require('./createWorker');\n\nconst recognize = async (image, langs, options) => {\n  const worker = createWorker(options);\n  await worker.load();\n  await worker.loadLanguage(langs);\n  await worker.initialize(langs);\n  return worker.recognize(image)\n    .finally(async () => {\n      await worker.terminate();\n    });\n};\n\nconst detect = async (image, options) => {\n  const worker = createWorker(options);\n  await worker.load();\n  await worker.loadLanguage('osd');\n  await worker.initialize('osd');\n  return worker.detect(image)\n    .finally(async () => {\n      await worker.terminate();\n    });\n};\n\nmodule.exports = {\n  recognize,\n  detect,\n};\n","/*\n * PSM = Page Segmentation Mode\n */\nmodule.exports = {\n  OSD_ONLY: '0',\n  AUTO_OSD: '1',\n  AUTO_ONLY: '2',\n  AUTO: '3',\n  SINGLE_COLUMN: '4',\n  SINGLE_BLOCK_VERT_TEXT: '5',\n  SINGLE_BLOCK: '6',\n  SINGLE_LINE: '7',\n  SINGLE_WORD: '8',\n  CIRCLE_WORD: '9',\n  SINGLE_CHAR: '10',\n  SPARSE_TEXT: '11',\n  SPARSE_TEXT_OSD: '12',\n};\n"],"sourceRoot":""}
\ No newline at end of file