PageSourceSearch

https://isku-ramen.ru/_nuxt/CcSFgCJn.js

js isku-ramen.ru collected 2026-10-02 15:58:40 UTC 460,427 bytes, 24 lines download raw bytes

1import{d as Le,m as yt,L as rt,p as Vt,Y as ir,O as Xt,s as He,aN as Ur,G as xt,o as E,c as O,M as Cr,u as f,n as ct,a as b,t as te,b as q,_ as Sn,v as Q,F as xe,j as ne,z as ae,i as se,R as oi,ak as Tn,r as je,b0 as ro,b1 as so,b2 as ai,e as pe,b3 as hs,b4 as gs,f as Fe,aB as li,k as st,y as Wt,$ as gn,a9 as ci,al as Jt,l as Ae,h as io,Q as xn,A as oo,aD as ao,ag as xs,aJ as _s,C as Nn,aW as or,ar as lo,as as co,at as ms,ad as $n,af as vn,b5 as rn,b6 as kr,E as Ar,w as ui,b7 as di,N as wr,b8 as fi,I as kt,J as Dt,V as Pn,a2 as uo,a3 as yn,b9 as fo,ba as nr,aI as mr,P as Gs,bb as ho,ai as go,aj as xo,ae as Ln,aA as hi,ab as gi,bc as _o,am as mo,an as Br,aK as us,ax as po,D as xi,bd as wo,aH as Co,be as Ao,bf as Eo}from"./D8bZCvQQ.js";import{_ as _i,a as ps}from"./CQFc3BPG.js";import{_ as Vr}from"./BUBhxwMz.js";import{_ as ws}from"./WtSUCItV.js";import{P as yo,u as vo,_ as bo}from"./DLwAkAiQ.js";import{b as Gr,_ as Io,a as So}from"./DpYBw9SV.js";import{_ as mi,S as ds,a as To}from"./tTxy-mqw.js";import{u as pi}from"./CMKqWS8s.js";import{_ as wi}from"./CqEjCOlU.js";import{_ as Ci}from"./DJWDlY_n.js";import{_ as No,a as Oo}from"./CGABlTPh.js";import{u as Ro}from"./BT-dl3wQ.js";import{_ as Cs}from"./FcjKzDar.js";import{_ as Mo,a as ko}from"./DIF_6rtw.js";import{_ as As}from"./Caw_HCHg.js";import{u as Do}from"./Clmj_EjL.js";import{_ as Bo}from"./oz5cG8m3.js";import{u as Po}from"./C2PIV6N8.js";import{q as Hs}from"./3P7hkkXB.js";import"./CrtX8gVm.js";const Lo={class:"mobile-menu__box"},Fo={class:"mobile-menu__actions"},Uo={class:"selector__title text-s c-gray"},Vo={class:"selector__value text-m c-primary"},Go={class:"selector__overflow"},Ho={class:"selector__title text-s c-gray"},Wo={key:0},Xo={key:1},$o={key:2},zo={class:"selector__value text-m c-primary"},Yo={class:"selector__overflow"},Zo={class:"action__icon"},qo={class:"action__text"},jo={class:"action__icon"},Ko={class:"action__icon"},Qo={class:"action__text"},Jo={class:"action__icon"},ea={class:"action__icon"},ta={class:"mobile-menu__nav"},na={class:"nav"},ra={key:0,class:"mobile-menu__nav"},sa={class:"nav _secondary"},ia={key:1,class:"mobile-menu__nav"},oa={class:"socials"},aa=Le({__name:"MobileMenu",setup(g){const{$env:u}=yt(),c=rt(),m=Vt(),p=ir(),h=Xt(),{mobileMenuOffest:A}=He(c),{app_settings:v,hasMarketingSection:N,isAuthenticated:w}=He(m),{currentRegionName:T,currentAddress:I}=He(h),V=Ur(u.orderToTable),D=()=>{c.setMobileMenu(!1)},k=pe(()=>{const H=`${A.value}px`;return{top:H,height:`calc(100% - ${H})`}}),P=pe(()=>c.headerOffset),Y=()=>{c.setSearchActive(!0),c.setMobileMenu(!1)};return xt(()=>c.mobileMenuActive,H=>{H?hs():gs()}),(H,Z)=>{const $=Sn,J=oi,j=Tn,z=ro,G=so,ce=ai;return E(),O("div",{class:ct([[f(c).mobileMenuActive&&"_active"],"mobile-menu"]),style:Cr(f(k))},[b("div",{class:"mobile-menu__bg",onClick:D}),b("div",Lo,[b("div",Fo,[f(u).useRegions?(E(),O("div",{key:0,class:"selector",onClick:Z[0]||(Z[0]=()=>f(c).setModal({name:"region",keepPrevious:!0}))},[b("div",Uo,[b("span",null,te(H.$t("header.city")),1)]),b("div",Vo,[b("span",Go,te(f(T)),1),q($,{name:"caret"})])])):Q("",!0),b("div",{class:"selector",onClick:Z[1]||(Z[1]=()=>f(c).setModal({name:"address",keepPrevious:!0}))},[b("div",Ho,[f(V)||f(I)?.type==="totable"?(E(),O("span",Wo,te(H.$t("header.nameTable")),1)):f(I)?.type==="takeaway"?(E(),O("span",Xo,te(H.$t("header.takeawayAddress")),1)):(E(),O("span",$o,te(H.$t("header.deliveryAddress")),1))]),b("div",zo,[b("span",Yo,[f(I)?(E(),O(xe,{key:0},[ne(te(f(I).name),1)],64)):f(V)?(E(),O(xe,{key:1},[ne(te(H.$t("header.wantTable")),1)],64)):(E(),O(xe,{key:2},[ne(te(H.$t("header.wantAddress")),1)],64))]),q($,{name:"caret"})])]),f(v).loyalty?.enabled?(E(),ae(J,{key:1,class:"action",to:"/loyalty"},{default:se(()=>[b("div",Zo,[q($,{name:"heart"})]),b("div",qo,te(f(u).loyaltyTitle),1)]),_:1})):Q("",!0),f(w)?(E(),ae(J,{key:3,class:"action",to:"/profile"},{default:se(()=>[b("div",Ko,[q($,{name:"login"})]),b("div",Qo,te(f(m).userNameVerbose),1)]),_:1})):(E(),O("div",{key:2,class:"action",onClick:Z[2]||(Z[2]=()=>f(c).setModal({name:"auth",keepPrevious:!0}))},[b("div",jo,[q($,{name:"login"})]),Z[4]||(Z[4]=b("div",{class:"action__text"},"Войти в личный кабинет",-1))])),f(u).useContacts?(E(),O("div",{key:4,class:"action",onClick:Z[3]||(Z[3]=()=>f(c).setModal({name:"contacts",keepPrevious:!0}))},[b("div",Jo,[q($,{name:"dialog"})]),Z[5]||(Z[5]=b("div",{class:"action__text"},"Контакты",-1))])):Q("",!0),f(v).franchise_link?(E(),ae(J,{key:5,class:"action",to:f(v).franchise_link},{default:se(()=>[b("div",ea,[q($,{name:"franchise"})]),Z[6]||(Z[6]=b("div",{class:"action__text"},"Франшиза",-1))]),_:1},8,["to"])):Q("",!0)]),b("nav",ta,[f(u).useSearch?(E(),O("div",{key:0,class:"mobile-menu__search",onClick:Y},[q(j,{icon:"search","icon-position":"left",placeholder:"Поиск блюд",value:""})])):Q("",!0),b("ul",na,[(E(!0),O(xe,null,je(f(p).navCategories,F=>(E(),O("li",{key:F.id},[q(z,{link:F,"nav-scroll-offset":f(P),onOnClick:D},null,8,["link","nav-scroll-offset"])]))),128))])]),f(v).site_mobile_menu?(E(),O("nav",ra,[b("ul",sa,[(E(!0),O(xe,null,je(f(v).site_mobile_menu,F=>(E(),O("li",{key:F.id},[q(G,{link:F,class:"nav__link"},null,8,["link"])]))),128))])])):Q("",!0),f(N)?(E(),O("div",ia,[b("ul",oa,[q(ce)])])):Q("",!0)])],6)}}}),la=Fe(aa,[["__scopeId","data-v-5e43ca58"]]),ca={class:"empty"},ua=Le({__name:"CartEmpty",setup(g){const u=Vt(),c=Xt(),m=rt(),{app_settings:p}=He(u),{minOrderPrice:h}=He(c);return(A,v)=>{const N=st,w=li;return E(),O("div",ca,[q(w,{icon:"cart-outline",title:"В корзине пусто"},{content:se(()=>[v[1]||(v[1]=ne(" Зайдите в меню, выберите блюда, которые хотите съесть ",-1)),f(h)?(E(),O(xe,{key:0},[ne(", а мы оперативно доставим ваш заказ от "+te(f(Wt)(f(h)))+". ",1)],64)):Q("",!0)]),action:se(()=>[q(N,{to:"/",onClick:v[0]||(v[0]=T=>f(m).closeModal())},{default:se(()=>[...v[2]||(v[2]=[ne("Перейти в меню",-1)])]),_:1})]),_:1})])}}}),da=Fe(ua,[["__scopeId","data-v-69ddc511"]]),fa={class:"progress"},ha=Le({__name:"Progress",props:{width:{},alwaysComplete:{type:Boolean}},setup(g){const u=g,c=pe(()=>u.width>=100);return(m,p)=>(E(),O("div",fa,[b("div",{class:ct(["progress__value",[(f(c)||g.alwaysComplete)&&"_compleate"]]),style:Cr({width:`${g.width}%`})},null,6)]))}}),ga=Fe(ha,[["__scopeId","data-v-a1d2c433"]]),xa={class:"card__media"},_a={class:"card__image"},ma={class:"card__body"},pa={class:"card__title h6-title"},wa={key:0,class:"card__description text-s c-gray"},Ca={key:1,class:"card__size text-xs c-gray"},Aa={key:2,class:"card__description text-s c-gray"},Ea={key:3,class:"card__preorder text-s c-primary"},ya={key:4,class:"card__preorder text-s c-primary"},va={key:4,class:"card__one-plus-one text-m"},ba={class:"card__meta"},Ia={class:"card__price h5-title"},Sa=Le({__name:"ProductCardCart",props:{product:{type:Object,default:()=>({})},cartItem:{type:Object,default:null},isGift:{type:Boolean,default:!1}},setup(g){const{$env:u}=yt(),c=gn(),{promo:m}=He(c),p=rt(),h=g,{renderProduct:A,productPrice:v,productModifiersVerbose:N,productQuantityInCartWithModifiers:w,isUnavailableToOrder:T,isPreorder:I,stockCount:V,matchStockCount:D}=ci({cartItem:h.cartItem,product:h.product}),k=pe(()=>h.cartItem?.q||0),P=pe(()=>{if(h.isGift)return(m.value?.gifts.length||0)>1}),Y=pe(()=>{let ge=0;const ie=A.value.min_items||0;let de=1e6,be=A.value.weight_step||1;return A.value.sale_by_weight&&(ge=A.value.min_weight||100,de=A.value.max_weight||100*1e3,be=A.value.weight_step||100),{minWeight:ge,min:ie,max:de,step:be}}),H=pe(()=>String(A.value.packing_weights||"").trim()),Z=pe(()=>A.value.nameOptions?.length||!H.value?!1:H.value.split(" ")[0]?.[0]!=="0"),$=pe(()=>I.value?+u.stopListType==1:!1),J=()=>{c.changeQuantity({id:A.value.id,title:A.value.title,price:A.value.price,quantity:1,modifiers:h.cartItem?.modifiers||[],product:A.value,size:h.cartItem?.size})},j=()=>{c.removeFromCart(A.value.id,A.value.title,A.value.price,A.value.count,h.cartItem?.modifiers,A.value,h.cartItem?.size)},z=(ge,ie,de)=>
1{ge===0?j():c.changeQuantity({id:A.value.id,title:A.value.title,price:A.value.price,quantity:ge,modifiers:h.cartItem?.modifiers||[],product:A.value,delta:ie,isRemoved:de,size:h.cartItem?.size})},G=()=>{T.value||p.setModal({name:"product",keepPrevious:!0,params:{id:A.value.id,critical:A.value,isGift:h.isGift}})},ce=Ae(!1),F=ge=>{ce.value=ge};return(ge,ie)=>{const de=_i,be=Vr,Ve=ws,B=st;return E(),O("div",{class:ct(["card",[f(ce)&&"_focused"]]),onClick:G,onMouseenter:ie[7]||(ie[7]=Ee=>F(!0)),onMouseleave:ie[8]||(ie[8]=Ee=>F(!1))},[b("div",xa,[b("div",_a,[q(de,{src:f(A).image,alt:f(A).title,"video-url":f(A).video_url,active:f(ce),loop:""},null,8,["src","alt","video-url","active"])])]),b("div",ma,[b("div",pa,[q(be,{text:f(A).title},null,8,["text"])]),f(A).nameOptions?.length?(E(),O("div",wa,te(Array.isArray(f(A).nameOptions)?f(A).nameOptions.join(", "):String(f(A).nameOptions)),1)):Q("",!0),g.cartItem?.size?.title?(E(),O("div",Ca,te(g.cartItem.size.title),1)):Q("",!0),(E(!0),O(xe,null,je(f(N),(Ee,Ie)=>(E(),O("span",{key:Ie,class:"card__modifiers text-xs c-gray"},[Ee.q&&Ee.q>1?(E(),O(xe,{key:0},[ne(te(Ee.label)+": "+te(Ee.q)+" ",1),Ee.value!==""?(E(),O(xe,{key:0},[ne(" х "+te(Ee.value),1)],64)):Q("",!0)],64)):(E(),O(xe,{key:1},[ne(te(Ee.label)+" ",1),Ee.value&&Ee.value!==""?(E(),O(xe,{key:0},[ne(te(Ee.value),1)],64)):Q("",!0)],64))]))),128)),f(Z)?(E(),O("div",Aa,te(f(H)),1)):Q("",!0),f(I)?(E(),O("div",Ea,[q(yo,{"stock-count":f(V),"match-stock-count":f(D)},null,8,["stock-count","match-stock-count"])])):Q("",!0),f(T)?(E(),O("div",ya," Позиция недоступна к заказу ")):Q("",!0),g.isGift?Q("",!0):(E(),O("div",{key:5,class:"card__action",onClick:ie[0]||(ie[0]=Jt(()=>{},["stop"])),onMouseenter:ie[1]||(ie[1]=Ee=>F(!1)),onMouseleave:ie[2]||(ie[2]=Ee=>F(!0))},[!f(T)&&!f($)&&f(k)!==0?(E(),ae(Ve,{key:0,size:"small",value:f(k),"min-weight":f(Y).minWeight,"min-value":f(Y).min,"max-value":f(Y).max,step:f(Y).step,onOnChange:z},null,8,["value","min-weight","min-value","max-value","step"])):!f(T)&&!f($)?(E(),O(xe,{key:1},[q(B,{theme:"secondary",onClick:J},{default:se(()=>[...ie[9]||(ie[9]=[ne(" Вернуть ",-1)])]),_:1}),q(B,{theme:"secondary",onClick:j},{default:se(()=>[...ie[10]||(ie[10]=[ne(" Удалить ",-1)])]),_:1})],64)):f(T)?(E(),ae(B,{key:2,theme:"secondary",onClick:j},{default:se(()=>[...ie[11]||(ie[11]=[ne(" Удалить ",-1)])]),_:1})):Q("",!0),!f(T)&&f(I)&&f(w)>f(V)?(E(),ae(B,{key:3,theme:"secondary",onClick:j},{default:se(()=>[...ie[12]||(ie[12]=[ne(" Удалить ",-1)])]),_:1})):Q("",!0),f(m)?.one_plus_one?.some(Ee=>Ee.id===f(A).id)?(E(),O("div",va,te("+ "+f(w)+" бесплатно"),1)):Q("",!0)],32)),f(P)?(E(),O("div",{key:6,class:"card__action",onClick:ie[4]||(ie[4]=Jt(()=>{},["stop"])),onMouseenter:ie[5]||(ie[5]=Ee=>F(!1)),onMouseleave:ie[6]||(ie[6]=Ee=>F(!0))},[q(B,{size:"small",onClick:ie[3]||(ie[3]=()=>f(p).setModal({name:"gift",keepPrevious:!0}))},{default:se(()=>[...ie[13]||(ie[13]=[ne(" Изменить подарок ",-1)])]),_:1})],32)):Q("",!0)]),b("div",ba,[b("div",Ia,[g.isGift?(E(),O(xe,{key:1},[ne("Бесплатно")],64)):(E(),O(xe,{key:0},[ne(te(("formatPrice"in ge?ge.formatPrice:f(Wt))(f(v).raw*g.cartItem?.q||0)),1)],64))])])],34)}}}),Ta=Fe(Sa,[["__scopeId","data-v-8cc1cd0b"]]),Na={class:"card"},Oa={class:"card__media"},Ra={class:"card__image"},Ma={class:"card__body"},ka={class:"card__title h6-title"},Da={key:0,class:"card__description text-s c-gray"},Ba={key:1,class:"card__preorder text-s c-primary"},Pa={class:"card__action"},La={class:"card__meta"},Fa={class:"card__price h5-title"},Ua=Le({__name:"ProductCardAdditive",props:{product:{type:Object,default:()=>({})},additiveCount:{type:Number,required:!0,default:0}},setup(g){const{$env:u}=yt(),c=gn(),{additivesCart:m,cartStoped:p}=He(c);rt();const h=g,A=pe(()=>m.value.find(H=>H.id===h.product.id)||null),{renderProduct:v,productPrice:N,isPreorder:w,productModifiersVerbose:T,matchStockCount:I,stockCount:V}=ci({cartItem:A.value,product:h.product,isAdditive:!0}),D=pe(()=>{let H=h.additiveCount,Z=0;return A.value&&(H=H+A.value.q,Z=A.value.q),{total:H,payable:Z}}),k=pe(()=>{let H=0;const Z=h.additiveCount;let $=1e6,J=h.product.weight_step||1;return v.value.sale_by_weight&&(H=v.value.min_weight||100,$=v.value.max_weight||100*1e3,J=v.value.weight_step||100),{minWeight:H,min:Z,max:$,step:J}}),P=pe(()=>w.value?+u.stopListType==1:!1),Y=H=>{const Z=H-h.additiveCount,$=A.value?.modifiers||[];A.value===null&&Z>0?c.addAdditiveToCart(v.value,Z,$):Z<=0?c.removeAdditiveFromCart(v.value.id,A.value?.modifiers):c.changeAdditiveQuantity({id:v.value.id,quantity:Z,modifiers:$})};return(H,Z)=>{const $=ps,J=Vr,j=ws;return E(),O("div",Na,[b("div",Oa,[b("div",Ra,[q($,{src:f(v).image,alt:f(v).title},null,8,["src","alt"])])]),b("div",Ma,[b("div",ka,[q(J,{text:f(v).title},null,8,["text"])]),(E(!0),O(xe,null,je(f(T),(z,G)=>(E(),O("span",{key:G,class:"card__modifiers text-xs c-gray"}
1,[ne(te(z.label),1),z.value?(E(),O(xe,{key:0},[ne(": "+te(z.value),1)],64)):Q("",!0)]))),128)),f(v).packing_weights.split(" ")[0][0]!=="0"?(E(),O("div",Da,te(f(v).packing_weights),1)):Q("",!0),f(w)?(E(),O("div",Ba,[+f(u).stopListType==1?(E(),O(xe,{key:0},[ne("Эта позиция не доступна")],64)):+f(u).stopListType==2&&f(V)===-1?(E(),O(xe,{key:1},[ne(" Позиция доступна по предзаказу ")],64)):+f(u).stopListType==2?(E(),O(xe,{key:2},[ne("Эта позиция не доступна")],64)):!f(I)&&f(V)?(E(),O(xe,{key:3},[ne(" На сегодня в наличии "+te(f(V)),1)],64)):f(I)?Q("",!0):(E(),O(xe,{key:4},[ne("На сегодня нет в наличии")],64))])):Q("",!0),b("div",Pa,[f(P)?Q("",!0):(E(),ae(j,{key:0,size:"small",value:f(D).total,"min-weight":f(k).minWeight,"min-value":f(k).min,"max-value":f(k).max,step:f(k).step,"is-deletable":!1,onOnChange:Z[0]||(Z[0]=z=>Y(z))},null,8,["value","min-weight","min-value","max-value","step"]))])]),b("div",La,[b("div",Fa,[f(D).payable?(E(),O(xe,{key:0},[ne(te(("formatPrice"in H?H.formatPrice:f(Wt))(f(N).raw*f(D).payable)),1)],64)):Q("",!0)])])])}}}),Va=Fe(Ua,[["__scopeId","data-v-dbe583b5"]]),Ga={class:"addons _skeleton"},Ha={class:"addons__slider"},Wa=Le({__name:"CartAddonsSkeleton",setup(g){return(u,c)=>(E(),O("div",Ga,[c[1]||(c[1]=b("span",{class:"skeleton skeleton--text title"},null,-1)),b("div",Ha,[(E(),O(xe,null,je(3,m=>b("div",{key:m,class:"card"},[...c[0]||(c[0]=[io('<span class="skeleton skeleton--image" data-v-e4593482></span><div class="card__body" data-v-e4593482><span class="skeleton skeleton--text long" data-v-e4593482></span><span class="skeleton skeleton--text short" data-v-e4593482></span></div><span class="skeleton skeleton--text price" data-v-e4593482></span>',3)])])),64))])]))}}),Xa=Fe(Wa,[["__scopeId","data-v-e4593482"]]),$a={class:"addons"},za=Le({__name:"CartAddons",props:{list:{}},setup(g){const u={slidesPerView:"auto",spaceBetween:16,threshold:3,preventClicks:!0,touchEventsTarget:"container",freeMode:{enabled:!0,sticky:!1},mousewheel:{forceToAxis:!0,releaseOnEdges:!0,sensitivity:.7}};return(c,m)=>{const p=Gr,h=mi;return E(),O("div",$a,[m[0]||(m[0]=b("h2",{class:"addons__title text-m fw-500 text-sm-s"},"Добавить к заказу?",-1)),q(h,{class:"addons__slider",params:u},{default:se(()=>[(E(!0),O(xe,null,je(g.list,(A,v)=>(E(),ae(f(ds),{key:v},{default:se(()=>[q(p,{product:A},null,8,["product"])]),_:2},1024))),128))]),_:1})])}}}),Ya=Fe(za,[["__scopeId","data-v-6c0ad090"]]),Za={key:0,class:"cart"},qa={class:"cart__head"},ja={key:0,class:"cart__delivery"},Ka={class:"h6-title"},Qa={class:"cart__delivery-row"},Ja={class:"text-s c-gray"},el={class:"cart__scroller"},tl={class:"cart__list"},nl={key:0,class:"cart__meta"},rl={class:"cart__meta-value"},sl={key:1,class:"cart__meta"},il={class:"cart__meta-value"},ol={key:2,class:"cart__meta"},al={class:"cart__meta-value"},ll={key:0,class:"cart__cta-note text-m c-gray"},cl={key:1,class:"cart__cta-note text-m c-gray"},ul=Le({__name:"CartSummary",setup(g){const u=xn(),c=oo(),m=ao(),{$env:p,$log:h}=yt(),A=Xt(),v=rt(),N=gn(),w=Vt(),{cart:T,products:I,additives:V,suggestions:D,suggestionsLoading:k,promo:P,promoGiftId:Y,savedPromocode:H}=He(N),{modal:Z}=He(v),{isAuthenticated:$,app_settings:J,isPreorderOpen:j}=He(w),{priceData:z,zoneData:G,minOrderData:ce,promoData:F,stopListData:ge,priceDeliveryRang:ie}=pi(),de=()=>{ge.value.cartBlocked&&u.error("В корзине есть недоступные к заказу позиции")},be=()=>{if(p.orderAskAuth&&!$.value){v.setModal({name:"auth",keepPrevious:!0});return}if(J.value.ask_address_on_cart&&!A.currentAddress){v.setModal({name:"address",keepPrevious:!0});return}m.path==="/order"?v.closeAllModals():c.push("/order")},Ve=xs(()=>{N.checkStopList(),N.getaAdditives(),N.getSuggestions(),N.getPromo({code:H.value||""})},500,{leading:!0});return xt(()=>Z.value,B=>{B.includes("cart")&&Ve()}),xt(()=>T.value,B=>{Z.value.includes("cart")&&Ve()}),(B,Ee)=>{const Ie=ga,ut=Ta,bt=Va,It=Xa,en=Ya,nt=st;return f(I)?(E(),O("div",Za,[b("div",qa,[Ee[0]||(Ee[0]=b("div",{class:"h2-title"},"Корзина",-1)),f(G).isToTable?Q("",!0):(E(),O("div",ja,[b("div",Ka,te(f(ie).rangTitle),1),b("div",Qa,[(E(!0),O(xe,null,je(f(ie).ranks,(Se,K)=>(E(),ae(Ie,{key:K,class:ct(K===0?"cart__delivery-progress_main":"cart__delivery-progress"),width:Se.progressPercent,"always-complete":K!==0},null,8,["class","width","always-complete"]))),128))]),b("div",Ja,te(f(ie).rangDescription),1)]))]),b("div",el,[b("div",tl,[(E(!0),O(xe,null,je(f(T),Se=>(E(),ae(ut,{key:`${Se.id}_${Se.size?.id??"nosize"}_${Se.modifiers?.map(K=>K.id).join(",")}`,"cart-item":Se},null,8,["cart-item"]))),128)),(E(!0),O(xe,null,je(f(F).gifts.filter(Se=>Se.id===f(Y)),Se=>(E(),ae(ut,{key:Se.id,"is-gift":!0,product:Se},null,8,["product"]))),128)),(E(!0),O(xe,null,je(f(V),Se=>(E(),ae(bt,{key:Se.catalog_item.id,"additive-count":Se.count,product:Se.catalog_item},null,8,["additive-count","product"]))),128))]),f(G).isDelivery?(E(),O("div",nl,[Ee[1]||(Ee[1]=b("div",{class:"text-m"},"Доставка",-1)),b("div",rl,[f(z).delivery?(E(),O(xe,{key:0},[ne(te(f(Wt)(f(z).delivery)),1)],64)):(E(),O(xe,{key:1},[ne("Бесплатно")],64))])])):Q("",!0),f(z).serviceFee?(E(),O("div",sl,[Ee[2]||(Ee[2]=b("div",{class:"text-m"},"Сервисный сбор",-1)),b("div",il,te(f(Wt)(f(z).serviceFee)),1)])):Q("",!0),f(F).isOnePlusOne||f(F).giftCount||Number(f(F).discountSum)>0?(E(),O("div",ol,[Ee[3]||(Ee[3]=b("div",{class:"text-m"},"Скидка",-1)),b("div",al,[Number(f(F).discountSum)>0?(E(),O(xe,{key:0},[ne(" -"+te(f(Wt)(f(F).discountSum)),1)],64)):f(F).isOnePlusOne?(E(),O(
1xe,{key:1},[ne("1+1")],64)):f(F).giftCount?(E(),O(xe,{key:2},[ne(te(f(F).verboseGifts),1)],64)):Q("",!0)])])):Q("",!0),f(k)?(E(),ae(It,{key:3,class:"cart__addons"})):f(D)?.length?(E(),ae(en,{key:4,class:"cart__addons",list:f(D)},null,8,["list"])):Q("",!0)]),b("div",{class:"cart__cta",onClick:de},[!f(j)&&!f(G).isOpen?(E(),O("p",ll," Оформить заказ можно в рабочее время ")):Q("",!0),f(ce).match?Q("",!0):(E(),O("p",cl," До минимального заказа "+te(f(Wt)(f(ce).remained)),1)),q(nt,{block:!0,disabled:!f(ce).match||f(ge).cartBlocked||f(J).disable_order||!f(j)&&!f(G).isOpen,onClick:be},{default:se(()=>[ne(" Оформить заказ • "+te(f(Wt)(f(z).totalToPay)),1)]),_:1},8,["disabled"])])])):Q("",!0)}}}),dl=Fe(ul,[["__scopeId","data-v-9ee8c565"]]),fl=["inert"],hl={class:"modal__panel"},gl={class:"modal__content"},xl=50,_l=99,ml=Le({__name:"Modal",props:{name:{type:String,required:!0},position:{type:String,default:"center",validator:g=>["center","aside"].includes(g)},height:{type:String,default:"",validator:g=>["","fill"].includes(g)},size:{type:String,default:"normal",validator:g=>["normal","x-normal","m-large","large","x-large"].includes(g)},padding:{type:Boolean,default:!0},scrolling:{type:Boolean,default:!0},zIndex:{type:Number,default:null}},setup(g){const u=rt(),{modal:c,modalParams:m}=He(u),p=g,h=pe(()=>[`modal-${p.name}`,A.value&&"_active",`_${p.position}`,`_${p.size}`,`_${p.height}`,!p.padding&&"_no-padding",!p.scrolling&&"_no-scrolling"]),A=pe(()=>c.value.includes(p.name)),v=pe(()=>{if(p.zIndex!=null)return p.zIndex;const T=c.value.indexOf(p.name);return T<0?xl:_l+T*10}),N=pe(()=>{const T=m?.value,I=T&&T[p.name];return I?.closable!==void 0?I?.closable:!0}),w=()=>
1{if(!N.value)return!1;A.value&&(document.activeElement instanceof HTMLElement&&document.activeElement.blur(),u.closeModal(p.name))};return xt(()=>A.value,T=>{if(T)hs();else{if(document.activeElement instanceof HTMLElement){const I=document.activeElement;I.closest?.(`.modal-${p.name}`)&&I.blur()}gs()}}),(T,I)=>{const V=Sn;return E(),O("div",{class:ct(["modal",f(h)]),style:Cr({zIndex:f(v)}),inert:!f(A),onClick:w},[b("div",{class:"modal__wrapper",onClick:I[0]||(I[0]=Jt(()=>{},["stop"]))},[f(N)?(E(),O("div",{key:0,class:"modal__close",onClick:w},[q(V,{name:"close"})])):Q("",!0),b("div",hl,[b("div",gl,[_s(T.$slots,"default",{},void 0,!0)])])])],14,fl)}}}),vt=Fe(ml,[["__scopeId","data-v-958b4eb0"]]),pl=Le({__name:"CartModal",setup(g){const{$env:u,$log:c}=yt(),m=gn(),p=ir(),{cart:h,products:A}=He(m),{flatCatalog:v}=He(p);return Nn(async()=>{}),(N,w)=>{const T=da,I=dl,V=vt,D=or;return E(),ae(D,null,{default:se(()=>[q(V,{name:"cart",position:"aside",height:"fill",padding:!1,scrolling:!1},{default:se(()=>[f(A).length===0?(E(),ae(T,{key:0})):(E(),ae(I,{key:1}))]),_:1})]),_:1})}}}),wl=Fe(pl,[["__scopeId","data-v-9b1c4c29"]]),Cl={class:"stoplist"},Al={class:"stoplist__list"},El={class:"stoplist__cta"},Ws="stoplist",yl=Le({__name:"CartStopList",setup(g){const{$env:u,$log:c}=yt(),m=gn(),p=rt(),{modal:h,modalParams:A}=He(p),{products:v}=He(m),N=pe(()=>A.value&&A.value[Ws]),w=pe(()=>{const I=N.value?.ids;return I&&I.length?I.map(V=>v.value?.find(D=>D.id===V)):[]}),T=()=>{const I=N.value?.ids;I&&I.length&&I.forEach(V=>{m.removeFromCart(V)}),p.closeModal()};return xt(()=>h.value,I=>{I.includes("stoplist")}),Nn(()=>{}),(I,V)=>{const D=Gr,k=st,P=vt;return E(),ae(P,{name:Ws},{default:se(()=>[b("div",Cl,[V[1]||(V[1]=b("div",{class:"h2-title"},"Закончилось",-1)),b("div",Al,[(E(!0),O(xe,null,je(f(w),(Y,H)=>(E(),ae(D,{key:H,product:Y,stoplisted:!0},null,8,["product"]))),128))]),b("div",El,[q(k,{onClick:T},{default:se(()=>[...V[0]||(V[0]=[ne("Хорошо, удалить",-1)])]),_:1})])])]),_:1})}}}),vl=Fe(yl,[["__scopeId","data-v-fabbfe88"]]),bl={class:"gift"},Il={class:"gift__list"},Sl={class:"gift__cta"},Tl=Le({__name:"CartSelectGift",setup(g){const u=xn(),c=gn(),m=rt(),{cart:p,promo:h,promoGiftId:A}=He(c),v=Ae(A.value),N=()=>{v.value?(A.value=v.value,m.closeModal()):u.error("Выберите подарок")};return(w,T)=>{const I=Gr,V=st,D=vt;return E(),ae(D,{name:"gift"},{default:se(()=>[b("div",bl,[T[1]||(T[1]=b("div",{class:"h2-title"},"Выберите подарок",-1)),b("div",Il,[(E(!0),O(xe,null,je(f(h)?.gifts,(k,P)=>(E(),ae(I,{key:P,product:k,gift:!0,"gift-current":f(v)===k.id,onClick:Y=>v.value=k.id},null,8,["product","gift-current","onClick"]))),128))]),b("div",Sl,[q(V,{onClick:N},{default:se(()=>[...T[0]||(T[0]=[ne("Выбрать подарок",-1)])]),_:1})])])]),_:1})}}}),Nl=Fe(Tl,[["__scopeId","data-v-bd1bde7f"]]),Ol={class:"promo-suggests-modal"},Rl={key:0,class:"promo-suggests-modal__loading text-m c-gray"},Ml={key:1,class:"promo-suggests-modal__list"},kl={class:"promo-suggests-modal__card-body"},Dl={class:"promo-suggests-modal__card-title text-m"},Bl={key:0,class:"promo-suggests-modal__card-desc text-s c-gray"},Pl={class:"promo-suggests-modal__card-message text-s"},Ll={class:"promo-suggests-modal__card-action"},Fl={key:2,class:"promo-suggests-modal__empty text-m c-gray"},Ul={key:3,class:"promo-suggests-modal__footer"},Vl=Le({__name:"OrderPromoSuggestsModal",emits:["applied","cancelled"],setup(g,{emit:u}){const c=u,m=xn(),p=gn(),h=rt(),{promoCodeSuggestsLoading:A}=He(p),{suggestCards:v,hasActivePromo:N,isPromoFromSuggest:w,isDiscountActive:T,isDiscountAvailable:I,getDiscountMessage:V,ensureCanSwitchPromo:D,setStoredManualPromo:k}=vo(),P=Ae(!1),Y=pe(()=>v.value.some(J=>T(J))),H=J=>!J.error_type&&(J.gifts?.length??0)>1,Z=async J=>{if(!(!I(J)||P.value||!await D())){P.value=!0,k(null);try{const z=await p.getPromo({code:J.code,source:"suggest"});if(z?.error_type===2){m.error("Для применения акции необходимо авторизоваться"),h.setModal({name:"auth",keepPrevious:!0});return}if(z?.error_type){m.error(z.error_text||"Не удалось применить акцию");return}H(z)&&!lo()&&(h.setModal({name:"gift",keepPrevious:!0}),co()),c("applied"),h.closeModal("promo-suggests")}finally{P.value=!1}}},$=async()=>
1{if(!P.value){P.value=!0;try{await p.cancelPromo(),k(null),c("cancelled"),h.closeModal("promo-suggests")}finally{P.value=!1}}};return(J,j)=>{const z=st,G=vt;return E(),ae(G,{name:"promo-suggests",position:"center",size:"x-normal"},{default:se(()=>[b("div",Ol,[j[3]||(j[3]=b("div",{class:"promo-suggests-modal__title h2-title"},"Акции и скидки",-1)),f(A)?(E(),O("div",Rl," Загрузка... ")):f(v).length?(E(),O("div",Ml,[(E(!0),O(xe,null,je(f(v),ce=>(E(),O("div",{key:ce.id,class:ct(["promo-suggests-modal__card",{"promo-suggests-modal__card--active":f(T)(ce)}])},[b("div",kl,[b("div",Dl,te(ce.title),1),ce.description?(E(),O("div",Bl,te(ce.description),1)):Q("",!0),b("div",Pl,te(f(V)(ce)),1)]),b("div",Ll,[f(T)(ce)?(E(),ae(z,{key:1,size:"small",theme:"secondary",disabled:P.value,onClick:$},{default:se(()=>[...j[1]||(j[1]=[ne(" Отменить ",-1)])]),_:1},8,["disabled"])):(E(),ae(z,{key:0,size:"small",theme:"primary",disabled:!f(I)(ce)||P.value,onClick:F=>Z(ce)},{default:se(()=>[...j[0]||(j[0]=[ne(" Применить ",-1)])]),_:1},8,["disabled","onClick"]))])],2))),128))])):(E(),O("div",Fl," Сейчас нет доступных акций для вашей корзины ")),f(N)&&f(w)&&!f(Y)?(E(),O("div",Ul,[q(z,{theme:"secondary",size:"medium",disabled:P.value,onClick:$},{default:se(()=>[...j[2]||(j[2]=[ne(" Отменить ",-1)])]),_:1},8,["disabled"])])):Q("",!0)])]),_:1})}}}),Gl=Fe(Vl,[["__scopeId","data-v-0c44d527"]]),Hl={class:"confirm"},Wl={class:"confirm__title h2-title"},Xl={class:"confirm__message text-m"},$l={class:"confirm__actions"},as="confirm",zl=Le({__name:"ConfirmModal",setup(g){const u=rt(),{modalParams:c}=He(u),m=pe(()=>c.value&&c.value[as]),p=()=>{m.value?.onCancel&&m.value.onCancel(),u.closeModal(as)},h=()=>{m.value?.onConfirm&&m.value.onConfirm(),u.closeModal(as)};return(A,v)=>{const N=st,w=vt;return E(),ae(w,{name:"confirm",size:"normal"},{default:se(()=>[b("div",Hl,[b("div",Wl,te(m.value?.title||"Подтверждение"),1),b("p",Xl,te(m.value?.message||"Вы уверены?"),1),b("div",$l,[q(N,{theme:"gray",size:"medium",onClick:p},{default:se(()=>[ne(te(m.value?.cancelText||"Отмена"),1)]),_:1}),q(N,{theme:"primary",size:"medium",onClick:h},{default:se(()=>[ne(te(m.value?.confirmText||"Подтвердить"),1)]),_:1})])])]),_:1})}}}),Yl=Fe(zl,[["__scopeId","data-v-9949077c"]]),Zl={class:"region"},ql={class:"region__form"},jl={class:"region__list"},Kl=["href","onClick"],Ql=Le({__name:"RegionModal",setup(g){const u=ms("x-thapl-region-id"),c=Xt(),{errors:m,setErrors:p,setFieldValue:h,validate:A}=$n({initialValues:{search:""}}),{value:v}=vn("search"),N=(T,I)=>{I.preventDefault();const V=String(T.id);u.value=V,c.region=V;const D=rn(T.domain);D?window.location.href=D:window.location.reload()},w=pe(()=>{const T=v.value.trim().toLowerCase();return c.regions.filter(I=>I.title.toLowerCase().includes(T))});return(T,I)=>{const V=Tn,D=vt;return E(),ae(D,{name:"region",size:"large"},{default:se(()=>[b("div",Zl,[I[1]||(I[1]=b("div",{class:"h2-title"},"Выберите город",-1)),b("div",ql,[q(V,{name:"region",type:"text",placeholder:"Поиск",icon:"search","icon-position":"left",value:f(v),error:f(m).search,onOnChange:I[0]||(I[0]=k=>f(h)("search",k))},null,8,["value","error"])]),b("div",jl,[(E(!0),O(xe,null,je(f(w),k=>(E(),O("li",null,[b("a",{href:f(rn)(k.domain),onClick:P=>N(k,P)},te(k.title),9,Kl)]))),256))])])]),_:1})}}}),Jl=Fe(Ql,[["__scopeId","data-v-76c11509"]]);var ve;(function(g){g[g.QR_CODE=0]="QR_CODE",g[g.AZTEC=1]="AZTEC",g[g.CODABAR=2]="CODABAR",g[g.CODE_39=3]="CODE_39",g[g.CODE_93=4]="CODE_93",g[g.CODE_128=5]="CODE_128",g[g.DATA_MATRIX=6]="DATA_MATRIX",g[g.MAXICODE=7]="MAXICODE",g[g.ITF=8]="ITF",g[g.EAN_13=9]="EAN_13",g[g.EAN_8=10]="EAN_8",g[g.PDF_417=11]="PDF_417",g[g.RSS_14=12]="RSS_14",g[g.RSS_EXPANDED=13]="RSS_EXPANDED",g[g.UPC_A=14]="UPC_A",g[g.UPC_E=15]="UPC_E",g[g.UPC_EAN_EXTENSION=16]="UPC_EAN_EXTENSION"})(ve||(ve={}));var Xs=new Map([[ve.QR_CODE,"QR_CODE"],[ve.AZTEC,"AZTEC"],[ve.CODABAR,"CODABAR"],[ve.CODE_39,"CODE_39"],[ve.CODE_93,"CODE_93"],[ve.CODE_128,"CODE_128"],[ve.DATA_MATRIX,"DATA_MATRIX"],[ve.MAXICODE,"MAXICODE"],[ve.ITF,"ITF"],[ve.
1EAN_13,"EAN_13"],[ve.EAN_8,"EAN_8"],[ve.PDF_417,"PDF_417"],[ve.RSS_14,"RSS_14"],[ve.RSS_EXPANDED,"RSS_EXPANDED"],[ve.UPC_A,"UPC_A"],[ve.UPC_E,"UPC_E"],[ve.UPC_EAN_EXTENSION,"UPC_EAN_EXTENSION"]]),$s;(function(g){g[g.UNKNOWN=0]="UNKNOWN",g[g.URL=1]="URL"})($s||($s={}));function ec(g){return Object.values(ve).includes(g)}var Pr;(function(g){g[g.SCAN_TYPE_CAMERA=0]="SCAN_TYPE_CAMERA",g[g.SCAN_TYPE_FILE=1]="SCAN_TYPE_FILE"})(Pr||(Pr={}));var tc=(function(){function g(){}return g.GITHUB_PROJECT_URL="https://github.com/mebjas/html5-qrcode",g.SCAN_DEFAULT_FPS=2,g.DEFAULT_DISABLE_FLIP=!1,g.DEFAULT_REMEMBER_LAST_CAMERA_USED=!0,g.DEFAULT_SUPPORTED_SCAN_TYPE=[Pr.SCAN_TYPE_CAMERA,Pr.SCAN_TYPE_FILE],g})(),Ai=(function(){function g(u,c){this.format=u,this.formatName=c}return g.prototype.toString=function(){return this.formatName},g.create=function(u){if(!Xs.has(u))throw"".concat(u," not in html5QrcodeSupportedFormatsTextMap");return new g(u,Xs.get(u))},g})(),zs=(function(){function g(){}return g.createFromText=function(u){var c={text:u};return{decodedText:u,result:c}},g.createFromQrcodeResult=function(u){return{decodedText:u.text,result:u}},g})(),fs;(function(g){g[g.UNKWOWN_ERROR=0]="UNKWOWN_ERROR",g[g.IMPLEMENTATION_ERROR=1]="IMPLEMENTATION_ERROR",g[g.NO_CODE_FOUND_ERROR=2]="NO_CODE_FOUND_ERROR"})(fs||(fs={}));var nc=(function(){function g(){}return g.createFrom=function(u){return{errorMessage:u,type:fs.UNKWOWN_ERROR}},g})(),rc=(function(){function g(u){this.verbose=u}return g.prototype.log=function(u){this.verbose&&console.log(u)},g.prototype.warn=function(u){this.verbose&&console.warn(u)},g.prototype.logError=function(u,c){(this.verbose||c===!0)&&console.error(u)},g.prototype.logErrors=function(u){if(u.length===0)throw"Logger#logError called without arguments";this.verbose&&console.error(u)},g})();function bn(g){return typeof g>"u"||g===null}var rr=(function(){function g(){}return g.codeParseError=function(u){return"QR code parse error, error = ".concat(u)},g.errorGettingUserMedia=function(u){return"Error getting userMedia, error = ".concat(u)},g.onlyDeviceSupportedError=function(){return"The device doesn't support navigator.mediaDevices , only supported cameraIdOrConfig in this case is deviceId parameter (string)."},g.cameraStreamingNotSupported=function(){return"Camera streaming not supported by the browser."},g.unableToQuerySupportedDevices=function(){return"Unable to query supported devices, unknown error."},g.insecureContextCameraQueryError=function(){return"Camera access is only supported in secure context like https or localhost."},g.scannerPaused=function(){return"Scanner paused"},g})(),Ei=(function(){function g(){}return g.isMediaStreamConstraintsValid=function(u,c){if(typeof u!="object"){var m=typeof u;return c.logError("videoConstraints should be of type object, the "+"object passed is of type ".concat(m,"."),!0),!1}for(var p=["autoGainControl","channelCount","echoCancellation","latency","noiseSuppression","sampleRate","sampleSize","volume"],h=new Set(p),A=Object.keys(u),v=0,N=A;v<N.length;v++){var w=N[v];if(h.has(w))return c.logError("".concat(w," is not supported videoConstaints."),!0),!1}return!0},g})(),pr={exports:{}},sc=pr.exports,Ys;function ic(){return Ys||(Ys=1,(function(g,u){(function(c,m){m(u)})(sc,(function(c){function m(x){return x==null}var p=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(x,e){x.__proto__=e}||function(x,e){for(var t in e)e.hasOwnProperty(t)&&(x[t]=e[t])};function h(x,e){p(x,e);function t(){this.constructor=x}x.prototype=e===null?Object.create(e):(t.prototype=e.prototype,new t)}function A(x,e){var t=Object.setPrototypeOf;t?t(x,e):x.__proto__=e}function v(x,e){e===void 0&&(e=x.constructor);var t=Error.captureStackTrace;t&&t(x,e)}var N=(function(x){h(e,x);function e(t){var n=this.constructor,r=x.call(this,t)||this;return Object.defineProperty(r,"name",{value:n.name,enumerable:!1}),A(r,n.prototype),v(r),r}return e})(Error);class w extends N{constructor(e=void 0){super(e),this.message=e}getKind(){return this.constructor.kind}}w.kind="Exception";class T extends w{}T.kind="ArgumentException";class I extends w{}I.kind="IllegalArgumentException";class V{constructor(e){if(this.binarizer=e,e===null)throw new I("Binarizer must be non-null.")}getWidth(){return this.binarizer.getWidth()}getHeight(){return this.binarizer.getHeight()}getBlackRow(e,t){return this.binarizer.getBlackRow(e,t)}getBlackMatrix(){return(this.matrix===null||this.matrix===void 0)&&(this.matrix=this.binarizer.getBlackMatrix()),this.matrix}isCropSupported(){return this.binarizer.getLuminanceSource().isCropSupported()}crop(e,t,n,r){const s=this.binarizer.getLuminanceSource().crop(e,t,n,r);return new V(this.binarizer.createBinarizer(s))}isRotateSupported(){return this.binarizer.getLuminanceSource().isRotateSupported()}rotateCounterClockwise(){const e=this.binarizer.getLuminanceSource().rotateCounterClockwise();return new V(this.binarizer.createBinarizer(e))}rotateCounterClockwise45(){const e=this.binarizer.getLuminanceSource().rotateCounterClockwise45();return new V(this.binarizer.createBinarizer(e))}toString(){try{return this.getBlackMatrix().toString()}catch{return""}}}class D extends w{static getChecksumInstance(){return new D}}D.kind="ChecksumException";class k{constructor(e){this.source=e}getLuminanceSource(){return this.source}getWidth(){return this.source.getWidth()}getHeight(){return this.source.getHeight()}}
1class P{static arraycopy(e,t,n,r,s){for(;s--;)n[r++]=e[t++]}static currentTimeMillis(){return Date.now()}}class Y extends w{}Y.kind="IndexOutOfBoundsException";class H extends Y{constructor(e=void 0,t=void 0){super(t),this.index=e,this.message=t}}H.kind="ArrayIndexOutOfBoundsException";class Z{static fill(e,t){for(let n=0,r=e.length;n<r;n++)e[n]=t}static fillWithin(e,t,n,r){Z.rangeCheck(e.length,t,n);for(let s=t;s<n;s++)e[s]=r}static rangeCheck(e,t,n){if(t>n)throw new I("fromIndex("+t+") > toIndex("+n+")");if(t<0)throw new H(t);if(n>e)throw new H(n)}static asList(...e){return e}static create(e,t,n){return Array.from({length:e}).map(s=>Array.from({length:t}).fill(n))}static createInt32Array(e,t,n){return Array.from({length:e}).map(s=>Int32Array.from({length:t}).fill(n))}static equals(e,t){if(!e||!t||!e.length||!t.length||e.length!==t.length)return!1;for(let n=0,r=e.length;n<r;n++)if(e[n]!==t[n])return!1;return!0}static hashCode(e){if(e===null)return 0;let t=1;for(const n of e)t=31*t+n;return t}static fillUint8Array(e,t){for(let n=0;n!==e.length;n++)e[n]=t}static copyOf(e,t){return e.slice(0,t)}static copyOfUint8Array(e,t){if(e.length<=t){const n=new Uint8Array(t);return n.set(e),n}return e.slice(0,t)}static copyOfRange(e,t,n){const r=n-t,s=new Int32Array(r);return P.arraycopy(e,t,s,0,r),s}static binarySearch(e,t,n){n===void 0&&(n=Z.numberComparator);let r=0,s=e.length-1;for(;r<=s;){const i=s+r>>1,o=n(t,e[i]);if(o>0)r=i+1;else if(o<0)s=i-1;else return i}return-r-1}static numberComparator(e,t){return e-t}}class ${static numberOfTrailingZeros(e){let t;if(e===0)return 32;let n=31;return t=e<<16,t!==0&&(n-=16,e=t),t=e<<8,t!==0&&(n-=8,e=t),t=e<<4,t!==0&&(n-=4,e=t),t=e<<2,t!==0&&(n-=2,e=t),n-(e<<1>>>31)}static numberOfLeadingZeros(e){if(e===0)return 32;let t=1;return e>>>16||(t+=16,e<<=16),e>>>24||(t+=8,e<<=8),e>>>28||(t+=4,e<<=4),e>>>30||(t+=2,e<<=2),t-=e>>>31,t}static toHexString(e){return e.toString(16)}static toBinaryString(e){return String(parseInt(String(e),2))}static bitCount(e){return e=e-(e>>>1&1431655765),e=(e&858993459)+(e>>>2&858993459),e=e+(e>>>4)&252645135,e=e+(e>>>8),e=e+(e>>>16),e&63}static truncDivision(e,t){return Math.trunc(e/t)}static parseInt(e,t=void 0){return parseInt(e,t)}}$.MIN_VALUE_32_BITS=-2147483648,$.MAX_VALUE=Number.MAX_SAFE_INTEGER;class J{constructor(e,t){e===void 0?(this.size=0,this.bits=new Int32Array(1)):(this.size=e,t==null?this.bits=J.makeArray(e):this.bits=t)}getSize(){return this.size}getSizeInBytes(){return Math.floor((this.size+7)/8)}ensureCapacity(e){if(e>this.bits.length*32){const t=J.makeArray(e);P.arraycopy(this.bits,0,t,0,this.bits.length),this.bits=t}}get(e){return(this.bits[Math.floor(e/32)]&1<<(e&31))!==0}set(e){this.bits[Math.floor(e/32)]|=1<<(e&31)}flip(e){this.bits[Math.floor(e/32)]^=1<<(e&31)}getNextSet(e){const t=this.size;if(e>=t)return t;const n=this.bits;let r=Math.floor(e/32),s=n[r];s&=~((1<<(e&31))-1);const i=n.length;for(;s===0;){if(++r===i)return t;s=n[r]}const o=r*32+$.numberOfTrailingZeros(s);return o>t?t:o}getNextUnset(e){const t=this.size;if(e>=t)return t;const n=this.bits;let r=Math.floor(e/32),s=~n[r];s&=~((1<<(e&31))-1);const i=n.length;for(;s===0;){if(++r===i)return t;s=~n[r]}const o=r*32+$.numberOfTrailingZeros(s);return o>t?t:o}setBulk(e,t){this.bits[Math.floor(e/32)]=t}setRange(e,t){if(t<e||e<0||t>this.size)throw new I;if(t===e)return;t--;const n=Math.floor(e/32),r=Math.floor(t/32),s=this.bits;for(let i=n;i<=r;i++){const o=i>n?0:e&31,l=(2<<(i<r?31:t&31))-(1<<o);s[i]|=l}}clear(){const e=this.bits.length,t=this.bits;for(let n=0;n<e;n++)t[n]=0}isRange(e,t,n){if(t<e||e<0||t>this.size)throw new I;if(t===e)return!0;t--;const r=Math.floor(e/32),s=Math.floor(t/32),i=this.bits;for(let o=r;o<=s;o++){const a=o>r?0:e&31,d=(2<<(o<s?31:t&31))-(1<<a)&4294967295;if((i[o]&d)!==(n?d:0))return!1}return!0}appendBit(e){this.ensureCapacity(this.size+1),e&&(this.bits[Math.floor(this.size/32)]|=1<<(this.size&31)),this.size++}appendBits(e,t){if(t<0||t>32)throw new I("Num bits must be between 0 and 32");this.ensureCapacity(this.size+t);for(let n=t;n>0;n--)this.appendBit((e>>n-1&1)===1)}appendBitArray(e){const t=e.size;this.ensureCapacity(this.size+t);for(let n=0;n<t;n++)this.appendBit(e.get(n))}xor(e){if(this.size!==e.size)throw new I("Sizes don't match");const t=this.bits;for(let n=0,r=t.length;n<r;n++)t[n]^=e.bits[n]}toBytes(e,t,n,r){for(let s=0;s<r;s++){let i=0;for(let o=0;o<8;o++)this.get(e)&&(i|=1<<7-o),e++;t[n+s]=i}}getBitArray(){return this.bits}reverse(){const e=new Int32Array(this.bits.length),t=Math.floor((this.size-1)/32),n=t+1,r=this.bits;for(let s=0;s<n;s++){let i=r[s];i=i>>1&1431655765|(i&1431655765)<<1,i=i>>2&858993459|(i&858993459)<<2,i=i>>4&252645135|(i&252645135)<<4,i=i>>8&16711935|(i&16711935)<<8,i=i>>16&65535|(i&65535)<<16,e[t-s]=i}if(this.size!==n*32){const s=n*32-this.size;let i=e[0]>>>s;for(let o=1;o<n;o++){const a=e[o];i|=a<<32-s,e[o-1]=i,i=a>>>s}e[n-1]=i}this.bits=e}static makeArray(e){return new Int32Array(Math.floor((e+31)/32))}equals(e){if(!(e instanceof J))return!1;const t=e;return this.size===t.size&&Z.equals(this.bits,t.bits)}
1hashCode(){return 31*this.size+Z.hashCode(this.bits)}toString(){let e="";for(let t=0,n=this.size;t<n;t++)(t&7)===0&&(e+=" "),e+=this.get(t)?"X":".";return e}clone(){return new J(this.size,this.bits.slice())}}var j;(function(x){x[x.OTHER=0]="OTHER",x[x.PURE_BARCODE=1]="PURE_BARCODE",x[x.POSSIBLE_FORMATS=2]="POSSIBLE_FORMATS",x[x.TRY_HARDER=3]="TRY_HARDER",x[x.CHARACTER_SET=4]="CHARACTER_SET",x[x.ALLOWED_LENGTHS=5]="ALLOWED_LENGTHS",x[x.ASSUME_CODE_39_CHECK_DIGIT=6]="ASSUME_CODE_39_CHECK_DIGIT",x[x.ASSUME_GS1=7]="ASSUME_GS1",x[x.RETURN_CODABAR_START_END=8]="RETURN_CODABAR_START_END",x[x.NEED_RESULT_POINT_CALLBACK=9]="NEED_RESULT_POINT_CALLBACK",x[x.ALLOWED_EAN_EXTENSIONS=10]="ALLOWED_EAN_EXTENSIONS"})(j||(j={}));var z=j;class G extends w{static getFormatInstance(){return new G}}G.kind="FormatException";var ce;(function(x){x[x.Cp437=0]="Cp437",x[x.ISO8859_1=1]="ISO8859_1",x[x.ISO8859_2=2]="ISO8859_2",x[x.ISO8859_3=3]="ISO8859_3",x[x.ISO8859_4=4]="ISO8859_4",x[x.ISO8859_5=5]="ISO8859_5",x[x.ISO8859_6=6]="ISO8859_6",x[x.ISO8859_7=7]="ISO8859_7",x[x.ISO8859_8=8]="ISO8859_8",x[x.ISO8859_9=9]="ISO8859_9",x[x.ISO8859_10=10]="ISO8859_10",x[x.ISO8859_11=11]="ISO8859_11",x[x.ISO8859_13=12]="ISO8859_13",x[x.ISO8859_14=13]="ISO8859_14",x[x.ISO8859_15=14]="ISO8859_15",x[x.ISO8859_16=15]="ISO8859_16",x[x.SJIS=16]="SJIS",x[x.Cp1250=17]="Cp1250",x[x.Cp1251=18]="Cp1251",x[x.Cp1252=19]="Cp1252",x[x.Cp1256=20]="Cp1256",x[x.UnicodeBigUnmarked=21]="UnicodeBigUnmarked",x[x.UTF8=22]="UTF8",x[x.ASCII=23]="ASCII",x[x.Big5=24]="Big5",x[x.GB18030=25]="GB18030",x[x.EUC_KR=26]="EUC_KR"})(ce||(ce={}));class F{constructor(e,t,n,...r){this.valueIdentifier=e,this.name=n,typeof t=="number"?this.values=Int32Array.from([t]):this.values=t,this.otherEncodingNames=r,F.VALUE_IDENTIFIER_TO_ECI.set(e,this),F.NAME_TO_ECI.set(n,this);const s=this.values;for(let i=0,o=s.length;i!==o;i++){const a=s[i];F.VALUES_TO_ECI.set(a,this)}for(const i of r)F.NAME_TO_ECI.set(i,this)}getValueIdentifier(){return this.valueIdentifier}getName(){return this.name}getValue(){return this.values[0]}static getCharacterSetECIByValue(e){if(e<0||e>=900)throw new G("incorect value");const t=F.VALUES_TO_ECI.get(e);if(t===void 0)throw new G("incorect value");return t}static getCharacterSetECIByName(e){const t=F.NAME_TO_ECI.get(e);if(t===void 0)throw new G("incorect value");return t}equals(e){if(!(e instanceof F))return!1;const t=e;return this.getName()===t.getName()}}F.VALUE_IDENTIFIER_TO_ECI=new Map,F.VALUES_TO_ECI=new Map,F.NAME_TO_ECI=new Map,F.Cp437=new F(ce.Cp437,Int32Array.from([0,2]),"Cp437"),F.ISO8859_1=new F(ce.ISO8859_1,Int32Array.from([1,3]),"ISO-8859-1","ISO88591","ISO8859_1"),F.ISO8859_2=new F(ce.ISO8859_2,4,"ISO-8859-2","ISO88592","ISO8859_2"),F.ISO8859_3=new F(ce.ISO8859_3,5,"ISO-8859-3","ISO88593","ISO8859_3"),F.ISO8859_4
1=new F(ce.ISO8859_4,6,"ISO-8859-4","ISO88594","ISO8859_4"),F.ISO8859_5=new F(ce.ISO8859_5,7,"ISO-8859-5","ISO88595","ISO8859_5"),F.ISO8859_6=new F(ce.ISO8859_6,8,"ISO-8859-6","ISO88596","ISO8859_6"),F.ISO8859_7=new F(ce.ISO8859_7,9,"ISO-8859-7","ISO88597","ISO8859_7"),F.ISO8859_8=new F(ce.ISO8859_8,10,"ISO-8859-8","ISO88598","ISO8859_8"),F.ISO8859_9=new F(ce.ISO8859_9,11,"ISO-8859-9","ISO88599","ISO8859_9"),F.ISO8859_10=new F(ce.ISO8859_10,12,"ISO-8859-10","ISO885910","ISO8859_10"),F.ISO8859_11=new F(ce.ISO8859_11,13,"ISO-8859-11","ISO885911","ISO8859_11"),F.ISO8859_13=new F(ce.ISO8859_13,15,"ISO-8859-13","ISO885913","ISO8859_13"),F.ISO8859_14=new F(ce.ISO8859_14,16,"ISO-8859-14","ISO885914","ISO8859_14"),F.ISO8859_15=new F(ce.ISO8859_15,17,"ISO-8859-15","ISO885915","ISO8859_15"),F.ISO8859_16=new F(ce.ISO8859_16,18,"ISO-8859-16","ISO885916","ISO8859_16"),F.SJIS=new F(ce.SJIS,20,"SJIS","Shift_JIS"),F.Cp1250=new F(ce.Cp1250,21,"Cp1250","windows-1250"),F.Cp1251=new F(ce.Cp1251,22,"Cp1251","windows-1251"),F.Cp1252=new F(ce.Cp1252,23,"Cp1252","windows-1252"),F.Cp1256=new F(ce.Cp1256,24,"Cp1256","windows-1256"),F.UnicodeBigUnmarked=new F(ce.UnicodeBigUnmarked,25,"UnicodeBigUnmarked","UTF-16BE","UnicodeBig"),F.UTF8=new F(ce.UTF8,26,"UTF8","UTF-8"),F.ASCII=new F(ce.ASCII,Int32Array.from([27,170]),"ASCII","US-ASCII"),F.Big5=new F(ce.Big5,28,"Big5"),F.GB18030=new F(ce.GB18030,29,"GB18030","GB2312","EUC_CN","GBK"),F.EUC_KR=new F(ce.EUC_KR,30,"EUC_KR","EUC-KR");class ge extends w{}ge.kind="UnsupportedOperationException";class ie{static decode(e,t){const n=this.encodingName(t);return this.customDecoder?this.customDecoder(e,n):typeof TextDecoder>"u"||this.shouldDecodeOnFallback(n)?this.decodeFallback(e,n):new TextDecoder(n).decode(e)}static shouldDecodeOnFallback(e){return!ie.isBrowser()&&e==="ISO-8859-1"}static encode(e,t){const n=this.encodingName(t);return this.customEncoder?this.customEncoder(e,n):typeof TextEncoder>"u"?this.encodeFallback(e):new TextEncoder().encode(e)}static isBrowser(){return typeof window<"u"&&{}.toString.call(window)==="[object Window]"}static encodingName(e){return typeof e=="string"?e:e.getName()}static encodingCharacterSet(e){return e instanceof F?e:F.getCharacterSetECIByName(e)}static decodeFallback(e,t){const n=this.encodingCharacterSet(t);if(ie.isDecodeFallbackSupported(n)){let r="";for(let s=0,i=e.length;s<i;s++){let o=e[s].toString(16);o.length<2&&(o="0"+o),r+="%"+o}return decodeURIComponent(r)}if(n.equals(F.UnicodeBigUnmarked))return String.fromCharCode.apply(null,new Uint16Array(e.buffer));throw new ge(`Encoding ${this.encodingName(t)} not supported by fallback.`)}static isDecodeFallbackSupported(e){return e.equals(F.UTF8)||e.equals(F.ISO8859_1)||e.equals(F.ASCII)}static encodeFallback(e){const n=btoa(unescape(encodeURIComponent(e))).split(""),r=[];for(let s=0;s<n.length;s++)r.push(n[s].charCodeAt(0));return new Uint8Array(r)}}class de{static castAsNonUtf8Char(e,t=null){const n=t?t.getName():this.ISO88591;return ie.decode(new Uint8Array([e]),n)}static guessEncoding(e,t){if(t!=null&&t.get(z.CHARACTER_SET)!==void 0)return t.get(z.CHARACTER_SET).toString();const n=e.length;let r=!0,s=!0,i=!0,o=0,a=0,l=0,d=0,_=0,C=0,S=0,R=0,M=0,L=0,X=0;const ue=e.length>3&&e[0]===239&&e[1]===187&&e[2]===191;for(let he=0;he<n&&(r||s||i);he++){const le=e[he]&255;i&&(o>0?(le&128)===0?i=!1:o--:(le&128)!==0&&((le&64)===0?i=!1:(o++,(le&32)===0?a++:(o++,(le&16)===0?l++:(o++,(le&8)===0?d++:i=!1))))),r&&(le>127&&le<160?r=!1:le>159&&(le<192||le===215||le===247)&&X++),s&&(_>0?le<64||le===127||le>252?s=!1:_--:le===128||le===160||le>239?s=!1:le>160&&le<224?(C++,R=0,S++,S>M&&(M=S)):le>127?(_++,S=0,R++,R>L&&(L=R)):(S=0,R=0))}return i&&o>0&&(i=!1),s&&_>0&&(s=!1),i&&(ue||a+l+d>0)?de.UTF8:s&&(de.ASSUME_SHIFT_JIS||M>=3||L>=3)?de.SHIFT_JIS:r&&s?M===2&&C===2||X*10>=n?de.SHIFT_JIS:de.ISO88591:r?de.ISO88591:s?de.SHIFT_JIS:i?de.UTF8:de.PLATFORM_DEFAULT_ENCODING}static format(e,...t){let n=-1;function r(i,o,a,l,d,_){if(i==="%%")return"%";if(t[++n]===void 0)return;i=l?parseInt(l.substr(1)):void 0;let C=d?parseInt(d.substr(1)):void 0,S;switch(_){case"s":S=t[n];break;case"c":S=t[n][0];break;case"f":S=parseFloat(t[n]).toFixed(i);break;case"p":S=parseFloat(t[n]).toPrecision(i);break;case"e":S=parseFloat(t[n]).toExponential(i);break;case"x":S=parseInt(t[n]).toString(C||16);break;case"d":S=parseFloat(parseInt(t[n],C||10).toPrecision(i)).toFixed(0);break}S=typeof S=="object"?JSON.stringify(S):(+S).toString(C);let R=parseInt(a),M=a&&a[0]+""=="0"?"0":" ";for(;S.length<R;)S=o!==void 0?S+M:M+S;return S}let s=/%(-)?(0?[0-9]+)?([.][0-9]+)?([#][0-9]+)?([scfpexd%])/g;return e.replace(s,r)}static getBytes(e,t){return ie.encode(e,t)}static getCharCode(e,t=0){return e.charCodeAt(t)}static getCharAt(e){return String.fromCharCode(e)}}de.SHIFT_JIS=F.SJIS.getName(),de.GB2312="GB2312",de.ISO88591=F.ISO8859_1.getName(),de.EUC_JP="EUC_JP",de.UTF8=F.UTF8.getName(),de.PLATFORM_DEFAULT_ENCODING=de.UTF8,de.ASSUME_SHIFT_JIS=!1;class be{constructor(e=""){this.value=e}enableDecoding(e){return this.encoding=e,this}append(e){return typeof e=="string"?this.value+=e.toString():this.encoding?this.value+=de.castAsNonUtf8Char(e,this.encoding):this.value+=String.fromCharCode(e),this}
1appendChars(e,t,n){for(let r=t;t<t+n;r++)this.append(e[r]);return this}length(){return this.value.length}charAt(e){return this.value.charAt(e)}deleteCharAt(e){this.value=this.value.substr(0,e)+this.value.substring(e+1)}setCharAt(e,t){this.value=this.value.substr(0,e)+t+this.value.substr(e+1)}substring(e,t){return this.value.substring(e,t)}setLengthToZero(){this.value=""}toString(){return this.value}insert(e,t){this.value=this.value.substr(0,e)+t+this.value.substr(e+t.length)}}class Ve{constructor(e,t,n,r){if(this.width=e,this.height=t,this.rowSize=n,this.bits=r,t==null&&(t=e),this.height=t,e<1||t<1)throw new I("Both dimensions must be greater than 0");n==null&&(n=Math.floor((e+31)/32)),this.rowSize=n,r==null&&(this.bits=new Int32Array(this.rowSize*this.height))}static parseFromBooleanArray(e){const t=e.length,n=e[0].length,r=new Ve(n,t);for(let s=0;s<t;s++){const i=e[s];for(let o=0;o<n;o++)i[o]&&r.set(o,s)}return r}static parseFromString(e,t,n){if(e===null)throw new I("stringRepresentation cannot be null");const r=new Array(e.length);let s=0,i=0,o=-1,a=0,l=0;for(;l<e.length;)if(e.charAt(l)===`
2`||e.charAt(l)==="\r"){if(s>i){if(o===-1)o=s-i;else if(s-i!==o)throw new I("row lengths do not match");i=s,a++}l++}else if(e.substring(l,l+t.length)===t)l+=t.length,r[s]=!0,s++;else if(e.substring(l,l+n.length)===n)l+=n.length,r[s]=!1,s++;else throw new I("illegal character encountered: "+e.substring(l));if(s>i){if(o===-1)o=s-i;else if(s-i!==o)throw new I("row lengths do not match");a++}const d=new Ve(o,a);for(let _=0;_<s;_++)r[_]&&d.set(Math.floor(_%o),Math.floor(_/o));return d}get(e,t){const n=t*this.rowSize+Math.floor(e/32);return(this.bits[n]>>>(e&31)&1)!==0}set(e,t){const n=t*this.rowSize+Math.floor(e/32);this.bits[n]|=1<<(e&31)&4294967295}unset(e,t){const n=t*this.rowSize+Math.floor(e/32);this.bits[n]&=~(1<<(e&31)&4294967295)}flip(e,t){const n=t*this.rowSize+Math.floor(e/32);this.bits[n]^=1<<(e&31)&4294967295}xor(e){if(this.width!==e.getWidth()||this.height!==e.getHeight()||this.rowSize!==e.getRowSize())throw new I("input matrix dimensions do not match");const t=new J(Math.floor(this.width/32)+1),n=this.rowSize,r=this.bits;for(let s=0,i=this.height;s<i;s++){const o=s*n,a=e.getRow(s,t).getBitArray();for(let l=0;l<n;l++)r[o+l]^=a[l]}}clear(){const e=this.bits,t=e.length;for(let n=0;n<t;n++)e[n]=0}setRegion(e,t,n,r){if(t<0||e<0)throw new I("Left and top must be nonnegative");if(r<1||n<1)throw new I("Height and width must be at least 1");const s=e+n,i=t+r;if(i>this.height||s>this.width)throw new I("The region must fit inside the matrix");const o=this.rowSize,a=this.bits;for(let l=t;l<i;l++){const d=l*o;for(let _=e;_<s;_++)a[d+Math.floor(_/32)]|=1<<(_&31)&4294967295}}getRow(e,t){t==null||t.getSize()<this.width?t=new J(this.width):t.clear();const n=this.rowSize,r=this.bits,s=e*n;for(let i=0;i<n;i++)t.setBulk(i*32,r[s+i]);return t}setRow(e,t){P.arraycopy(t.getBitArray(),0,this.bits,e*this.rowSize,this.rowSize)}rotate180(){const e=this.getWidth(),t=this.getHeight();let n=new J(e),r=new J(e);for(let s=0,i=Math.floor((t+1)/2);s<i;s++)n=this.getRow(s,n),r=this.getRow(t-1-s,r),n.reverse(),r.reverse(),this.setRow(s,r),this.setRow(t-1-s,n)}getEnclosingRectangle(){const e=this.width,t=this.height,n=this.rowSize,r=this.bits;let s=e,i=t,o=-1,a=-1;for(let l=0;l<t;l++)for(let d=0;d<n;d++){const _=r[l*n+d];if(_!==0){if(l<i&&(i=l),l>a&&(a=l),d*32<s){let C=0;for(;(_<<31-C&4294967295)===0;)C++;d*32+C<s&&(s=d*32+C)}if(d*32+31>o){let C=31;for(;!(_>>>C);)C--;d*32+C>o&&(o=d*32+C)}}}return o<s||a<i?null:Int32Array.from([s,i,o-s+1,a-i+1])}getTopLeftOnBit(){const e=this.rowSize,t=this.bits;let n=0;for(;n<t.length&&t[n]===0;)n++;if(n===t.length)return null;const r=n/e;let s=n%e*32;const i=t[n];let o=0;for(;(i<<31-o&4294967295)===0;)o++;return s+=o,Int32Array.from([s,r])}getBottomRightOnBit(){const e=this.rowSize,t=this.bits;let n=t.length-1;for(;n>=0&&t[n]===0;)n--;if(n<0)return null;const r=Math.floor(n/e);let s=Math.floor(n%e)*32;const i=t[n];let o=31;for(;!(i>>>o);)o--;return s+=o,Int32Array.from([s,r])}getWidth(){return this.width}getHeight(){return this.height}getRowSize(){return this.rowSize}equals(e){if(!(e instanceof Ve))return!1;const t=e;return this.width===t.width&&this.height===t.height&&this.rowSize===t.rowSize&&Z.equals(this.bits,t.bits)}hashCode(){let e=this.width;return e=31*e+this.width,e=31*e+this.height,e=31*e+this.rowSize,e=31*e+Z.hashCode(this.bits),e}toString(e="X ",t="  ",n=`
3`){return this.buildToString(e,t,n)}buildToString(e,t,n){let r=new be;for(let s=0,i=this.height;s<i;s++){for(let o=0,a=this.width;o<a;o++)r.append(this.get(o,s)?e:t);r.append(n)}return r.toString()}clone(){return new Ve(this.width,this.height,this.rowSize,this.bits.slice())}}class B extends w{static getNotFoundInstance(){return new B}}B.kind="NotFoundException";class Ee extends k{constructor(e){super(e),this.luminances=Ee.EMPTY,this.buckets=new Int32Array(Ee.LUMINANCE_BUCKETS)}
3getBlackRow(e,t){const n=this.getLuminanceSource(),r=n.getWidth();t==null||t.getSize()<r?t=new J(r):t.clear(),this.initArrays(r);const s=n.getRow(e,this.luminances),i=this.buckets;for(let a=0;a<r;a++)i[(s[a]&255)>>Ee.LUMINANCE_SHIFT]++;const o=Ee.estimateBlackPoint(i);if(r<3)for(let a=0;a<r;a++)(s[a]&255)<o&&t.set(a);else{let a=s[0]&255,l=s[1]&255;for(let d=1;d<r-1;d++){const _=s[d+1]&255;(l*4-a-_)/2<o&&t.set(d),a=l,l=_}}return t}getBlackMatrix(){const e=this.getLuminanceSource(),t=e.getWidth(),n=e.getHeight(),r=new Ve(t,n);this.initArrays(t);const s=this.buckets;for(let a=1;a<5;a++){const l=Math.floor(n*a/5),d=e.getRow(l,this.luminances),_=Math.floor(t*4/5);for(let C=Math.floor(t/5);C<_;C++){const S=d[C]&255;s[S>>Ee.LUMINANCE_SHIFT]++}}const i=Ee.estimateBlackPoint(s),o=e.getMatrix();for(let a=0;a<n;a++){const l=a*t;for(let d=0;d<t;d++)(o[l+d]&255)<i&&r.set(d,a)}return r}createBinarizer(e){return new Ee(e)}initArrays(e){this.luminances.length<e&&(this.luminances=new Uint8ClampedArray(e));const t=this.buckets;for(let n=0;n<Ee.LUMINANCE_BUCKETS;n++)t[n]=0}static estimateBlackPoint(e){const t=e.length;let n=0,r=0,s=0;for(let d=0;d<t;d++)e[d]>s&&(r=d,s=e[d]),e[d]>n&&(n=e[d]);let i=0,o=0;for(let d=0;d<t;d++){const _=d-r,C=e[d]*_*_;C>o&&(i=d,o=C)}if(r>i){const d=r;r=i,i=d}if(i-r<=t/16)throw new B;let a=i-1,l=-1;for(let d=i-1;d>r;d--){const _=d-r,C=_*_*(i-d)*(n-e[d]);C>l&&(a=d,l=C)}return a<<Ee.LUMINANCE_SHIFT}}Ee.LUMINANCE_BITS=5,Ee.LUMINANCE_SHIFT=8-Ee.LUMINANCE_BITS,Ee.LUMINANCE_BUCKETS=1<<Ee.LUMINANCE_BITS,Ee.EMPTY=Uint8ClampedArray.from([0]);class Ie extends Ee{constructor(e){super(e),this.matrix=null}getBlackMatrix(){if(this.matrix!==null)return this.matrix;const e=this.getLuminanceSource(),t=e.getWidth(),n=e.getHeight();if(t>=Ie.MINIMUM_DIMENSION&&n>=Ie.MINIMUM_DIMENSION){const r=e.getMatrix();let s=t>>Ie.BLOCK_SIZE_POWER;(t&Ie.BLOCK_SIZE_MASK)!==0&&s++;let i=n>>Ie.BLOCK_SIZE_POWER;(n&Ie.BLOCK_SIZE_MASK)!==0&&i++;const o=Ie.calculateBlackPoints(r,s,i,t,n),a=new Ve(t,n);Ie.calculateThresholdForBlock(r,s,i,t,n,o,a),this.matrix=a}else this.matrix=super.getBlackMatrix();return this.matrix}createBinarizer(e){return new Ie(e)}static calculateThresholdForBlock(e,t,n,r,s,i,o){const a=s-Ie.BLOCK_SIZE,l=r-Ie.BLOCK_SIZE;for(let d=0;d<n;d++){let _=d<<Ie.BLOCK_SIZE_POWER;_>a&&(_=a);const C=Ie.cap(d,2,n-3);for(let S=0;S<t;S++){let R=S<<Ie.BLOCK_SIZE_POWER;R>l&&(R=l);const M=Ie.cap(S,2,t-3);let L=0;for(let ue=-2;ue<=2;ue++){const he=i[C+ue];L+=he[M-2]+he[M-1]+he[M]+he[M+1]+he[M+2]}const X=L/25;Ie.thresholdBlock(e,R,_,X,r,o)}}}static cap(e,t,n){return e<t?t:e>n?n:e}static thresholdBlock(e,t,n,r,s,i){for(let o=0,a=n*s+t;o<Ie.BLOCK_SIZE;o++,a+=s)for(let l=0;l<Ie.BLOCK_SIZE;l++)(e[a+l]&255)<=r&&i.set(t+l,n+o)}static calculateBlackPoints(e,t,n,r,s){const i=s-Ie.BLOCK_SIZE,o=r-Ie.BLOCK_SIZE,a=new Array(n);for(let l=0;l<n;l++){a[l]=new Int32Array(t);let d=l<<Ie.BLOCK_SIZE_POWER;d>i&&(d=i);for(let _=0;_<t;_++){let C=_<<Ie.BLOCK_SIZE_POWER;C>o&&(C=o);let S=0,R=255,M=0;for(let X=0,ue=d*r+C;X<Ie.BLOCK_SIZE;X++,ue+=r){for(let he=0;he<Ie.BLOCK_SIZE;he++){const le=e[ue+he]&255;S+=le,le<R&&(R=le),le>M&&(M=le)}if(M-R>Ie.MIN_DYNAMIC_RANGE)for(X++,ue+=r;X<Ie.BLOCK_SIZE;X++,ue+=r)for(let he=0;he<Ie.BLOCK_SIZE;he++)S+=e[ue+he]&255}let L=S>>Ie.BLOCK_SIZE_POWER*2;if(M-R<=Ie.MIN_DYNAMIC_RANGE&&(L=R/2,l>0&&_>0)){const X=(a[l-1][_]+2*a[l][_-1]+a[l-1][_-1])/4;R<X&&(L=X)}a[l][_]=L}}return a}}Ie.BLOCK_SIZE_POWER=3,Ie.BLOCK_SIZE=1<<Ie.BLOCK_SIZE_POWER,Ie.BLOCK_SIZE_MASK=Ie.BLOCK_SIZE-1,Ie.MINIMUM_DIMENSION=Ie.BLOCK_SIZE*5,Ie.MIN_DYNAMIC_RANGE=24;class ut{constructor(e,t){this.width=e,this.height=t}getWidth(){return this.width}getHeight(){return this.height}isCropSupported(){return!1}crop(e,t,n,r){throw new ge("This luminance source does not support cropping.")}isRotateSupported(){return!1}rotateCounterClockwise(){throw new ge("This luminance source does not support rotation by 90 degrees.")}rotateCounterClockwise45(){throw new ge("This luminance source does not support rotation by 45 degrees.")}toString(){const e=new Uint8ClampedArray(this.width);let t=new be;for(let n=0;n<this.height;n++){const r=this.getRow(n,e);for(let s=0;s<this.width;s++){const i=r[s]&255;let o;i<64?o="#":i<128?o="+":i<192?o=".":o=" ",t.append(o)}t.append(`
4`)}return t.toString()}}class bt extends ut{constructor(e){super(e.getWidth(),e.getHeight()),this.delegate=e}getRow(e,t){const n=this.delegate.getRow(e,t),r=this.getWidth();for(let s=0;s<r;s++)n[s]=255-(n[s]&255);return n}getMatrix(){const e=this.delegate.getMatrix(),t=this.getWidth()*this.getHeight(),n=new Uint8ClampedArray(t);for(let r=0;r<t;r++)n[r]=255-(e[r]&255);return n}isCropSupported(){return this.delegate.isCropSupported()}crop(e,t,n,r){return new bt(this.delegate.crop(e,t,n,r))}isRotateSupported(){return this.delegate.isRotateSupported()}invert(){return this.delegate}rotateCounterClockwise(){return new bt(this.delegate.rotateCounterClockwise())}rotateCounterClockwise45(){return new bt(this.delegate.rotateCounterClockwise45())}}class It extends ut{constructor(e){super(e.width,e.height),this.canvas=e,this.tempCanvasElement=null,this.buffer=It.makeBufferFromCanvasImageData(e)}static makeBufferFromCanvasImageData(e){const t=e.getContext("2d").getImageData(0,0,e.width,e.height);return It.toGrayscaleBuffer(t.data,e.width,e.height)}
4static toGrayscaleBuffer(e,t,n){const r=new Uint8ClampedArray(t*n);for(let s=0,i=0,o=e.length;s<o;s+=4,i++){let a;if(e[s+3]===0)a=255;else{const d=e[s],_=e[s+1],C=e[s+2];a=306*d+601*_+117*C+512>>10}r[i]=a}return r}getRow(e,t){if(e<0||e>=this.getHeight())throw new I("Requested row is outside the image: "+e);const n=this.getWidth(),r=e*n;return t===null?t=this.buffer.slice(r,r+n):(t.length<n&&(t=new Uint8ClampedArray(n)),t.set(this.buffer.slice(r,r+n))),t}getMatrix(){return this.buffer}isCropSupported(){return!0}crop(e,t,n,r){return super.crop(e,t,n,r),this}isRotateSupported(){return!0}rotateCounterClockwise(){return this.rotate(-90),this}rotateCounterClockwise45(){return this.rotate(-45),this}getTempCanvasElement(){if(this.tempCanvasElement===null){const e=this.canvas.ownerDocument.createElement("canvas");e.width=this.canvas.width,e.height=this.canvas.height,this.tempCanvasElement=e}return this.tempCanvasElement}rotate(e){const t=this.getTempCanvasElement(),n=t.getContext("2d"),r=e*It.DEGREE_TO_RADIANS,s=this.canvas.width,i=this.canvas.height,o=Math.ceil(Math.abs(Math.cos(r))*s+Math.abs(Math.sin(r))*i),a=Math.ceil(Math.abs(Math.sin(r))*s+Math.abs(Math.cos(r))*i);return t.width=o,t.height=a,n.translate(o/2,a/2),n.rotate(r),n.drawImage(this.canvas,s/-2,i/-2),this.buffer=It.makeBufferFromCanvasImageData(t),this}invert(){return new bt(this)}}It.DEGREE_TO_RADIANS=Math.PI/180;class en{constructor(e,t,n){this.deviceId=e,this.label=t,this.kind="videoinput",this.groupId=n||void 0}toJSON(){return{kind:this.kind,groupId:this.groupId,deviceId:this.deviceId,label:this.label}}}var nt=(globalThis||kr||self||window||void 0)&&(globalThis||kr||self||window||void 0).__awaiter||function(x,e,t,n){function r(s){return s instanceof t?s:new t(function(i){i(s)})}return new(t||(t=Promise))(function(s,i){function o(d){try{l(n.next(d))}catch(_){i(_)}}function a(d){try{l(n.throw(d))}catch(_){i(_)}}function l(d){d.done?s(d.value):r(d.value).then(o,a)}l((n=n.apply(x,e||[])).next())})};class Se{constructor(e,t=500,n){this.reader=e,this.timeBetweenScansMillis=t,this._hints=n,this._stopContinuousDecode=!1,this._stopAsyncDecode=!1,this._timeBetweenDecodingAttempts=0}get hasNavigator(){return typeof navigator<"u"}get isMediaDevicesSuported(){return this.hasNavigator&&!!navigator.mediaDevices}get canEnumerateDevices(){return!!(this.isMediaDevicesSuported&&navigator.mediaDevices.enumerateDevices)}get timeBetweenDecodingAttempts(){return this._timeBetweenDecodingAttempts}set timeBetweenDecodingAttempts(e){this._timeBetweenDecodingAttempts=e<0?0:e}set hints(e){this._hints=e||null}get hints(){return this._hints}listVideoInputDevices(){return nt(this,void 0,void 0,function*(){if(!this.hasNavigator)throw new Error("Can't enumerate devices, navigator is not present.");if(!this.canEnumerateDevices)throw new Error("Can't enumerate devices, method not supported.");const e=yield navigator.mediaDevices.enumerateDevices(),t=[];for(const n of e){const r=n.kind==="video"?"videoinput":n.kind;if(r!=="videoinput")continue;const s=n.deviceId||n.id,i=n.label||`Video device ${t.length+1}`,o=n.groupId,a={deviceId:s,label:i,kind:r,groupId:o};t.push(a)}return t})}getVideoInputDevices(){return nt(this,void 0,void 0,function*(){return(yield this.listVideoInputDevices()).map(t=>new en(t.deviceId,t.label))})}findDeviceById(e){return nt(this,void 0,void 0,function*(){const t=yield this.listVideoInputDevices();return t?t.find(n=>n.deviceId===e):null})}decodeFromInputVideoDevice(e,t){return nt(this,void 0,void 0,function*(){return yield this.decodeOnceFromVideoDevice(e,t)})}decodeOnceFromVideoDevice(e,t){return nt(this,void 0,void 0,function*(){this.reset();let n;e?n={deviceId:{exact:e}}:n={facingMode:"environment"};const r={video:n};return yield this.decodeOnceFromConstraints(r,t)})}decodeOnceFromConstraints(e,t){return nt(this,void 0,void 0,function*(){const n=yield navigator.mediaDevices.getUserMedia(e);return yield this.decodeOnceFromStream(n,t)})}decodeOnceFromStream(e,t){return nt(this,void 0,void 0,function*(){this.reset();const n=yield this.attachStreamToVideo(e,t);return yield this.decodeOnce(n)})}decodeFromInputVideoDeviceContinuously(e,t,n){return nt(this,void 0,void 0,function*(){return yield this.decodeFromVideoDevice(e,t,n)})}decodeFromVideoDevice(e,t,n){return nt(this,void 0,void 0,function*(){let r;e?r={deviceId:{exact:e}}:r={facingMode:"environment"};const s={video:r};return yield this.decodeFromConstraints(s,t,n)})}
4decodeFromConstraints(e,t,n){return nt(this,void 0,void 0,function*(){const r=yield navigator.mediaDevices.getUserMedia(e);return yield this.decodeFromStream(r,t,n)})}decodeFromStream(e,t,n){return nt(this,void 0,void 0,function*(){this.reset();const r=yield this.attachStreamToVideo(e,t);return yield this.decodeContinuously(r,n)})}stopAsyncDecode(){this._stopAsyncDecode=!0}stopContinuousDecode(){this._stopContinuousDecode=!0}attachStreamToVideo(e,t){return nt(this,void 0,void 0,function*(){const n=this.prepareVideoElement(t);return this.addVideoSource(n,e),this.videoElement=n,this.stream=e,yield this.playVideoOnLoadAsync(n),n})}playVideoOnLoadAsync(e){return new Promise((t,n)=>this.playVideoOnLoad(e,()=>t()))}playVideoOnLoad(e,t){this.videoEndedListener=()=>this.stopStreams(),this.videoCanPlayListener=()=>this.tryPlayVideo(e),e.addEventListener("ended",this.videoEndedListener),e.addEventListener("canplay",this.videoCanPlayListener),e.addEventListener("playing",t),this.tryPlayVideo(e)}isVideoPlaying(e){return e.currentTime>0&&!e.paused&&!e.ended&&e.readyState>2}tryPlayVideo(e){return nt(this,void 0,void 0,function*(){if(this.isVideoPlaying(e)){console.warn("Trying to play video that is already playing.");return}try{yield e.play()}catch{console.warn("It was not possible to play the video.")}})}getMediaElement(e,t){const n=document.getElementById(e);if(!n)throw new T(`element with id '${e}' not found`);if(n.nodeName.toLowerCase()!==t.toLowerCase())throw new T(`element with id '${e}' must be an ${t} element`);return n}decodeFromImage(e,t){if(!e&&!t)throw new T("either imageElement with a src set or an url must be provided");return t&&!e?this.decodeFromImageUrl(t):this.decodeFromImageElement(e)}decodeFromVideo(e,t){if(!e&&!t)throw new T("Either an element with a src set or an URL must be provided");return t&&!e?this.decodeFromVideoUrl(t):this.decodeFromVideoElement(e)}decodeFromVideoContinuously(e,t,n){if(e===void 0&&t===void 0)throw new T("Either an element with a src set or an URL must be provided");return t&&!e?this.decodeFromVideoUrlContinuously(t,n):this.decodeFromVideoElementContinuously(e,n)}decodeFromImageElement(e){if(!e)throw new T("An image element must be provided.");this.reset();const t=this.prepareImageElement(e);this.imageElement=t;let n;return this.isImageLoaded(t)?n=this.decodeOnce(t,!1,!0):n=this._decodeOnLoadImage(t),n}decodeFromVideoElement(e){const t=this._decodeFromVideoElementSetup(e);return this._decodeOnLoadVideo(t)}decodeFromVideoElementContinuously(e,t){const n=this._decodeFromVideoElementSetup(e);return this._decodeOnLoadVideoContinuously(n,t)}_decodeFromVideoElementSetup(e){if(!e)throw new T("A video element must be provided.");this.reset();const t=this.prepareVideoElement(e);return this.videoElement=t,t}decodeFromImageUrl(e){if(!e)throw new T("An URL must be provided.");this.reset();const t=this.prepareImageElement();this.imageElement=t;const n=this._decodeOnLoadImage(t);return t.src=e,n}decodeFromVideoUrl(e){if(!e)throw new T("An URL must be provided.");this.reset();const t=this.prepareVideoElement(),n=this.decodeFromVideoElement(t);return t.src=e,n}decodeFromVideoUrlContinuously(e,t){if(!e)throw new T("An URL must be provided.");this.reset();const n=this.prepareVideoElement(),r=this.decodeFromVideoElementContinuously(n,t);return n.src=e,r}_decodeOnLoadImage(e){return new Promise((t,n)=>{this.imageLoadedListener=()=>this.decodeOnce(e,!1,!0).then(t,n),e.addEventListener("load",this.imageLoadedListener)})}_decodeOnLoadVideo(e){return nt(this,void 0,void 0,function*(){return yield this.playVideoOnLoadAsync(e),yield this.decodeOnce(e)})}_decodeOnLoadVideoContinuously(e,t){return nt(this,void 0,void 0,function*(){yield this.playVideoOnLoadAsync(e),this.decodeContinuously(e,t)})}isImageLoaded(e){return!(!e.complete||e.naturalWidth===0)}prepareImageElement(e){let t;return typeof e>"u"&&(t=document.createElement("img"),t.width=200,t.height=200),typeof e=="string"&&(t=this.getMediaElement(e,"img")),e instanceof HTMLImageElement&&(t=e),t}prepareVideoElement(e){let t;return!e&&typeof document<"u"&&(t=document.createElement("video"),t.width=200,t.height=200),typeof e=="string"&&(t=this.getMediaElement(e,"video")),e instanceof HTMLVideoElement&&(t=e),t.setAttribute("autoplay","true"),t.setAttribute("muted","true"),t.setAttribute("playsinline","true"),t}decodeOnce(e,t=!0,n=!0){this._stopAsyncDecode=!1;const r=(s,i)=>{if(this._stopAsyncDecode){i(new B("Video stream has ended before any code could be detected.")),this._stopAsyncDecode=void 0;return}try{const o=this.decode(e);s(o)}catch(o){const a=t&&o instanceof B,d=(o instanceof D||o instanceof G)&&n;if(a||d)return setTimeout(r,this._timeBetweenDecodingAttempts,s,i);i(o)}};return new Promise((s,i)=>r(s,i))}decodeContinuously(e,t){this._stopContinuousDecode=!1;const n=()=>
4{if(this._stopContinuousDecode){this._stopContinuousDecode=void 0;return}try{const r=this.decode(e);t(r,null),setTimeout(n,this.timeBetweenScansMillis)}catch(r){t(null,r);const s=r instanceof D||r instanceof G,i=r instanceof B;(s||i)&&setTimeout(n,this._timeBetweenDecodingAttempts)}};n()}decode(e){const t=this.createBinaryBitmap(e);return this.decodeBitmap(t)}_isHTMLVideoElement(e){return e.videoWidth!==0}drawFrameOnCanvas(e,t,n){t||(t={sx:0,sy:0,sWidth:e.videoWidth,sHeight:e.videoHeight,dx:0,dy:0,dWidth:e.videoWidth,dHeight:e.videoHeight}),n||(n=this.captureCanvasContext),n.drawImage(e,t.sx,t.sy,t.sWidth,t.sHeight,t.dx,t.dy,t.dWidth,t.dHeight)}drawImageOnCanvas(e,t,n=this.captureCanvasContext){t||(t={sx:0,sy:0,sWidth:e.naturalWidth,sHeight:e.naturalHeight,dx:0,dy:0,dWidth:e.naturalWidth,dHeight:e.naturalHeight}),n||(n=this.captureCanvasContext),n.drawImage(e,t.sx,t.sy,t.sWidth,t.sHeight,t.dx,t.dy,t.dWidth,t.dHeight)}createBinaryBitmap(e){this.getCaptureCanvasContext(e),this._isHTMLVideoElement(e)?this.drawFrameOnCanvas(e):this.drawImageOnCanvas(e);const t=this.getCaptureCanvas(e),n=new It(t),r=new Ie(n);return new V(r)}getCaptureCanvasContext(e){if(!this.captureCanvasContext){const n=this.getCaptureCanvas(e).getContext("2d");this.captureCanvasContext=n}return this.captureCanvasContext}getCaptureCanvas(e){if(!this.captureCanvas){const t=this.createCaptureCanvas(e);this.captureCanvas=t}return this.captureCanvas}decodeBitmap(e){return this.reader.decode(e,this._hints)}createCaptureCanvas(e){if(typeof document>"u")return this._destroyCaptureCanvas(),null;const t=document.createElement("canvas");let n,r;return typeof e<"u"&&(e instanceof HTMLVideoElement?(n=e.videoWidth,r=e.videoHeight):e instanceof HTMLImageElement&&(n=e.naturalWidth||e.width,r=e.naturalHeight||e.height)),t.style.width=n+"px",t.style.height=r+"px",t.width=n,t.height=r,t}stopStreams(){this.stream&&(this.stream.getVideoTracks().forEach(e=>e.stop()),this.stream=void 0),this._stopAsyncDecode===!1&&this.stopAsyncDecode(),this._stopContinuousDecode===!1&&this.stopContinuousDecode()}reset(){this.stopStreams(),this._destroyVideoElement(),this._destroyImageElement(),this._destroyCaptureCanvas()}_destroyVideoElement(){this.videoElement&&(typeof this.videoEndedListener<"u"&&this.videoElement.removeEventListener("ended",this.videoEndedListener),typeof this.videoPlayingEventListener<"u"&&this.videoElement.removeEventListener("playing",this.videoPlayingEventListener),typeof this.videoCanPlayListener<"u"&&this.videoElement.removeEventListener("loadedmetadata",this.videoCanPlayListener),this.cleanVideoSource(this.videoElement),this.videoElement=void 0)}_destroyImageElement(){this.imageElement&&(this.imageLoadedListener!==void 0&&this.imageElement.removeEventListener("load",this.imageLoadedListener),this.imageElement.src=void 0,this.imageElement.removeAttribute("src"),this.imageElement=void 0)}_destroyCaptureCanvas(){this.captureCanvasContext=void 0,this.captureCanvas=void 0}addVideoSource(e,t){try{e.srcObject=t}catch{e.src=URL.createObjectURL(t)}}cleanVideoSource(e){try{e.srcObject=null}catch{e.src=""}this.videoElement.removeAttribute("src")}}class K{constructor(e,t,n=t==null?0:8*t.length,r,s,i=P.currentTimeMillis()){this.text=e,this.rawBytes=t,this.numBits=n,this.resultPoints=r,this.format=s,this.timestamp=i,this.text=e,this.rawBytes=t,n==null?this.numBits=t==null?0:8*t.length:this.numBits=n,this.resultPoints=r,this.format=s,this.resultMetadata=null,i==null?this.timestamp=P.currentTimeMillis():this.timestamp=i}getText(){return this.text}getRawBytes(){return this.rawBytes}getNumBits(){return this.numBits}getResultPoints(){return this.resultPoints}getBarcodeFormat(){return this.format}getResultMetadata(){return this.resultMetadata}putMetadata(e,t){this.resultMetadata===null&&(this.resultMetadata=new Map),this.resultMetadata.set(e,t)}putAllMetadata(e){e!==null&&(this.resultMetadata===null?this.resultMetadata=e:this.resultMetadata=new Map(e))}addResultPoints(e){const t=this.resultPoints;if(t===null)this.resultPoints=e;else if(e!==null&&e.length>0){const n=new Array(t.length+e.length);P.arraycopy(t,0,n,0,t.length),P.arraycopy(e,0,n,t.length,e.length),this.resultPoints=n}}getTimestamp(){return this.timestamp}toString(){return this.text}}var Ce;
4(function(x){x[x.AZTEC=0]="AZTEC",x[x.CODABAR=1]="CODABAR",x[x.CODE_39=2]="CODE_39",x[x.CODE_93=3]="CODE_93",x[x.CODE_128=4]="CODE_128",x[x.DATA_MATRIX=5]="DATA_MATRIX",x[x.EAN_8=6]="EAN_8",x[x.EAN_13=7]="EAN_13",x[x.ITF=8]="ITF",x[x.MAXICODE=9]="MAXICODE",x[x.PDF_417=10]="PDF_417",x[x.QR_CODE=11]="QR_CODE",x[x.RSS_14=12]="RSS_14",x[x.RSS_EXPANDED=13]="RSS_EXPANDED",x[x.UPC_A=14]="UPC_A",x[x.UPC_E=15]="UPC_E",x[x.UPC_EAN_EXTENSION=16]="UPC_EAN_EXTENSION"})(Ce||(Ce={}));var _e=Ce,Ke;(function(x){x[x.OTHER=0]="OTHER",x[x.ORIENTATION=1]="ORIENTATION",x[x.BYTE_SEGMENTS=2]="BYTE_SEGMENTS",x[x.ERROR_CORRECTION_LEVEL=3]="ERROR_CORRECTION_LEVEL",x[x.ISSUE_NUMBER=4]="ISSUE_NUMBER",x[x.SUGGESTED_PRICE=5]="SUGGESTED_PRICE",x[x.POSSIBLE_COUNTRY=6]="POSSIBLE_COUNTRY",x[x.UPC_EAN_EXTENSION=7]="UPC_EAN_EXTENSION",x[x.PDF417_EXTRA_METADATA=8]="PDF417_EXTRA_METADATA",x[x.STRUCTURED_APPEND_SEQUENCE=9]="STRUCTURED_APPEND_SEQUENCE",x[x.STRUCTURED_APPEND_PARITY=10]="STRUCTURED_APPEND_PARITY"})(Ke||(Ke={}));var Be=Ke;class dt{constructor(e,t,n,r,s=-1,i=-1){this.rawBytes=e,this.text=t,this.byteSegments=n,this.ecLevel=r,this.structuredAppendSequenceNumber=s,this.structuredAppendParity=i,this.numBits=e==null?0:8*e.length}getRawBytes(){return this.rawBytes}getNumBits(){return this.numBits}setNumBits(e){this.numBits=e}getText(){return this.text}getByteSegments(){return this.byteSegments}getECLevel(){return this.ecLevel}getErrorsCorrected(){return this.errorsCorrected}setErrorsCorrected(e){this.errorsCorrected=e}getErasures(){return this.erasures}setErasures(e){this.erasures=e}getOther(){return this.other}setOther(e){this.other=e}hasStructuredAppend(){return this.structuredAppendParity>=0&&this.structuredAppendSequenceNumber>=0}getStructuredAppendParity(){return this.structuredAppendParity}getStructuredAppendSequenceNumber(){return this.structuredAppendSequenceNumber}}class ft{exp(e){return this.expTable[e]}log(e){if(e===0)throw new I;return this.logTable[e]}static addOrSubtract(e,t){return e^t}}
4class Ue{constructor(e,t){if(t.length===0)throw new I;this.field=e;const n=t.length;if(n>1&&t[0]===0){let r=1;for(;r<n&&t[r]===0;)r++;r===n?this.coefficients=Int32Array.from([0]):(this.coefficients=new Int32Array(n-r),P.arraycopy(t,r,this.coefficients,0,this.coefficients.length))}else this.coefficients=t}getCoefficients(){return this.coefficients}getDegree(){return this.coefficients.length-1}isZero(){return this.coefficients[0]===0}getCoefficient(e){return this.coefficients[this.coefficients.length-1-e]}evaluateAt(e){if(e===0)return this.getCoefficient(0);const t=this.coefficients;let n;if(e===1){n=0;for(let i=0,o=t.length;i!==o;i++){const a=t[i];n=ft.addOrSubtract(n,a)}return n}n=t[0];const r=t.length,s=this.field;for(let i=1;i<r;i++)n=ft.addOrSubtract(s.multiply(e,n),t[i]);return n}addOrSubtract(e){if(!this.field.equals(e.field))throw new I("GenericGFPolys do not have same GenericGF field");if(this.isZero())return e;if(e.isZero())return this;let t=this.coefficients,n=e.coefficients;if(t.length>n.length){const i=t;t=n,n=i}let r=new Int32Array(n.length);const s=n.length-t.length;P.arraycopy(n,0,r,0,s);for(let i=s;i<n.length;i++)r[i]=ft.addOrSubtract(t[i-s],n[i]);return new Ue(this.field,r)}multiply(e){if(!this.field.equals(e.field))throw new I("GenericGFPolys do not have same GenericGF field");if(this.isZero()||e.isZero())return this.field.getZero();const t=this.coefficients,n=t.length,r=e.coefficients,s=r.length,i=new Int32Array(n+s-1),o=this.field;for(let a=0;a<n;a++){const l=t[a];for(let d=0;d<s;d++)i[a+d]=ft.addOrSubtract(i[a+d],o.multiply(l,r[d]))}return new Ue(o,i)}multiplyScalar(e){if(e===0)return this.field.getZero();if(e===1)return this;const t=this.coefficients.length,n=this.field,r=new Int32Array(t),s=this.coefficients;for(let i=0;i<t;i++)r[i]=n.multiply(s[i],e);return new Ue(n,r)}multiplyByMonomial(e,t){if(e<0)throw new I;if(t===0)return this.field.getZero();const n=this.coefficients,r=n.length,s=new Int32Array(r+e),i=this.field;for(let o=0;o<r;o++)s[o]=i.multiply(n[o],t);return new Ue(i,s)}divide(e){if(!this.field.equals(e.field))throw new I("GenericGFPolys do not have same GenericGF field");if(e.isZero())throw new I("Divide by 0");const t=this.field;let n=t.getZero(),r=this;const s=e.getCoefficient(e.getDegree()),i=t.inverse(s);for(;r.getDegree()>=e.getDegree()&&!r.isZero();){const o=r.getDegree()-e.getDegree(),a=t.multiply(r.getCoefficient(r.getDegree()),i),l=e.multiplyByMonomial(o,a),d=t.buildMonomial(o,a);n=n.addOrSubtract(d),r=r.addOrSubtract(l)}return[n,r]}toString(){let e="";for(let t=this.getDegree();t>=0;t--){let n=this.getCoefficient(t);if(n!==0){if(n<0?(e+=" - ",n=-n):e.length>0&&(e+=" + "),t===0||n!==1){const r=this.field.log(n);r===0?e+="1":r===1?e+="a":(e+="a^",e+=r)}t!==0&&(t===1?e+="x":(e+="x^",e+=t))}}return e}}class Oe extends w{}Oe.kind="ArithmeticException";class Ne extends ft{constructor(e,t,n){super(),this.primitive=e,this.size=t,this.generatorBase=n;const r=new Int32Array(t);let s=1;for(let o=0;o<t;o++)r[o]=s,s*=2,s>=t&&(s^=e,s&=t-1);this.expTable=r;const i=new Int32Array(t);for(let o=0;o<t-1;o++)i[r[o]]=o;this.logTable=i,this.zero=new Ue(this,Int32Array.from([0])),this.one=new Ue(this,Int32Array.from([1]))}getZero(){return this.zero}getOne(){return this.one}buildMonomial(e,t){if(e<0)throw new I;if(t===0)return this.zero;const n=new Int32Array(e+1);return n[0]=t,new Ue(this,n)}inverse(e){if(e===0)throw new Oe;return this.expTable[this.size-this.logTable[e]-1]}multiply(e,t){return e===0||t===0?0:this.expTable[(this.logTable[e]+this.logTable[t])%(this.size-1)]}getSize(){return this.size}getGeneratorBase(){return this.generatorBase}toString(){return"GF(0x"+$.toHexString(this.primitive)+","+this.size+")"}equals(e){return e===this}}Ne.AZTEC_DATA_12=new Ne(4201,4096,1),Ne.AZTEC_DATA_10=new Ne(1033,1024,1),Ne.AZTEC_DATA_6=new Ne(67,64,1),Ne.AZTEC_PARAM=new Ne(19,16,1),Ne.QR_CODE_FIELD_256=new Ne(285,256,0),Ne.DATA_MATRIX_FIELD_256=new Ne(301,256,1),Ne.AZTEC_DATA_8=Ne.DATA_MATRIX_FIELD_256,Ne.MAXICODE_FIELD_64=Ne.AZTEC_DATA_6;class $t extends w{}$t.kind="ReedSolomonException";class Tt extends w{}Tt.kind="IllegalStateException";class dn{constructor(e){this.field=e}decode(e,t){const n=this.field,r=new Ue(n,e),s=new Int32Array(t);let i=!0;for(let S=0;S<t;S++){const R=r.evaluateAt(n.exp(S+n.getGeneratorBase()));s[s.length-1-S]=R,R!==0&&(i=!1)}if(i)return;const o=new Ue(n,s),a=this.runEuclideanAlgorithm(n.buildMonomial(t,1),o,t),l=a[0],d=a[1],_=this.findErrorLocations(l),C=this.findErrorMagnitudes(d,_);for(let S=0;S<_.length;S++){const R=e.length-1-n.log(_[S]);if(R<0)throw new $t("Bad error location");e[R]=Ne.addOrSubtract(e[R],C[S])}}runEuclideanAlgorithm(e,t,n){if(e.getDegree()<t.getDegree()){const S=e;e=t,t=S}const r=this.field;let s=e,i=t,o=r.getZero(),a=r.getOne();for(;i.getDegree()>=(n/2|0);){let S=s,R=o;if(s=i,o=a,s.isZero())throw new $t("r_{i-1} was zero");i=S;let M=r.getZero();const L=s.getCoefficient(s.getDegree()),X=r.inverse(L);for(;i.getDegree()>=s.getDegree()&&!i.isZero();){const ue=i.getDegree()-s.getDegree(),he=r.multiply(i.getCoefficient(i.getDegree()),X);M=M.addOrSubtract(r.buildMonomial(ue,he)),i=i.addOrSubtract(s.multiplyByMonomial(ue,he))}
4if(a=M.multiply(o).addOrSubtract(R),i.getDegree()>=s.getDegree())throw new Tt("Division algorithm failed to reduce polynomial?")}const l=a.getCoefficient(0);if(l===0)throw new $t("sigmaTilde(0) was zero");const d=r.inverse(l),_=a.multiplyScalar(d),C=i.multiplyScalar(d);return[_,C]}findErrorLocations(e){const t=e.getDegree();if(t===1)return Int32Array.from([e.getCoefficient(1)]);const n=new Int32Array(t);let r=0;const s=this.field;for(let i=1;i<s.getSize()&&r<t;i++)e.evaluateAt(i)===0&&(n[r]=s.inverse(i),r++);if(r!==t)throw new $t("Error locator degree does not match number of roots");return n}findErrorMagnitudes(e,t){const n=t.length,r=new Int32Array(n),s=this.field;for(let i=0;i<n;i++){const o=s.inverse(t[i]);let a=1;for(let l=0;l<n;l++)if(i!==l){const d=s.multiply(t[l],o),_=(d&1)===0?d|1:d&-2;a=s.multiply(a,_)}r[i]=s.multiply(e.evaluateAt(o),s.inverse(a)),s.getGeneratorBase()!==0&&(r[i]=s.multiply(r[i],o))}return r}}var ee;(function(x){x[x.UPPER=0]="UPPER",x[x.LOWER=1]="LOWER",x[x.MIXED=2]="MIXED",x[x.DIGIT=3]="DIGIT",x[x.PUNCT=4]="PUNCT",x[x.BINARY=5]="BINARY"})(ee||(ee={}));class oe{decode(e){this.ddata=e;let t=e.getBits(),n=this.extractBits(t),r=this.correctBits(n),s=oe.convertBoolArrayToByteArray(r),i=oe.getEncodedData(r),o=new dt(s,i,null,null);return o.setNumBits(r.length),o}static highLevelDecode(e){return this.getEncodedData(e)}static getEncodedData(e){let t=e.length,n=ee.UPPER,r=ee.UPPER,s="",i=0;for(;i<t;)if(r===ee.BINARY){if(t-i<5)break;let o=oe.readCode(e,i,5);if(i+=5,o===0){if(t-i<11)break;o=oe.readCode(e,i,11)+31,i+=11}for(let a=0;a<o;a++){if(t-i<8){i=t;break}const l=oe.readCode(e,i,8);s+=de.castAsNonUtf8Char(l),i+=8}r=n}else{let o=r===ee.DIGIT?4:5;if(t-i<o)break;let a=oe.readCode(e,i,o);i+=o;let l=oe.getCharacter(r,a);l.startsWith("CTRL_")?(n=r,r=oe.getTable(l.charAt(5)),l.charAt(6)==="L"&&(n=r)):(s+=l,r=n)}return s}static getTable(e){switch(e){case"L":return ee.LOWER;case"P":return ee.PUNCT;case"M":return ee.MIXED;case"D":return ee.DIGIT;case"B":return ee.BINARY;default:return ee.UPPER}}static getCharacter(e,t){switch(e){case ee.UPPER:return oe.UPPER_TABLE[t];case ee.LOWER:return oe.LOWER_TABLE[t];case ee.MIXED:return oe.MIXED_TABLE[t];case ee.PUNCT:return oe.PUNCT_TABLE[t];case ee.DIGIT:return oe.DIGIT_TABLE[t];default:throw new Tt("Bad table")}}correctBits(e){let t,n;this.ddata.getNbLayers()<=2?(n=6,t=Ne.AZTEC_DATA_6):this.ddata.getNbLayers()<=8?(n=8,t=Ne.AZTEC_DATA_8):this.ddata.getNbLayers()<=22?(n=10,t=Ne.AZTEC_DATA_10):(n=12,t=Ne.AZTEC_DATA_12);let r=this.ddata.getNbDatablocks(),s=e.length/n;if(s<r)throw new G;let i=e.length%n,o=new Int32Array(s);for(let C=0;C<s;C++,i+=n)o[C]=oe.readCode(e,i,n);try{new dn(t).decode(o,s-r)}catch(C){throw new G(C)}let a=(1<<n)-1,l=0;for(let C=0;C<r;C++){let S=o[C];if(S===0||S===a)throw new G;(S===1||S===a-1)&&l++}let d=new Array(r*n-l),_=0;for(let C=0;C<r;C++){let S=o[C];if(S===1||S===a-1)d.fill(S>1,_,_+n-1),_+=n-1;else for(let R=n-1;R>=0;--R)d[_++]=(S&1<<R)!==0}return d}extractBits(e){let t=this.ddata.isCompact(),n=this.ddata.getNbLayers(),r=(t?11:14)+n*4,s=new Int32Array(r),i=new Array(this.totalBitsInLayer(n,t));if(t)for(let o=0;o<s.length;o++)s[o]=o;else{let o=r+1+2*$.truncDivision($.truncDivision(r,2)-1,15),a=r/2,l=$.truncDivision(o,2);for(let d=0;d<a;d++){let _=d+$.truncDivision(d,15);s[a-d-1]=l-_-1,s[a+d]=l+_+1}}for(let o=0,a=0;o<n;o++){let l=(n-o)*4+(t?9:12),d=o*2,_=r-1-d;for(let C=0;C<l;C++){let S=C*2;for(let R=0;R<2;R++)i[a+S+R]=e.get(s[d+R],s[d+C]),i[a+2*l+S+R]=e.get(s[d+C],s[_-R]),i[a+4*l+S+R]=e.get(s[_-R],s[_-C]),i[a+6*l+S+R]=e.get(s[_-C],s[d+R])}a+=l*8}return i}static readCode(e,t,n){let r=0;for(let s=t;s<t+n;s++)r<<=1,e[s]&&(r|=1);return r}static readByte(e,t){let n=e.length-t;return n>=8?oe.readCode(e,t,8):oe.readCode(e,t,n)<<8-n}static convertBoolArrayToByteArray(e){let t=new Uint8Array((e.length+7)/8);for(let n=0;n<t.length;n++)t[n]=oe.readByte(e,8*n);return t}totalBitsInLayer(e,t){return((t?88:112)+16*e)*e}}oe.UPPER_TABLE=["CTRL_PS"," ","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","CTRL_LL","CTRL_ML","CTRL_DL","CTRL_BS"],oe.LOWER_TABLE=["CTRL_PS"," ","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","CTRL_US","CTRL_ML","CTRL_DL","CTRL_BS"],oe.MIXED_TABLE=["CTRL_PS"," ","\\1","\\2","\\3","\\4","\\5","\\6","\\7","\b","	",`
5`,"\\13","\f","\r","\\33","\\34","\\35","\\36","\\37","@","\\","^","_","`","|","~","\\177","CTRL_LL","CTRL_UL","CTRL_PL","CTRL_BS"],oe.PUNCT_TABLE=["","\r",`\r
6`,". ",", ",": ","!",'"',"#","$","%","&","'","(",")","*","+",",","-",".","/",":",";","<","=",">","?","[","]","{","}","CTRL_UL"],oe.DIGIT_TABLE=["CTRL_PS"," ","0","1","2","3","4","5","6","7","8","9",",",".","CTRL_UL","CTRL_US"];class fe{constructor(){}
6static round(e){return e===NaN?0:e<=Number.MIN_SAFE_INTEGER?Number.MIN_SAFE_INTEGER:e>=Number.MAX_SAFE_INTEGER?Number.MAX_SAFE_INTEGER:e+(e<0?-.5:.5)|0}static distance(e,t,n,r){const s=e-n,i=t-r;return Math.sqrt(s*s+i*i)}static sum(e){let t=0;for(let n=0,r=e.length;n!==r;n++){const s=e[n];t+=s}return t}}class We{static floatToIntBits(e){return e}}We.MAX_VALUE=Number.MAX_SAFE_INTEGER;class me{constructor(e,t){this.x=e,this.y=t}getX(){return this.x}getY(){return this.y}equals(e){if(e instanceof me){const t=e;return this.x===t.x&&this.y===t.y}return!1}hashCode(){return 31*We.floatToIntBits(this.x)+We.floatToIntBits(this.y)}toString(){return"("+this.x+","+this.y+")"}static orderBestPatterns(e){const t=this.distance(e[0],e[1]),n=this.distance(e[1],e[2]),r=this.distance(e[0],e[2]);let s,i,o;if(n>=t&&n>=r?(i=e[0],s=e[1],o=e[2]):r>=n&&r>=t?(i=e[1],s=e[0],o=e[2]):(i=e[2],s=e[0],o=e[1]),this.crossProductZ(s,i,o)<0){const a=s;s=o,o=a}e[0]=s,e[1]=i,e[2]=o}static distance(e,t){return fe.distance(e.x,e.y,t.x,t.y)}static crossProductZ(e,t,n){const r=t.x,s=t.y;return(n.x-r)*(e.y-s)-(n.y-s)*(e.x-r)}}class ot{constructor(e,t){this.bits=e,this.points=t}getBits(){return this.bits}getPoints(){return this.points}}class et extends ot{constructor(e,t,n,r,s){super(e,t),this.compact=n,this.nbDatablocks=r,this.nbLayers=s}getNbLayers(){return this.nbLayers}getNbDatablocks(){return this.nbDatablocks}isCompact(){return this.compact}}class Bt{constructor(e,t,n,r){this.image=e,this.height=e.getHeight(),this.width=e.getWidth(),t==null&&(t=Bt.INIT_SIZE),n==null&&(n=e.getWidth()/2|0),r==null&&(r=e.getHeight()/2|0);const s=t/2|0;if(this.leftInit=n-s,this.rightInit=n+s,this.upInit=r-s,this.downInit=r+s,this.upInit<0||this.leftInit<0||this.downInit>=this.height||this.rightInit>=this.width)throw new B}detect(){let e=this.leftInit,t=this.rightInit,n=this.upInit,r=this.downInit,s=!1,i=!0,o=!1,a=!1,l=!1,d=!1,_=!1;const C=this.width,S=this.height;for(;i;){i=!1;let R=!0;for(;(R||!a)&&t<C;)R=this.containsBlackPoint(n,r,t,!1),R?(t++,i=!0,a=!0):a||t++;if(t>=C){s=!0;break}let M=!0;for(;(M||!l)&&r<S;)M=this.containsBlackPoint(e,t,r,!0),M?(r++,i=!0,l=!0):l||r++;if(r>=S){s=!0;break}let L=!0;for(;(L||!d)&&e>=0;)L=this.containsBlackPoint(n,r,e,!1),L?(e--,i=!0,d=!0):d||e--;if(e<0){s=!0;break}let X=!0;for(;(X||!_)&&n>=0;)X=this.containsBlackPoint(e,t,n,!0),X?(n--,i=!0,_=!0):_||n--;if(n<0){s=!0;break}i&&(o=!0)}if(!s&&o){const R=t-e;let M=null;for(let he=1;M===null&&he<R;he++)M=this.getBlackPointOnSegment(e,r-he,e+he,r);if(M==null)throw new B;let L=null;for(let he=1;L===null&&he<R;he++)L=this.getBlackPointOnSegment(e,n+he,e+he,n);if(L==null)throw new B;let X=null;for(let he=1;X===null&&he<R;he++)X=this.getBlackPointOnSegment(t,n+he,t-he,n);if(X==null)throw new B;let ue=null;for(let he=1;ue===null&&he<R;he++)ue=this.getBlackPointOnSegment(t,r-he,t-he,r);if(ue==null)throw new B;return this.centerEdges(ue,M,X,L)}else throw new B}getBlackPointOnSegment(e,t,n,r){const s=fe.round(fe.distance(e,t,n,r)),i=(n-e)/s,o=(r-t)/s,a=this.image;for(let l=0;l<s;l++){const d=fe.round(e+l*i),_=fe.round(t+l*o);if(a.get(d,_))return new me(d,_)}return null}centerEdges(e,t,n,r){const s=e.getX(),i=e.getY(),o=t.getX(),a=t.getY(),l=n.getX(),d=n.getY(),_=r.getX(),C=r.getY(),S=Bt.CORR;return s<this.width/2?[new me(_-S,C+S),new me(o+S,a+S),new me(l-S,d-S),new me(s+S,i-S)]:[new me(_+S,C+S),new me(o+S,a-S),new me(l-S,d+S),new me(s-S,i-S)]}containsBlackPoint(e,t,n,r){const s=this.image;if(r){for(let i=e;i<=t;i++)if(s.get(i,n))return!0}else for(let i=e;i<=t;i++)if(s.get(n,i))return!0;return!1}}Bt.INIT_SIZE=10,Bt.CORR=1;class zn{static checkAndNudgePoints(e,t){const n=e.getWidth(),r=e.getHeight();let s=!0;for(let i=0;i<t.length&&s;i+=2){const o=Math.floor(t[i]),a=Math.floor(t[i+1]);if(o<-1||o>n||a<-1||a>r)throw new B;s=!1,o===-1?(t[i]=0,s=!0):o===n&&(t[i]=n-1,s=!0),a===-1?(t[i+1]=0,s=!0):a===r&&(t[i+1]=r-1,s=!0)}s=!0;for(let i=t.length-2;i>=0&&s;i-=2){const o=Math.floor(t[i]),a=Math.floor(t[i+1]);if(o<-1||o>n||a<-1||a>r)throw new B;s=!1,o===-1?(t[i]=0,s=!0):o===n&&(t[i]=n-1,s=!0),a===-1?(t[i+1]=0,s=!0):a===r&&(t[i+1]=r-1,s=!0)}}}
6class Yt{constructor(e,t,n,r,s,i,o,a,l){this.a11=e,this.a21=t,this.a31=n,this.a12=r,this.a22=s,this.a32=i,this.a13=o,this.a23=a,this.a33=l}static quadrilateralToQuadrilateral(e,t,n,r,s,i,o,a,l,d,_,C,S,R,M,L){const X=Yt.quadrilateralToSquare(e,t,n,r,s,i,o,a);return Yt.squareToQuadrilateral(l,d,_,C,S,R,M,L).times(X)}transformPoints(e){const t=e.length,n=this.a11,r=this.a12,s=this.a13,i=this.a21,o=this.a22,a=this.a23,l=this.a31,d=this.a32,_=this.a33;for(let C=0;C<t;C+=2){const S=e[C],R=e[C+1],M=s*S+a*R+_;e[C]=(n*S+i*R+l)/M,e[C+1]=(r*S+o*R+d)/M}}transformPointsWithValues(e,t){const n=this.a11,r=this.a12,s=this.a13,i=this.a21,o=this.a22,a=this.a23,l=this.a31,d=this.a32,_=this.a33,C=e.length;for(let S=0;S<C;S++){const R=e[S],M=t[S],L=s*R+a*M+_;e[S]=(n*R+i*M+l)/L,t[S]=(r*R+o*M+d)/L}}static squareToQuadrilateral(e,t,n,r,s,i,o,a){const l=e-n+s-o,d=t-r+i-a;if(l===0&&d===0)return new Yt(n-e,s-n,e,r-t,i-r,t,0,0,1);{const _=n-s,C=o-s,S=r-i,R=a-i,M=_*R-C*S,L=(l*R-C*d)/M,X=(_*d-l*S)/M;return new Yt(n-e+L*n,o-e+X*o,e,r-t+L*r,a-t+X*a,t,L,X,1)}}static quadrilateralToSquare(e,t,n,r,s,i,o,a){return Yt.squareToQuadrilateral(e,t,n,r,s,i,o,a).buildAdjoint()}buildAdjoint(){return new Yt(this.a22*this.a33-this.a23*this.a32,this.a23*this.a31-this.a21*this.a33,this.a21*this.a32-this.a22*this.a31,this.a13*this.a32-this.a12*this.a33,this.a11*this.a33-this.a13*this.a31,this.a12*this.a31-this.a11*this.a32,this.a12*this.a23-this.a13*this.a22,this.a13*this.a21-this.a11*this.a23,this.a11*this.a22-this.a12*this.a21)}times(e){return new Yt(this.a11*e.a11+this.a21*e.a12+this.a31*e.a13,this.a11*e.a21+this.a21*e.a22+this.a31*e.a23,this.a11*e.a31+this.a21*e.a32+this.a31*e.a33,this.a12*e.a11+this.a22*e.a12+this.a32*e.a13,this.a12*e.a21+this.a22*e.a22+this.a32*e.a23,this.a12*e.a31+this.a22*e.a32+this.a32*e.a33,this.a13*e.a11+this.a23*e.a12+this.a33*e.a13,this.a13*e.a21+this.a23*e.a22+this.a33*e.a23,this.a13*e.a31+this.a23*e.a32+this.a33*e.a33)}}class ar extends zn{sampleGrid(e,t,n,r,s,i,o,a,l,d,_,C,S,R,M,L,X,ue,he){const le=Yt.quadrilateralToQuadrilateral(r,s,i,o,a,l,d,_,C,S,R,M,L,X,ue,he);return this.sampleGridWithTransform(e,t,n,le)}sampleGridWithTransform(e,t,n,r){if(t<=0||n<=0)throw new B;const s=new Ve(t,n),i=new Float32Array(2*t);for(let o=0;o<n;o++){const a=i.length,l=o+.5;for(let d=0;d<a;d+=2)i[d]=d/2+.5,i[d+1]=l;r.transformPoints(i),zn.checkAndNudgePoints(e,i);try{for(let d=0;d<a;d+=2)e.get(Math.floor(i[d]),Math.floor(i[d+1]))&&s.set(d/2,o)}catch{throw new B}}return s}}class _n{static setGridSampler(e){_n.gridSampler=e}static getInstance(){return _n.gridSampler}}_n.gridSampler=new ar;class Pt{constructor(e,t){this.x=e,this.y=t}toResultPoint(){return new me(this.getX(),this.getY())}getX(){return this.x}getY(){return this.y}}class Er{constructor(e){this.EXPECTED_CORNER_BITS=new Int32Array([3808,476,2107,1799]),this.image=e}detect(){return this.detectMirror(!1)}detectMirror(e){let t=this.getMatrixCenter(),n=this.getBullsEyeCorners(t);if(e){let i=n[0];n[0]=n[2],n[2]=i}this.extractParameters(n);let r=this.sampleGrid(this.image,n[this.shift%4],n[(this.shift+1)%4],n[(this.shift+2)%4],n[(this.shift+3)%4]),s=this.getMatrixCornerPoints(n);return new et(r,s,this.compact,this.nbDataBlocks,this.nbLayers)}extractParameters(e){if(!this.isValidPoint(e[0])||!this.isValidPoint(e[1])||!this.isValidPoint(e[2])||!this.isValidPoint(e[3]))throw new B;let t=2*this.nbCenterLayers,n=new Int32Array([this.sampleLine(e[0],e[1],t),this.sampleLine(e[1],e[2],t),this.sampleLine(e[2],e[3],t),this.sampleLine(e[3],e[0],t)]);this.shift=this.getRotation(n,t);let r=0;for(let i=0;i<4;i++){let o=n[(this.shift+i)%4];this.compact?(r<<=7,r+=o>>1&127):(r<<=10,r+=(o>>2&992)+(o>>1&31))}let s=this.getCorrectedParameterData(r,this.compact);this.compact?(this.nbLayers=(s>>6)+1,this.nbDataBlocks=(s&63)+1):(this.nbLayers=(s>>11)+1,this.nbDataBlocks=(s&2047)+1)}getRotation(e,t){let n=0;e.forEach((r,s,i)=>{let o=(r>>t-2<<1)+(r&1);n=(n<<3)+o}),n=((n&1)<<11)+(n>>1);for(let r=0;r<4;r++)if($.bitCount(n^this.EXPECTED_CORNER_BITS[r])<=2)return r;throw new B}getCorrectedParameterData(e,t){let n,r;t?(n=7,r=2):(n=10,r=4);let s=n-r,i=new Int32Array(n);for(let a=n-1;a>=0;--a)i[a]=e&15,e>>=4;try{new dn(Ne.AZTEC_PARAM).decode(i,s)}catch{throw new B}let o=0;for(let a=0;a<r;a++)o=(o<<4)+i[a];return o}getBullsEyeCorners(e){let t=e,n=e,r=e,s=e,i=!0;for(this.nbCenterLayers=1;this.nbCenterLayers<9;this.nbCenterLayers++){let _=this.getFirstDifferent(t,i,1,-1),C=this.getFirstDifferent(n,i,1,1),S=this.getFirstDifferent(r,i,-1,1),R=this.getFirstDifferent(s,i,-1,-1);if(this.nbCenterLayers>2){let M=this.distancePoint(R,_)*this.nbCenterLayers/(this.distancePoint(s,t)*(this.nbCenterLayers+2));if(M<.75||M>1.25||!this.isWhiteOrBlackRectangle(_,C,S,R))break}t=_,n=C,r=S,s=R,i=!i}
6if(this.nbCenterLayers!==5&&this.nbCenterLayers!==7)throw new B;this.compact=this.nbCenterLayers===5;let o=new me(t.getX()+.5,t.getY()-.5),a=new me(n.getX()+.5,n.getY()+.5),l=new me(r.getX()-.5,r.getY()+.5),d=new me(s.getX()-.5,s.getY()-.5);return this.expandSquare([o,a,l,d],2*this.nbCenterLayers-3,2*this.nbCenterLayers)}getMatrixCenter(){let e,t,n,r;try{let o=new Bt(this.image).detect();e=o[0],t=o[1],n=o[2],r=o[3]}catch{let a=this.image.getWidth()/2,l=this.image.getHeight()/2;e=this.getFirstDifferent(new Pt(a+7,l-7),!1,1,-1).toResultPoint(),t=this.getFirstDifferent(new Pt(a+7,l+7),!1,1,1).toResultPoint(),n=this.getFirstDifferent(new Pt(a-7,l+7),!1,-1,1).toResultPoint(),r=this.getFirstDifferent(new Pt(a-7,l-7),!1,-1,-1).toResultPoint()}let s=fe.round((e.getX()+r.getX()+t.getX()+n.getX())/4),i=fe.round((e.getY()+r.getY()+t.getY()+n.getY())/4);try{let o=new Bt(this.image,15,s,i).detect();e=o[0],t=o[1],n=o[2],r=o[3]}catch{e=this.getFirstDifferent(new Pt(s+7,i-7),!1,1,-1).toResultPoint(),t=this.getFirstDifferent(new Pt(s+7,i+7),!1,1,1).toResultPoint(),n=this.getFirstDifferent(new Pt(s-7,i+7),!1,-1,1).toResultPoint(),r=this.getFirstDifferent(new Pt(s-7,i-7),!1,-1,-1).toResultPoint()}return s=fe.round((e.getX()+r.getX()+t.getX()+n.getX())/4),i=fe.round((e.getY()+r.getY()+t.getY()+n.getY())/4),new Pt(s,i)}getMatrixCornerPoints(e){return this.expandSquare(e,2*this.nbCenterLayers,this.getDimension())}sampleGrid(e,t,n,r,s){let i=_n.getInstance(),o=this.getDimension(),a=o/2-this.nbCenterLayers,l=o/2+this.nbCenterLayers;return i.sampleGrid(e,o,o,a,a,l,a,l,l,a,l,t.getX(),t.getY(),n.getX(),n.getY(),r.getX(),r.getY(),s.getX(),s.getY())}sampleLine(e,t,n){let r=0,s=this.distanceResultPoint(e,t),i=s/n,o=e.getX(),a=e.getY(),l=i*(t.getX()-e.getX())/s,d=i*(t.getY()-e.getY())/s;for(let _=0;_<n;_++)this.image.get(fe.round(o+_*l),fe.round(a+_*d))&&(r|=1<<n-_-1);return r}isWhiteOrBlackRectangle(e,t,n,r){let s=3;e=new Pt(e.getX()-s,e.getY()+s),t=new Pt(t.getX()-s,t.getY()-s),n=new Pt(n.getX()+s,n.getY()-s),r=new Pt(r.getX()+s,r.getY()+s);let i=this.getColor(r,e);if(i===0)return!1;let o=this.getColor(e,t);return o!==i||(o=this.getColor(t,n),o!==i)?!1:(o=this.getColor(n,r),o===i)}getColor(e,t){let n=this.distancePoint(e,t),r=(t.getX()-e.getX())/n,s=(t.getY()-e.getY())/n,i=0,o=e.getX(),a=e.getY(),l=this.image.get(e.getX(),e.getY()),d=Math.ceil(n);for(let C=0;C<d;C++)o+=r,a+=s,this.image.get(fe.round(o),fe.round(a))!==l&&i++;let _=i/n;return _>.1&&_<.9?0:_<=.1===l?1:-1}getFirstDifferent(e,t,n,r){let s=e.getX()+n,i=e.getY()+r;for(;this.isValid(s,i)&&this.image.get(s,i)===t;)s+=n,i+=r;for(s-=n,i-=r;this.isValid(s,i)&&this.image.get(s,i)===t;)s+=n;for(s-=n;this.isValid(s,i)&&this.image.get(s,i)===t;)i+=r;return i-=r,new Pt(s,i)}expandSquare(e,t,n){let r=n/(2*t),s=e[0].getX()-e[2].getX(),i=e[0].getY()-e[2].getY(),o=(e[0].getX()+e[2].getX())/2,a=(e[0].getY()+e[2].getY())/2,l=new me(o+r*s,a+r*i),d=new me(o-r*s,a-r*i);s=e[1].getX()-e[3].getX(),i=e[1].getY()-e[3].getY(),o=(e[1].getX()+e[3].getX())/2,a=(e[1].getY()+e[3].getY())/2;let _=new me(o+r*s,a+r*i),C=new me(o-r*s,a-r*i);return[l,_,d,C]}isValid(e,t){return e>=0&&e<this.image.getWidth()&&t>0&&t<this.image.getHeight()}isValidPoint(e){let t=fe.round(e.getX()),n=fe.round(e.getY());return this.isValid(t,n)}distancePoint(e,t){return fe.distance(e.getX(),e.getY(),t.getX(),t.getY())}distanceResultPoint(e,t){return fe.distance(e.getX(),e.getY(),t.getX(),t.getY())}getDimension(){return this.compact?4*this.nbLayers+11:this.nbLayers<=4?4*this.nbLayers+15:4*this.nbLayers+2*($.truncDivision(this.nbLayers-4,8)+1)+15}}class Fn{decode(e,t=null){let n=null,r=new Er(e.getBlackMatrix()),s=null,i=null;try{let d=r.detectMirror(!1);s=d.getPoints(),this.reportFoundResultPoints(t,s),i=new oe().decode(d)}catch(d){n=d}if(i==null)try{let d=r.detectMirror(!0);s=d.getPoints(),this.reportFoundResultPoints(t,s),i=new oe().decode(d)}catch(d){throw n??d}let o=new K(i.getText(),i.getRawBytes(),i.getNumBits(),s,_e.AZTEC,P.currentTimeMillis()),a=i.getByteSegments();a!=null&&o.putMetadata(Be.BYTE_SEGMENTS,a);let l=i.getECLevel();
6return l!=null&&o.putMetadata(Be.ERROR_CORRECTION_LEVEL,l),o}reportFoundResultPoints(e,t){if(e!=null){let n=e.get(z.NEED_RESULT_POINT_CALLBACK);n!=null&&t.forEach((r,s,i)=>{n.foundPossibleResultPoint(r)})}}reset(){}}class yr extends Se{constructor(e=500){super(new Fn,e)}}class wt{decode(e,t){try{return this.doDecode(e,t)}catch{if(t&&t.get(z.TRY_HARDER)===!0&&e.isRotateSupported()){const s=e.rotateCounterClockwise(),i=this.doDecode(s,t),o=i.getResultMetadata();let a=270;o!==null&&o.get(Be.ORIENTATION)===!0&&(a=a+o.get(Be.ORIENTATION)%360),i.putMetadata(Be.ORIENTATION,a);const l=i.getResultPoints();if(l!==null){const d=s.getHeight();for(let _=0;_<l.length;_++)l[_]=new me(d-l[_].getY()-1,l[_].getX())}return i}else throw new B}}reset(){}doDecode(e,t){const n=e.getWidth(),r=e.getHeight();let s=new J(n);const i=t&&t.get(z.TRY_HARDER)===!0,o=Math.max(1,r>>(i?8:5));let a;i?a=r:a=15;const l=Math.trunc(r/2);for(let d=0;d<a;d++){const _=Math.trunc((d+1)/2),C=(d&1)===0,S=l+o*(C?_:-_);if(S<0||S>=r)break;try{s=e.getBlackRow(S,s)}catch{continue}for(let R=0;R<2;R++){if(R===1&&(s.reverse(),t&&t.get(z.NEED_RESULT_POINT_CALLBACK)===!0)){const M=new Map;t.forEach((L,X)=>M.set(X,L)),M.delete(z.NEED_RESULT_POINT_CALLBACK),t=M}try{const M=this.decodeRow(S,s,t);if(R===1){M.putMetadata(Be.ORIENTATION,180);const L=M.getResultPoints();L!==null&&(L[0]=new me(n-L[0].getX()-1,L[0].getY()),L[1]=new me(n-L[1].getX()-1,L[1].getY()))}return M}catch{}}}throw new B}static recordPattern(e,t,n){const r=n.length;for(let l=0;l<r;l++)n[l]=0;const s=e.getSize();if(t>=s)throw new B;let i=!e.get(t),o=0,a=t;for(;a<s;){if(e.get(a)!==i)n[o]++;else{if(++o===r)break;n[o]=1,i=!i}a++}if(!(o===r||o===r-1&&a===s))throw new B}static recordPatternInReverse(e,t,n){let r=n.length,s=e.get(t);for(;t>0&&r>=0;)e.get(--t)!==s&&(r--,s=!s);if(r>=0)throw new B;wt.recordPattern(e,t+1,n)}static patternMatchVariance(e,t,n){const r=e.length;let s=0,i=0;for(let l=0;l<r;l++)s+=e[l],i+=t[l];if(s<i)return Number.POSITIVE_INFINITY;const o=s/i;n*=o;let a=0;for(let l=0;l<r;l++){const d=e[l],_=t[l]*o,C=d>_?d-_:_-d;if(C>n)return Number.POSITIVE_INFINITY;a+=C}return a/s}}class we extends wt{static findStartPattern(e){const t=e.getSize(),n=e.getNextSet(0);let r=0,s=Int32Array.from([0,0,0,0,0,0]),i=n,o=!1;const a=6;for(let l=n;l<t;l++)if(e.get(l)!==o)s[r]++;else{if(r===a-1){let d=we.MAX_AVG_VARIANCE,_=-1;for(let C=we.CODE_START_A;C<=we.CODE_START_C;C++){const S=wt.patternMatchVariance(s,we.CODE_PATTERNS[C],we.MAX_INDIVIDUAL_VARIANCE);S<d&&(d=S,_=C)}if(_>=0&&e.isRange(Math.max(0,i-(l-i)/2),i,!1))return Int32Array.from([i,l,_]);i+=s[0]+s[1],s=s.slice(2,s.length-1),s[r-1]=0,s[r]=0,r--}else r++;s[r]=1,o=!o}throw new B}static decodeCode(e,t,n){wt.recordPattern(e,n,t);let r=we.MAX_AVG_VARIANCE,s=-1;for(let i=0;i<we.CODE_PATTERNS.length;i++){const o=we.CODE_PATTERNS[i],a=this.patternMatchVariance(t,o,we.MAX_INDIVIDUAL_VARIANCE);a<r&&(r=a,s=i)}if(s>=0)return s;throw new B}decodeRow(e,t,n){const r=n&&n.get(z.ASSUME_GS1)===!0,s=we.findStartPattern(t),i=s[2];let o=0;const a=new Uint8Array(20);a[o++]=i;let l;switch(i){case we.CODE_START_A:l=we.CODE_CODE_A;break;case we.CODE_START_B:l=we.CODE_CODE_B;break;case we.CODE_START_C:l=we.CODE_CODE_C;break;default:throw new G}let d=!1,_=!1,C="",S=s[0],R=s[1];const M=Int32Array.from([0,0,0,0,0,0]);let L=0,X=0,ue=i,he=0,le=!0,Ye=!1,Xe=!1;for(;!d;){const tr=_;switch(_=!1,L=X,X=we.decodeCode(t,M,R),a[o++]=X,X!==we.CODE_STOP&&(le=!0),X!==we.CODE_STOP&&(he++,ue+=he*X),S=R,R+=M.reduce((to,no)=>to+no,0),X){case we.CODE_START_A:case we.CODE_START_B:case we.CODE_START_C:throw new G}switch(l){case we.CODE_CODE_A:if(X<64)Xe===Ye?C+=String.fromCharCode(32+X):C+=String.fromCharCode(32+X+128),Xe=!1;
6else if(X<96)Xe===Ye?C+=String.fromCharCode(X-64):C+=String.fromCharCode(X+64),Xe=!1;else switch(X!==we.CODE_STOP&&(le=!1),X){case we.CODE_FNC_1:r&&(C.length===0?C+="]C1":C+="�");break;case we.CODE_FNC_2:case we.CODE_FNC_3:break;case we.CODE_FNC_4_A:!Ye&&Xe?(Ye=!0,Xe=!1):Ye&&Xe?(Ye=!1,Xe=!1):Xe=!0;break;case we.CODE_SHIFT:_=!0,l=we.CODE_CODE_B;break;case we.CODE_CODE_B:l=we.CODE_CODE_B;break;case we.CODE_CODE_C:l=we.CODE_CODE_C;break;case we.CODE_STOP:d=!0;break}break;case we.CODE_CODE_B:if(X<96)Xe===Ye?C+=String.fromCharCode(32+X):C+=String.fromCharCode(32+X+128),Xe=!1;else switch(X!==we.CODE_STOP&&(le=!1),X){case we.CODE_FNC_1:r&&(C.length===0?C+="]C1":C+="�");break;case we.CODE_FNC_2:case we.CODE_FNC_3:break;case we.CODE_FNC_4_B:!Ye&&Xe?(Ye=!0,Xe=!1):Ye&&Xe?(Ye=!1,Xe=!1):Xe=!0;break;case we.CODE_SHIFT:_=!0,l=we.CODE_CODE_A;break;case we.CODE_CODE_A:l=we.CODE_CODE_A;break;case we.CODE_CODE_C:l=we.CODE_CODE_C;break;case we.CODE_STOP:d=!0;break}break;case we.CODE_CODE_C:if(X<100)X<10&&(C+="0"),C+=X;else switch(X!==we.CODE_STOP&&(le=!1),X){case we.CODE_FNC_1:r&&(C.length===0?C+="]C1":C+="�");break;case we.CODE_CODE_A:l=we.CODE_CODE_A;break;case we.CODE_CODE_B:l=we.CODE_CODE_B;break;case we.CODE_STOP:d=!0;break}break}tr&&(l=l===we.CODE_CODE_A?we.CODE_CODE_B:we.CODE_CODE_A)}const Kt=R-S;if(R=t.getNextUnset(R),!t.isRange(R,Math.min(t.getSize(),R+(R-S)/2),!1))throw new B;if(ue-=he*L,ue%103!==L)throw new D;const hn=C.length;if(hn===0)throw new B;hn>0&&le&&(l===we.CODE_CODE_C?C=C.substring(0,hn-2):C=C.substring(0,hn-1));const Qt=(s[1]+s[0])/2,lt=S+Kt/2,Ut=a.length,tn=new Uint8Array(Ut);for(let tr=0;tr<Ut;tr++)tn[tr]=a[tr];const er=[new me(Qt,e),new me(lt,e)];return new K(C,tn,0,er,_e.CODE_128,new Date().getTime())}}we.CODE_PATTERNS=[Int32Array.from([2,1,2,2,2,2]),Int32Array.from([2,2,2,1,2,2]),Int32Array.from([2,2,2,2,2,1]),Int32Array.from([1,2,1,2,2,3]),Int32Array.from([1,2,1,3,2,2]),Int32Array.from([1,3,1,2,2,2]),Int32Array.from([1,2,2,2,1,3]),Int32Array.from([1,2,2,3,1,2]),Int32Array.from([1,3,2,2,1,2]),Int32Array.from([2,2,1,2,1,3]),Int32Array.from([2,2,1,3,1,2]),Int32Array.from([2,3,1,2,1,2]),Int32Array.from([1,1,2,2,3,2]),Int32Array.from([1,2,2,1,3,2]),Int32Array.from([1,2,2,2,3,1]),Int32Array.from([1,1,3,2,2,2]),Int32Array.from([1,2,3,1,2,2]),Int32Array.from([1,2,3,2,2,1]),Int32Array.from([2,2,3,2,1,1]),Int32Array.from([2,2,1,1,3,2]),Int32Array.from([2,2,1,2,3,1]),Int32Array.from([2,1,3,2,1,2]),Int32Array.from([2,2,3,1,1,2]),Int32Array.from([3,1,2,1,3,1]),Int32Array.from([3,1,1,2,2,2]),Int32Array.from([3,2,1,1,2,2]),Int32Array.from([3,2,1,2,2,1]),Int32Array.from([3,1,2,2,1,2]),Int32Array.from([3,2,2,1,1,2]),Int32Array.from([3,2,2,2,1,1]),Int32Array.from([2,1,2,1,2,3]),Int32Array.from([2,1,2,3,2,1]),Int32Array.from([2,3,2,1,2,1]),Int32Array.from([1,1,1,3,2,3]),Int32Array.from([1,3,1,1,2,3]),Int32Array.from([1,3,1,3,2,1]),Int32Array.from([1,1,2,3,1,3]),Int32Array.from([1,3,2,1,1,3]),Int32Array.from([1,3,2,3,1,1]),Int32Array.from([2,1,1,3,1,3]),Int32Array.from([2,3,1,1,1,3]),Int32Array.from([2,3,1,3,1,1]),Int32Array.from([1,1,2,1,3,3]),Int32Array.from([1,1,2,3,3,1]),Int32Array.from([1,3,2,1,3,1]),Int32Array.from([1,1,3,1,2,3]),Int32Array.from([1,1,3,3,2,1]),Int32Array.from([1,3,3,1,2,1]),Int32Array.from([3,1,3,1,2,1]),Int32Array.from([2,1,1,3,3,1]),Int32Array.from([2,3,1,1,3,1]),Int32Array.from([2,1,3,1,1,3]),Int32Array.from([2,1,3,3,1,1]),Int32Array.from([2,1,3,1,3,1]),Int32Array.from([3,1,1,1,2,3]),Int32Array.from([3,1,1,3,2,1]),Int32Array.from([3,3,1,1,2,1]),Int32Array.from([3,1,2,1,1,3]),Int32Array.from([3,1,2,3,1,1]),Int32Array.from([3,3,2,1,1,1]),Int32Array.from([3,1,4,1,1,1]),Int32Array.from([2,2,1,4,1,1]),Int32Array.from([4,3,1,1,1,1]),Int32Array.from([1,1,1,2,2,4]),Int32Array.from([1,1,1,4,2,2]),Int32Array.from([1,2,1,1,2,4]),Int32Array.from([1,2,1,4,2,1]),Int32Array.from([1,4,1,1,2,2]),Int32Array.from([1,4,1,2,2,1]),Int32Array.from([1,1,2,2,1,4]),Int32Array.from([1,1,2,4,1,2]),Int32Array.from([1,2,2,1,1,4]),Int32Array.from([1,2,2,4,1,1]),Int32Array.from([1,4,2,1,1,2]),Int32Array.from([1,4,2,2,1,1]),Int32Array.from([2,4,1,2,1,1]),Int32Array.from([2,2,1,1,1,4]),Int32Array.from([4,1,3,1,1,1]),Int32Array.from([2,4,1,1,1,2]),Int32Array.from([1,3,4,1,1,1]),Int32Array.from([1,1,1,2,4,2]),Int32Array.from([1,2,1,1,4,2]),Int32Array.from([1,2,1,2,4,1]),Int32Array.from([1,1,4,2,1,2]),Int32Array.from([1,2,4,1,1,2]),Int32Array.from([1,2,4,2,1,1]),Int32Array.from([4,1,1,2,1,2]),Int32Array.from([4,2,1,1,1,2]),Int32Array.from([4,2,1,2,1,1]),Int32Array.from([2,1,2,1,4,1]),Int32Array.from([2,1,4,1,2,1]),Int32Array.from([4,1,2,1,2,1]),Int32Array.from([1,1,1,1,4,3]),Int32Array.from([1,1,1,3,4,1]),Int32Array.from([1,3,1,1,4,1]),Int32Array.from([1,1,4,1,1,3]),Int32Array.from([1,1,4,3,1,1]),Int32Array.from([4,1,1,1,1,3]),Int32Array.from([4,1,1,3,1,1]),Int32Array.from([1,1,3,1,4,1]),Int32Array.from([1,1,4,1,3,1]),Int32Array.from([3,1,1,1,4,1]),Int32Array.from([4,1,1,1,3,1]),Int32Array.from([2,1,1,4,1,2]),Int32Array.from([2,1,1,2,1,4]),Int32Array.from([2,1,1,2,3,2]),Int32Array.from([2,3,3,1,1,1,2])],we.MAX_AVG_VARIANCE=.25,we.MAX_INDIVIDUAL_VARIA
6NCE=.7,we.CODE_SHIFT=98,we.CODE_CODE_C=99,we.CODE_CODE_B=100,we.CODE_CODE_A=101,we.CODE_FNC_1=102,we.CODE_FNC_2=97,we.CODE_FNC_3=96,we.CODE_FNC_4_A=101,we.CODE_FNC_4_B=100,we.CODE_START_A=103,we.CODE_START_B=104,we.CODE_START_C=105,we.CODE_STOP=106;class De extends wt{constructor(e=!1,t=!1){super(),this.usingCheckDigit=e,this.extendedMode=t,this.decodeRowResult="",this.counters=new Int32Array(9)}decodeRow(e,t,n){let r=this.counters;r.fill(0),this.decodeRowResult="";let s=De.findAsteriskPattern(t,r),i=t.getNextSet(s[1]),o=t.getSize(),a,l;do{De.recordPattern(t,i,r);let M=De.toNarrowWidePattern(r);if(M<0)throw new B;a=De.patternToChar(M),this.decodeRowResult+=a,l=i;for(let L of r)i+=L;i=t.getNextSet(i)}while(a!=="*");this.decodeRowResult=this.decodeRowResult.substring(0,this.decodeRowResult.length-1);let d=0;for(let M of r)d+=M;let _=i-l-d;if(i!==o&&_*2<d)throw new B;if(this.usingCheckDigit){let M=this.decodeRowResult.length-1,L=0;for(let X=0;X<M;X++)L+=De.ALPHABET_STRING.indexOf(this.decodeRowResult.charAt(X));if(this.decodeRowResult.charAt(M)!==De.ALPHABET_STRING.charAt(L%43))throw new D;this.decodeRowResult=this.decodeRowResult.substring(0,M)}if(this.decodeRowResult.length===0)throw new B;let C;this.extendedMode?C=De.decodeExtended(this.decodeRowResult):C=this.decodeRowResult;let S=(s[1]+s[0])/2,R=l+d/2;return new K(C,null,0,[new me(S,e),new me(R,e)],_e.CODE_39,new Date().getTime())}static findAsteriskPattern(e,t){let n=e.getSize(),r=e.getNextSet(0),s=0,i=r,o=!1,a=t.length;for(let l=r;l<n;l++)if(e.get(l)!==o)t[s]++;else{if(s===a-1){if(this.toNarrowWidePattern(t)===De.ASTERISK_ENCODING&&e.isRange(Math.max(0,i-Math.floor((l-i)/2)),i,!1))return[i,l];i+=t[0]+t[1],t.copyWithin(0,2,2+s-1),t[s-1]=0,t[s]=0,s--}else s++;t[s]=1,o=!o}throw new B}static toNarrowWidePattern(e){let t=e.length,n=0,r;do{let s=2147483647;for(let a of e)a<s&&a>n&&(s=a);n=s,r=0;let i=0,o=0;for(let a=0;a<t;a++){let l=e[a];l>n&&(o|=1<<t-1-a,r++,i+=l)}if(r===3){for(let a=0;a<t&&r>0;a++){let l=e[a];if(l>n&&(r--,l*2>=i))return-1}return o}}while(r>3);return-1}static patternToChar(e){for(let t=0;t<De.CHARACTER_ENCODINGS.length;t++)if(De.CHARACTER_ENCODINGS[t]===e)return De.ALPHABET_STRING.charAt(t);if(e===De.ASTERISK_ENCODING)return"*";throw new B}static decodeExtended(e){let t=e.length,n="";for(let r=0;r<t;r++){let s=e.charAt(r);if(s==="+"||s==="$"||s==="%"||s==="/"){let i=e.charAt(r+1),o="\0";switch(s){case"+":if(i>="A"&&i<="Z")o=String.fromCharCode(i.charCodeAt(0)+32);else throw new G;break;case"$":if(i>="A"&&i<="Z")o=String.fromCharCode(i.charCodeAt(0)-64);else throw new G;break;case"%":if(i>="A"&&i<="E")o=String.fromCharCode(i.charCodeAt(0)-38);else if(i>="F"&&i<="J")o=String.fromCharCode(i.charCodeAt(0)-11);else if(i>="K"&&i<="O")o=String.fromCharCode(i.charCodeAt(0)+16);else if(i>="P"&&i<="T")o=String.fromCharCode(i.charCodeAt(0)+43);else if(i==="U")o="\0";else if(i==="V")o="@";else if(i==="W")o="`";else if(i==="X"||i==="Y"||i==="Z")o="�";else throw new G;break;case"/":if(i>="A"&&i<="O")o=String.fromCharCode(i.charCodeAt(0)-32);else if(i==="Z")o=":";else throw new G;break}n+=o,r++}else n+=s}return n}}De.ALPHABET_STRING="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ-. $/+%",De.CHARACTER_ENCODINGS=[52,289,97,352,49,304,112,37,292,100,265,73,328,25,280,88,13,268,76,28,259,67,322,19,274,82,7,262,70,22,385,193,448,145,400,208,133,388,196,168,162,138,42],De.ASTERISK_ENCODING=148;class Re extends wt{constructor(){super(...arguments),this.narrowLineWidth=-1}decodeRow(e,t,n){let r=this.decodeStart(t),s=this.decodeEnd(t),i=new be;Re.decodeMiddle(t,r[1],s[0],i);let o=i.toString(),a=null;n!=null&&(a=n.get(z.ALLOWED_LENGTHS)),a==null&&(a=Re.DEFAULT_ALLOWED_LENGTHS);let l=o.length,d=!1,_=0;for(let R of a){if(l===R){d=!0;break}R>_&&(_=R)}if(!d&&l>_&&(d=!0),!d)throw new G;const C=[new me(r[1],e),new me(s[0],e)];return new K(o,null,0,C,_e.ITF,new Date().getTime())}static decodeMiddle(e,t,n,r){let s=new Int32Array(10),i=new Int32Array(5),o=new Int32Array(5);for(s.fill(0),i.fill(0),o.fill(0);t<n;){wt.recordPattern(e,t,s);for(let l=0;l<5;l++){let d=2*l;i[l]=s[d],o[l]=s[d+1]}let a=Re.decodeDigit(i);r.append(a.toString()),a=this.decodeDigit(o),r.append(a.toString()),s.forEac
6h(function(l){t+=l})}}decodeStart(e){let t=Re.skipWhiteSpace(e),n=Re.findGuardPattern(e,t,Re.START_PATTERN);return this.narrowLineWidth=(n[1]-n[0])/4,this.validateQuietZone(e,n[0]),n}validateQuietZone(e,t){let n=this.narrowLineWidth*10;n=n<t?n:t;for(let r=t-1;n>0&&r>=0&&!e.get(r);r--)n--;if(n!==0)throw new B}static skipWhiteSpace(e){const t=e.getSize(),n=e.getNextSet(0);if(n===t)throw new B;return n}decodeEnd(e){e.reverse();try{let t=Re.skipWhiteSpace(e),n;try{n=Re.findGuardPattern(e,t,Re.END_PATTERN_REVERSED[0])}catch(s){s instanceof B&&(n=Re.findGuardPattern(e,t,Re.END_PATTERN_REVERSED[1]))}this.validateQuietZone(e,n[0]);let r=n[0];return n[0]=e.getSize()-n[1],n[1]=e.getSize()-r,n}finally{e.reverse()}}static findGuardPattern(e,t,n){let r=n.length,s=new Int32Array(r),i=e.getSize(),o=!1,a=0,l=t;s.fill(0);for(let d=t;d<i;d++)if(e.get(d)!==o)s[a]++;else{if(a===r-1){if(wt.patternMatchVariance(s,n,Re.MAX_INDIVIDUAL_VARIANCE)<Re.MAX_AVG_VARIANCE)return[l,d];l+=s[0]+s[1],P.arraycopy(s,2,s,0,a-1),s[a-1]=0,s[a]=0,a--}else a++;s[a]=1,o=!o}throw new B}static decodeDigit(e){let t=Re.MAX_AVG_VARIANCE,n=-1,r=Re.PATTERNS.length;for(let s=0;s<r;s++){let i=Re.PATTERNS[s],o=wt.patternMatchVariance(e,i,Re.MAX_INDIVIDUAL_VARIANCE);o<t?(t=o,n=s):o===t&&(n=-1)}if(n>=0)return n%10;throw new B}}Re.PATTERNS=[Int32Array.from([1,1,2,2,1]),Int32Array.from([2,1,1,1,2]),Int32Array.from([1,2,1,1,2]),Int32Array.from([2,2,1,1,1]),Int32Array.from([1,1,2,1,2]),Int32Array.from([2,1,2,1,1]),Int32Array.from([1,2,2,1,1]),Int32Array.from([1,1,1,2,2]),Int32Array.from([2,1,1,2,1]),Int32Array.from([1,2,1,2,1]),Int32Array.from([1,1,3,3,1]),Int32Array.from([3,1,1,1,3]),Int32Array.from([1,3,1,1,3]),Int32Array.from([3,3,1,1,1]),Int32Array.from([1,1,3,1,3]),Int32Array.from([3,1,3,1,1]),Int32Array.from([1,3,3,1,1]),Int32Array.from([1,1,1,3,3]),Int32Array.from([3,1,1,3,1]),Int32Array.from([1,3,1,3,1])],Re.MAX_AVG_VARIANCE=.38,Re.MAX_INDIVIDUAL_VARIANCE=.5,Re.DEFAULT_ALLOWED_LENGTHS=[6,8,10,12,14],Re.START_PATTERN=Int32Array.from([1,1,1,1]),Re.END_PATTERN_REVERSED=[Int32Array.from([1,1,2]),Int32Array.from([1,1,3])];class Ge extends wt{constructor(){super(...arguments),this.decodeRowStringBuffer=""}static findStartGuardPattern(e){let t=!1,n,r=0,s=Int32Array.from([0,0,0]);for(;!t;){s=Int32Array.from([0,0,0]),n=Ge.findGuardPattern(e,r,!1,this.START_END_PATTERN,s);let i=n[0];r=n[1];let o=i-(r-i);o>=0&&(t=e.isRange(o,i,!1))}return n}static checkChecksum(e){return Ge.checkStandardUPCEANChecksum(e)}static checkStandardUPCEANChecksum(e){let t=e.length;if(t===0)return!1;let n=parseInt(e.charAt(t-1),10);return Ge.getStandardUPCEANChecksum(e.substring(0,t-1))===n}static getStandardUPCEANChecksum(e){let t=e.length,n=0;for(let r=t-1;r>=0;r-=2){let s=e.charAt(r).charCodeAt(0)-48;if(s<0||s>9)throw new G;n+=s}n*=3;for(let r=t-2;r>=0;r-=2){let s=e.charAt(r).charCodeAt(0)-48;if(s<0||s>9)throw new G;n+=s}return(1e3-n)%10}static decodeEnd(e,t){return Ge.findGuardPattern(e,t,!1,Ge.START_END_PATTERN,new Int32Array(Ge.START_END_PATTERN.length).fill(0))}static findGuardPatternWithoutCounters(e,t,n,r){return this.findGuardPattern(e,t,n,r,new Int32Array(r.length))}static findGuardPattern(e,t,n,r,s){let i=e.getSize();t=n?e.getNextUnset(t):e.getNextSet(t);let o=0,a=t,l=r.length,d=n;for(let _=t;_<i;_++)if(e.get(_)!==d)s[o]++;else{if(o===l-1){if(wt.patternMatchVariance(s,r,Ge.MAX_INDIVIDUAL_VARIANCE)<Ge.MAX_AVG_VARIANCE)return Int32Array.from([a,_]);a+=s[0]+s[1];let C=s.slice(2,s.length-1);for(let S=0;S<o-1;S++)s[S]=C[S];s[o-1]=0,s[o]=0,o--}else o++;s[o]=1,d=!d}throw new B}static decodeDigit(e,t,n,r){this.recordPattern(e,n,t);let s=this.MAX_AVG_VARIANCE,i=-1,o=r.length;for(let a=0;a<o;a++){let l=r[a],d=wt.patternMatchVariance(t,l,Ge.MAX_INDIVIDUAL_VARIANCE);d<s&&(s=d,i=a)}if(i>=0)return i;throw new B}}Ge.MAX_AVG_VARIANCE=.48,Ge.MAX_INDIVIDUAL_VARIANCE=.7,Ge.START_END_PATTERN=Int32Array.from([1,1,1]),Ge.MIDDLE_PATTERN=Int32Array.from([1,1,1,1,1]),Ge.END_PATTERN=Int32Array.from([1,1,1,1,1,1]),Ge.L_PATTERNS=[Int32Array.from([3,2,1,1]),Int32Array.from([2,2,2,1]),Int32Array.from([2,1,2,2]),Int32Array.from([1,4,1,1]),Int32Array.from([1,1,3,2]),Int32Array.from([1,2,3,1]),Int32Array.from([1,1,1,4]),Int32Array.from([1,3,1,2]),Int32Array.from([1,2,1,3]),Int32Array.from([3,1,1,2])];class sn{constructor(){this.CHECK_DIGIT_ENCODINGS=[24,20,18,17,12,6,3,10,9,5],this.decodeMiddleCounters=Int32Array.from([0,0,0,0]),this.decodeRowStringBuffer=""}decodeRow(e,t,n){let r=this.decodeRowStringBuffer,s=this.decodeMiddle(t,n,r),i=r.toString(),o=sn.parseExtensionString(i),a=[new me((n[0]+n[1])/2,e),new me(s,e)],l=new K(i,null,0,a,_e.UPC_EAN_EXTENSION,new Date().getTime());return o!=null&&l.putAllMetadata(o),l}decodeMiddle(e,t,n){let r=this.decodeMiddleCounters;r[0]=0,r[1]=0,r[2]=0,r[3]=0;let s=e.getSize(),i=t[1],o=0;for(let l=0;l<5&&i<s;l++){let d=Ge.decodeDigit(e,r,i,Ge.L_AND_G_PATTERNS);n+=String.fromCharCode(48+d%10);for(let _ of r)i+=_;d>=10&&(o|=1<<4-l),l!==4&&(i=e.getNextSet(i),i=e.getNextUnset(i))}if(n.length!==5)throw new B;let a=this.determineCheckDigit(o);if(sn.extensionChecksum(n.toString())!==a)throw new B;return i}static extensionChecksum(e){let t=e.length,n=0;for(let r=t-2;r>=0;r-=2)n+=e.charAt(r).charCodeAt(0)-48;n*=3;for(let r=t-1;r>=0;r-=2)n+=e.charAt(r).charCodeAt(0)-48;return n*=3,n%10}determineCheckDigit(e){for(let t=0;t<10;t++)if(e===this.CHECK_DIGIT_ENCODINGS[t])return t;throw new B}static parseExtensionString(e){if(e.length!==5)return null;let t=sn.parseExtension5String(e);return t==null?null:new Map([[Be.SUGGESTED_PRICE,t]])}static parseExtension5String(e){let t;switch(e.charAt(0)){case"0":t="£";break;case"5":t="$";break;case"9":switch(e){case"90000":return null;case"99991":return"0.00";case"99990":return"Used"}t="";break;default:t="";break}let n=parseInt(e.substring(1)),r=(n/100).toString(),s=n%100,i=s<10?"0"+s:s.toString();return t+r+"."+i}}class Hr{constructor(){this.decodeMiddleCounters=Int32Array.from([0,0,0,0]),this.decodeRowStringBuffer=""}decodeRow(e,t,n){let r=this.decodeRowStringBuffer,s=this.decodeMiddle(t,n,r),i=r.toString(),o=Hr.parseExtensionString(i),a=[new me((n[0]+n[1])/2,e),new me(s,e)],l=new K(i,null,0,a,_e.UPC_EAN_EXTENSION,new Date().getTime());return o!=null&&l.putAllMetadata(o),l}decodeMiddle(e,t,n){let r=this.decodeMiddleCounters;r[0]=0,r[1]=0,r[2]=0,r[3]=0;let s=e.getSize(),i=t[1],o=0;for(let a=0;a<2&&i<s;a++){let l=Ge.decodeDigit(e,r,i,Ge.L_AND_G_PATTERNS);n+=String.fromCharCode(48+l%10);for(let d of r)i+=d;l>=10&&(o|=1<<1-a),a!==1&&(i=e.getNextSet(i),i=e.getNextUnset(i))}if(n.length!==2)throw new B;if(parseInt(n.toString())%4!==o)throw new B;return i}static parseExtensionString(e){return e.length!==2?null:new Map([[Be.ISSUE_NUMBER,parseInt(e)]])}}class vs{static decodeRow(e,t,n){let r=Ge.findGuardPattern(t,n,!1,this.EXTENSION_START_PATTERN,new Int32Array(this.EXTENSION_START_PATTERN.length).fill(0));try{return new sn().decodeRow(e,t,r)}catch{return new Hr().decodeRow(e,t,r)}}}vs.EXTENSION_START_PATTERN=Int32Array.from([1,1,2]);class Qe extends Ge{constructor(){super(),this.decodeRowStringBuffer="",Qe.L_AND_G_PATTERNS=Qe.L_PATTERNS.map(e=>Int32Array.from(e));for(let e=10;e<20;e++){let t=Qe.L_PATTERNS[e-10],n=new Int32Array(t.length);for(let r=0;r<t.length;r++)n[r]=t[t.length-r-1];Qe.L_AND_G_PATTERNS[e]=n}}decodeRow(e,t,n){let r=Qe.findStartGuardPattern(t),s=n==null?null:n.get(z.NEED_RESULT_POINT_CALLBACK);if(s!=null){const le=new me((r[0]+r[1])/2,e);s.foundPossibleResultPoint(le)}let i=this.decodeMiddle(t,r,this.decodeRowStringBuffer),o=i.rowOffset,a=i.resultString;if(s!=null){const le=new me(o,e);s.foundPossibleResultPoint(le)}let l=this.decodeEnd(t,o);if(s!=null){const le=new me((l[0]+l[1])/2,e);s.foundPossibleResultPoint(le)}let d=l[1],_=d+(d-l[0]);if(_>=t.getSize()||!t.isRange(d,_,!1))throw new B;let C=a.toString();if(C.length<8)throw new G;if(!Qe.checkChecksum(C))throw new D;let S=(r[1]+r[0])/2,R=(l[1]+l[0])/2,M=this.getBarcodeFormat(),L=[new me(S,e),new me(R,e)],X=new K(C,null,0,L,M,new Date().getTime()),ue=0;try{let le=vs.decodeRow(e,t,l[1]);X.putMetadata(Be.UPC_EAN_EXTENSION,le.getText()),X.putAllMetadata(le.getResultMetadata()),X.addResultPoints(le.getResultPoints()),ue=le.getText().length}catch{}let he=n==null?null:n.get(z.ALLOWED_EAN_EXTENSIONS);if(he!=null){let le=!1;for(let Ye in he)if(ue.toString()===Ye){le=!0;break}if(!le)throw new B}return X}decodeEnd(e,t){return Qe.findGuardPattern(e,t,!1,Qe.START_END_PATTERN,new Int32Array(Qe.START_END_PATTERN.length).fill(0))}static checkChecksum(e){return Qe.checkStandardUPCEANChecksum(e)}static checkStandardUPCEANChecksum(e){let t=e.length;if(t===0)return!1;let n=parseInt(e.charAt(t-1),10);return Qe.getStandardUPCEANChecksum(e.substring(0,t-1))===n}static getStandardUPCEANChecksum(e){let t=e.length,n=0;for(let r=t-1;r>=0;r-=2){let s=e.charAt(r).charCodeAt(0)-48;if(s<0||s>9)throw new G;n+=s}n*=3;for(let r=t-2;r>=0;r-=2){let s=e.charAt(r).charCodeAt(0)-48;if(s<0||s>9)throw new G;n+=s}return(1e3-n)%10}}class Un extends Qe{constructor(){super(),this.decodeMiddleCounters=Int32Array.from([0,0,0,0])}decodeMiddle(e,t,n){let r=this.decodeMiddleCounters;r[0]=0,r[1]=0,r[2]=0,r[3]=0;let s=e.getSize(),i=t[1],o=0;for(let l=0;l<6&&i<s;l++){let d=Qe.decodeDigit(e,r,i,Qe.L_AND_G_PATTERNS);n+=String.fromCharCode(48+d%10);for(let _ of r)i+=_;d>=10&&(o|=1<<5-l)}n=Un.determineFirstDigit(n,o),i=Qe.findGuardPattern(e,i,!0,Qe.MIDDLE_PATTERN,new Int32Array(Qe.MIDDLE_PATTERN.length).fill(0))[1];for(let l=0;l<6&&i<s;l++){let d=Qe.decodeDigit(e,r,i,Qe.L_PATTERNS);n+=String.fromCharCode(48+d);for(let _ of r)i+=_}return{rowOffset:i,resultString:n}}getBarcodeFormat(){return _e.EAN_13}static determineFirstDigit(e,t){for(let n=0;n<10;n++)if(t===this.FIRST_DIGIT_ENCODINGS[n])return e=String.fromCharCode(48+n)+e,e;throw new B}}Un.FIRST_DIGIT_ENCODINGS=[0,11,13,14,19,25,28,21,22,26];class bs extends Qe{constructor(){super(),this.decodeMiddleCounters=Int32Array.from([0,0,0,0])}decodeMiddle(e,t,n){const r=this.decodeMiddleCounters;r[0]=0,r[1]=0,r[2]=0,r[3]=0;let s=e.getSize(),i=t[1];for(let a=0;a<4&&i<s;a++){let l=Qe.decodeDigit(e,r,i,Qe.L_PATTERNS);n+=String.fromCharCode(48+l);for(let d of r)i+=d}i=Qe.findGuardPattern(e,i,!0,Qe.MIDDLE_PATTERN,new Int32Array(Qe.MIDDLE_PATTERN.length).fill(0))[1];for(let a=0;a<4&&i<s;a++){let l=Qe.decodeDigit(e,r,i,Qe.L_PATTERNS);n+=String.fromCharCode(48+l);for(let d of r)i+=d}return{rowOffset:i,resultString:n}}getBarcodeFormat(){return _e.EAN_8}}class Is extends Qe{constructor(){super(...arguments),this.ean13Reader=new Un}getBarcodeFormat(){return _e.UPC_A}decode(e,t){return this.maybeReturnResult(this.ean13Reader.decode(e))}decodeRow(e,t,n){return this.maybeReturnResult(this.ean13Reader.decodeRow(e,t,n))}decodeMiddle(e,t,n){return this.ean13Reader.decodeMiddle(e,t,n)}maybeReturnResult(e){let t=e.getText();if(t.charAt(0)==="0"){let n=new K(t.substring(1),null,null,e.getResultPoints(),_e.UPC_A);return e.getResultMetadata()!=null&&n.putAllMetadata(e.getResultMetadata()),n}else throw new B}reset(){this.ean13Reader.reset()}}class fn extends Qe{constructor(){super(),this.decodeMiddleCounters=new Int32Array(4)}decodeMiddle(e,t,n){const r=this.decodeMiddleCounters.map(l=>l);r[0]=0,r[1]=0,r[2]=0,r[3]=0;const s=e.getSize();let i=t[1],o=0;for(let l=0;l<6&&i<s;l++){const d=fn.decodeDigit(e,r,i,fn.L_AND_G_PATTERNS);n+=String.fromCharCode(48+d%10);for(let _ of r)i+=_;d>=10&&(o|=1<<5-l)}let a=fn.determineNumSysAndCheckDigit(n,o);return{rowOffset:i,resultString:a}}decodeEnd(e,t){return fn.findGuardPatternWithoutCounters(e,t,!0,fn.MIDDLE_END_PATTERN)}checkChecksum(e){return Qe.checkChecksum(fn.convertUPCEtoUPCA(e))}static determineNumSysAndCheckDigit(e,t){for(let n=0;n<=1;n++)for(let r=0;r<10;r++)if(t===this.NUMSYS_AND_CHECK_DIGIT_PATTERNS[n][r]){let s=String.fromCharCode(48+n),i=String.fromCharCode(48+r);return s+e+i}throw B.getNotFoundInstance()}getBarcodeFormat(){return _e.UPC_E}static convertUPCEtoUPCA(e){const t=e.slice(1,7).split("").map(s=>s.charCodeAt(0)),n=new be;n.append(e.charAt(0));let r=t[5];switch(r){case 0:case 1:case 2:n.appendChars(t,0,2),n.append(r),n.append("0000"),n.appendChars(t,2,3);break;case 3:n.appendChars(t,0,3),n.append("00000"),n.appendChars(t,3,2);break;case 4:n.appendChars(t,0,4),n.append("00000"),n.append(t[4]);break;default:n.appendChars(t,0,5),n.append("0000"),n.append(r);break}return e.length>=8&&n.append(e.charAt(7)),n.toString()}}fn.MIDDLE_END_PATTERN=Int32Array.from([1,1,1,1,1,1]),fn.NUMSYS_AND_CHECK_DIGIT_PATTERNS=[Int32Array.from([56,52,50,49,44,38,35,42,41,37]),Int32Array.from([7,11,13,14,19,25,28,21,22,26])];class Wr extends wt{constructor(e){super();let t=e==null?null:e.get(z.POSSIBLE_FORMATS),n=[];m(t)?(n.push(new Un),n.push(new Is),n.push(new bs),n.push(new fn)):(t.
6indexOf(_e.EAN_13)>-1&&n.push(new Un),t.indexOf(_e.UPC_A)>-1&&n.push(new Is),t.indexOf(_e.EAN_8)>-1&&n.push(new bs),t.indexOf(_e.UPC_E)>-1&&n.push(new fn)),this.readers=n}decodeRow(e,t,n){for(let r of this.readers)try{const s=r.decodeRow(e,t,n),i=s.getBarcodeFormat()===_e.EAN_13&&s.getText().charAt(0)==="0",o=n==null?null:n.get(z.POSSIBLE_FORMATS),a=o==null||o.includes(_e.UPC_A);if(i&&a){const l=s.getRawBytes(),d=new K(s.getText().substring(1),l,l?l.length:null,s.getResultPoints(),_e.UPC_A);return d.putAllMetadata(s.getResultMetadata()),d}return s}catch{}throw new B}reset(){for(let e of this.readers)e.reset()}}class Gt extends wt{constructor(){super(),this.decodeFinderCounters=new Int32Array(4),this.dataCharacterCounters=new Int32Array(8),this.oddRoundingErrors=new Array(4),this.evenRoundingErrors=new Array(4),this.oddCounts=new Array(this.dataCharacterCounters.length/2),this.evenCounts=new Array(this.dataCharacterCounters.length/2)}getDecodeFinderCounters(){return this.decodeFinderCounters}getDataCharacterCounters(){return this.dataCharacterCounters}getOddRoundingErrors(){return this.oddRoundingErrors}getEvenRoundingErrors(){return this.evenRoundingErrors}getOddCounts(){return this.oddCounts}getEvenCounts(){return this.evenCounts}parseFinderValue(e,t){for(let n=0;n<t.length;n++)if(wt.patternMatchVariance(e,t[n],Gt.MAX_INDIVIDUAL_VARIANCE)<Gt.MAX_AVG_VARIANCE)return n;throw new B}static count(e){return fe.sum(new Int32Array(e))}static increment(e,t){let n=0,r=t[0];for(let s=1;s<e.length;s++)t[s]>r&&(r=t[s],n=s);e[n]++}static decrement(e,t){let n=0,r=t[0];for(let s=1;s<e.length;s++)t[s]<r&&(r=t[s],n=s);e[n]--}static isFinderPattern(e){let t=e[0]+e[1],n=t+e[2]+e[3],r=t/n;if(r>=Gt.MIN_FINDER_PATTERN_RATIO&&r<=Gt.MAX_FINDER_PATTERN_RATIO){let s=Number.MAX_SAFE_INTEGER,i=Number.MIN_SAFE_INTEGER;for(let o of e)o>i&&(i=o),o<s&&(s=o);return i<10*s}return!1}}Gt.MAX_AVG_VARIANCE=.2,Gt.MAX_INDIVIDUAL_VARIANCE=.45,Gt.MIN_FINDER_PATTERN_RATIO=9.5/12,Gt.MAX_FINDER_PATTERN_RATIO=12.5/14;class Yn{constructor(e,t){this.value=e,this.checksumPortion=t}getValue(){return this.value}getChecksumPortion(){return this.checksumPortion}toString(){return this.value+"("+this.checksumPortion+")"}equals(e){if(!(e instanceof Yn))return!1;const t=e;return this.value===t.value&&this.checksumPortion===t.checksumPortion}hashCode(){return this.value^this.checksumPortion}}class vr{constructor(e,t,n,r,s){this.value=e,this.startEnd=t,this.value=e,this.startEnd=t,this.resultPoints=new Array,this.resultPoints.push(new me(n,s)),this.resultPoints.push(new me(r,s))}getValue(){return this.value}getStartEnd(){return this.startEnd}getResultPoints(){return this.resultPoints}equals(e){if(!(e instanceof vr))return!1;const t=e;return this.value===t.value}hashCode(){return this.value}}class mn{constructor(){}static getRSSvalue(e,t,n){let r=0;for(let a of e)r+=a;let s=0,i=0,o=e.length;for(let a=0;a<o-1;a++){let l;for(l=1,i|=1<<a;l<e[a];l++,i&=~(1<<a)){let d=mn.combins(r-l-1,o-a-2);if(n&&i===0&&r-l-(o-a-1)>=o-a-1&&(d-=mn.combins(r-l-(o-a),o-a-2)),o-a-1>1){let _=0;for(let C=r-l-(o-a-2);C>t;C--)_+=mn.combins(r-l-C-1,o-a-3);d-=_*(o-1-a)}else r-l>t&&d--;s+=d}r-=l}return s}static combins(e,t){let n,r;e-t>t?(r=t,n=e-t):(r=e-t,n=t);let s=1,i=1;for(let o=e;o>n;o--)s*=o,i<=r&&(s/=i,i++);for(;i<=r;)s/=i,i++;return s}}class Si{static buildBitArray(e){let t=e.length*2-1;e[e.length-1].getRightChar()==null&&(t-=1);let n=12*t,r=new J(n),s=0,o=e[0].getRightChar().getValue();for(let a=11;a>=0;--a)(o&1<<a)!=0&&r.set(s),s++;for(let a=1;a<e.length;++a){let l=e[a],d=l.getLeftChar().getValue();for(let _=11;_>=0;--_)(d&1<<_)!=0&&r.set(s),s++;if(l.getRightChar()!=null){let _=l.getRightChar().getValue();for(let C=11;C>=0;--C)(_&1<<C)!=0&&r.set(s),s++}}return r}}class Vn{constructor(e,t){t?this.decodedInformation=null:(this.finished=e,this.decodedInformation=t)}getDecodedInformation(){return this.decodedInformation}isFinished(){return this.finished}}class Xr{constructor(e){this.newPosition=e}getNewPosition(){return this.newPosition}}class Zt extends Xr{constructor(e,t){super(e),this.value=t}getValue(){return this.value}isFNC1(){return this.value===Zt.FNC1}}Zt.FNC1="$";class Gn extends Xr{constructor(e,t,n){super(e),n?(this.remaining=!0,this.remainingValue=this.remainingValue):(this.remaining=!1,this.remainingValue=0),this.newString=t}getNewString(){return this.newString}isRemaining(){return this.remaining}getRemainingValue(){return this.remainingValue}}class on extends Xr{constructor(e,t,n){if(super(e),t<0||t>10||n<0||n>10)throw new G;this.firstDigit=t,this.secondDigit=n}getFirstDigit(){return this.firstDigit}getSecondDigit(){return this.secondDigit}getValue(){return this.firstDigit*10+this.secondDigit}isFirstDigitFNC1(){return this.firstDigit===on.FNC1}isSecondDigitFNC1(){return this.secondDigit===on.FNC1}isAnyFNC1(){return this.firstDigit===on.FNC1||this.secondDigit===on.FNC1}}on.FNC1=10;class ye{constructor(){}static parseFieldsInGeneralPurpose(e){if(!e)return null;if(e.length<2)throw new B;let t=e.substring(0,2);for(let s of ye.TWO_DIGIT_DATA_LENGTH)if(s[0]===t)return s[1]===ye.VARIABLE_LENGTH?ye.processVariableAI(2,s[2],e):ye.process
6FixedAI(2,s[1],e);if(e.length<3)throw new B;let n=e.substring(0,3);for(let s of ye.THREE_DIGIT_DATA_LENGTH)if(s[0]===n)return s[1]===ye.VARIABLE_LENGTH?ye.processVariableAI(3,s[2],e):ye.processFixedAI(3,s[1],e);for(let s of ye.THREE_DIGIT_PLUS_DIGIT_DATA_LENGTH)if(s[0]===n)return s[1]===ye.VARIABLE_LENGTH?ye.processVariableAI(4,s[2],e):ye.processFixedAI(4,s[1],e);if(e.length<4)throw new B;let r=e.substring(0,4);for(let s of ye.FOUR_DIGIT_DATA_LENGTH)if(s[0]===r)return s[1]===ye.VARIABLE_LENGTH?ye.processVariableAI(4,s[2],e):ye.processFixedAI(4,s[1],e);throw new B}static processFixedAI(e,t,n){if(n.length<e)throw new B;let r=n.substring(0,e);if(n.length<e+t)throw new B;let s=n.substring(e,e+t),i=n.substring(e+t),o="("+r+")"+s,a=ye.parseFieldsInGeneralPurpose(i);return a==null?o:o+a}static processVariableAI(e,t,n){let r=n.substring(0,e),s;n.length<e+t?s=n.length:s=e+t;let i=n.substring(e,s),o=n.substring(s),a="("+r+")"+i,l=ye.parseFieldsInGeneralPurpose(o);return l==null?a:a+l}}ye.VARIABLE_LENGTH=[],ye.TWO_DIGIT_DATA_LENGTH=[["00",18],["01",14],["02",14],["10",ye.VARIABLE_LENGTH,20],["11",6],["12",6],["13",6],["15",6],["17",6],["20",2],["21",ye.VARIABLE_LENGTH,20],["22",ye.VARIABLE_LENGTH,29],["30",ye.VARIABLE_LENGTH,8],["37",ye.VARIABLE_LENGTH,8],["90",ye.VARIABLE_LENGTH,30],["91",ye.VARIABLE_LENGTH,30],["92",ye.VARIABLE_LENGTH,30],["93",ye.VARIABLE_LENGTH,30],["94",ye.VARIABLE_LENGTH,30],["95",ye.VARIABLE_LENGTH,30],["96",ye.VARIABLE_LENGTH,30],["97",ye.VARIABLE_LENGTH,3],["98",ye.VARIABLE_LENGTH,30],["99",ye.VARIABLE_LENGTH,30]],ye.THREE_DIGIT_DATA_LENGTH=[["240",ye.VARIABLE_LENGTH,30],["241",ye.VARIABLE_LENGTH,30],["242",ye.VARIABLE_LENGTH,6],["250",ye.VARIABLE_LENGTH,30],["251",ye.VARIABLE_LENGTH,30],["253",ye.VARIABLE_LENGTH,17],["254",ye.VARIABLE_LENGTH,20],["400",ye.VARIABLE_LENGTH,30],["401",ye.VARIABLE_LENGTH,30],["402",17],["403",ye.VARIABLE_LENGTH,30],["410",13],["411",13],["412",13],["413",13],["414",13],["420",ye.VARIABLE_LENGTH,20],["421",ye.VARIABLE_LENGTH,15],["422",3],["423",ye.VARIABLE_LENGTH,15],["424",3],["425",3],["426",3]],ye.THREE_DIGIT_PLUS_DIGIT_DATA_LENGTH=[["310",6],["311",6],["312",6],["313",6],["314",6],["315",6],["316",6],["320",6],["321",6],["322",6],["323",6],["324",6],["325",6],["326",6],["327",6],["328",6],["329",6],["330",6],["331",6],["332",6],["333",6],["334",6],["335",6],["336",6],["340",6],["341",6],["342",6],["343",6],["344",6],["345",6],["346",6],["347",6],["348",6],["349",6],["350",6],["351",6],["352",6],["353",6],["354",6],["355",6],["356",6],["357",6],["360",6],["361",6],["362",6],["363",6],["364",6],["365",6],["366",6],["367",6],["368",6],["369",6],["390",ye.VARIABLE_LENGTH,15],["391",ye.VARIABLE_LENGTH,18],["392",ye.VARIABLE_LENGTH,15],["393",ye.VARIABLE_LENGTH,18],["703",ye.VARIABLE_LENGTH,30]],ye.FOUR_DIGIT_DATA_LENGTH=[["7001",13],["7002",ye.VARIABLE_LENGTH,30],["7003",10],["8001",14],["8002",ye.VARIABLE_LENGTH,20],["8003",ye.VARIABLE_LENGTH,30],["8004",ye.VARIABLE_LENGTH,30],["8005",6],["8006",18],["8007",ye.VARIABLE_LENGTH,30],["8008",ye.VARIABLE_LENGTH,12],["8018",18],["8020",ye.VARIABLE_LENGTH,25],["8100",6],["8101",10],["8102",2],["8110",ye.VARIABLE_LENGTH,70],["8200",ye.VARIABLE_LENGTH,70]];class Zn{constructor(e){this.buffer=new be,this.information=e}decodeAllCodes(e,t){let n=t,r=null;do{let s=this.decodeGeneralPurposeField(n,r),i=ye.parseFieldsInGeneralPurpose(s.getNewString());if(i!=null&&e.append(i),s.isRemaining()?r=""+s.getRemainingValue():r=null,n===s.getNewPosition())break;n=s.getNewPosition()}while(!0);return e.toString()}isStillNumeric(e){if(e+7>this.information.getSize())return e+4<=this.information.getSize();for(let t=e;t<e+3;++t)if(this.information.get(t))return!0;return this.information.get(e+3)}decodeNumeric(e){if(e+7>this.information.getSize()){let s=this.extractNumericValueFromBitArray(e,4);return s===0?new on(this.information.getSize(),on.FNC1,on.FNC1):new on(this.information.getSize(),s-1,on.FNC1)}let t=this.extractNumericValueFromBitArray(e,7),n=(t-8)/11,r=(t-8)%11;return new on(e+7,n,r)}extractNumericValueFromBitArray(e,t){return Zn.extractNumericValueFromBitArray(this.information,e,t)}static extractNumericValueFromBitArray(e,t,n){let r=0;for(let s=0;s<n;++s)e.get(t+s)&&(r|=1<<n-s-1);return r}decodeGeneralPurposeField(e,t){this.buffer.setLengthToZero(),t!=null&&this.buffer.append(t),this.current.setPosition(e);let n=this.parseBlocks();return n!=null&&n.isRemaining()?new Gn(this.current.getPosition(),this.buffer.toString(),n.getRemainingValue()):new Gn(this.current.getPosition(),this.buffer.toString())}parseBlocks(){let e,t;do{let n=this.current.getPosition();
6if(this.current.isAlpha()?(t=this.parseAlphaBlock(),e=t.isFinished()):this.current.isIsoIec646()?(t=this.parseIsoIec646Block(),e=t.isFinished()):(t=this.parseNumericBlock(),e=t.isFinished()),!(n!==this.current.getPosition())&&!e)break}while(!e);return t.getDecodedInformation()}parseNumericBlock(){for(;this.isStillNumeric(this.current.getPosition());){let e=this.decodeNumeric(this.current.getPosition());if(this.current.setPosition(e.getNewPosition()),e.isFirstDigitFNC1()){let t;return e.isSecondDigitFNC1()?t=new Gn(this.current.getPosition(),this.buffer.toString()):t=new Gn(this.current.getPosition(),this.buffer.toString(),e.getSecondDigit()),new Vn(!0,t)}if(this.buffer.append(e.getFirstDigit()),e.isSecondDigitFNC1()){let t=new Gn(this.current.getPosition(),this.buffer.toString());return new Vn(!0,t)}this.buffer.append(e.getSecondDigit())}return this.isNumericToAlphaNumericLatch(this.current.getPosition())&&(this.current.setAlpha(),this.current.incrementPosition(4)),new Vn(!1)}parseIsoIec646Block(){for(;this.isStillIsoIec646(this.current.getPosition());){let e=this.decodeIsoIec646(this.current.getPosition());if(this.current.setPosition(e.getNewPosition()),e.isFNC1()){let t=new Gn(this.current.getPosition(),this.buffer.toString());return new Vn(!0,t)}this.buffer.append(e.getValue())}return this.isAlphaOr646ToNumericLatch(this.current.getPosition())?(this.current.incrementPosition(3),this.current.setNumeric()):this.isAlphaTo646ToAlphaLatch(this.current.getPosition())&&(this.current.getPosition()+5<this.information.getSize()?this.current.incrementPosition(5):this.current.setPosition(this.information.getSize()),this.current.setAlpha()),new Vn(!1)}parseAlphaBlock(){for(;this.isStillAlpha(this.current.getPosition());){let e=this.decodeAlphanumeric(this.current.getPosition());if(this.current.setPosition(e.getNewPosition()),e.isFNC1()){let t=new Gn(this.current.getPosition(),this.buffer.toString());return new Vn(!0,t)}this.buffer.append(e.getValue())}return this.isAlphaOr646ToNumericLatch(this.current.getPosition())?(this.current.incrementPosition(3),this.current.setNumeric()):this.isAlphaTo646ToAlphaLatch(this.current.getPosition())&&(this.current.getPosition()+5<this.information.getSize()?this.current.incrementPosition(5):this.current.setPosition(this.information.getSize()),this.current.setIsoIec646()),new Vn(!1)}isStillIsoIec646(e){if(e+5>this.information.getSize())return!1;let t=this.extractNumericValueFromBitArray(e,5);if(t>=5&&t<16)return!0;if(e+7>this.information.getSize())return!1;let n=this.extractNumericValueFromBitArray(e,7);if(n>=64&&n<116)return!0;if(e+8>this.information.getSize())return!1;let r=this.extractNumericValueFromBitArray(e,8);return r>=232&&r<253}decodeIsoIec646(e){let t=this.extractNumericValueFromBitArray(e,5);if(t===15)return new Zt(e+5,Zt.FNC1);if(t>=5&&t<15)return new Zt(e+5,"0"+(t-5));let n=this.extractNumericValueFromBitArray(e,7);if(n>=64&&n<90)return new Zt(e+7,""+(n+1));if(n>=90&&n<116)return new Zt(e+7,""+(n+7));let r=this.extractNumericValueFromBitArray(e,8),s;switch(r){case 232:s="!";break;case 233:s='"';break;case 234:s="%";break;case 235:s="&";break;case 236:s="'";break;case 237:s="(";break;case 238:s=")";break;case 239:s="*";break;case 240:s="+";break;case 241:s=",";break;case 242:s="-";break;case 243:s=".";break;case 244:s="/";break;case 245:s=":";break;case 246:s=";";break;case 247:s="<";break;case 248:s="=";break;case 249:s=">";break;case 250:s="?";break;case 251:s="_";break;case 252:s=" ";break;default:throw new G}return new Zt(e+8,s)}isStillAlpha(e){if(e+5>this.information.getSize())return!1;let t=this.extractNumericValueFromBitArray(e,5);if(t>=5&&t<16)return!0;if(e+6>this.information.getSize())return!1;let n=this.extractNumericValueFromBitArray(e,6);return n>=16&&n<63}decodeAlphanumeric(e){let t=this.extractNumericValueFromBitArray(e,5);if(t===15)return new Zt(e+5,Zt.FNC1);if(t>=5&&t<15)return new Zt(e+5,"0"+(t-5));let n=this.extractNumericValueFromBitArray(e,6);if(n>=32&&n<58)return new Zt(e+6,""+(n+33));let r;switch(n){case 58:r="*";break;case 59:r=",";break;case 60:r="-";break;case 61:r=".";break;case 62:r="/";break;default:throw new Tt("Decoding invalid alphanumeric value: "+n)}return new Zt(e+6,r)}isAlphaTo646ToAlphaLatch(e){if(e+1>this.information.getSize())return!1;for(let t=0;t<5&&t+e<this.information.getSize();++t)if(t===2){if(!this.information.get(e+2))return!1}else if(this.information.get(e+t))return!1;return!0}isAlphaOr646ToNumericLatch(e){if(e+3>this.information.getSize())return!1;for(let t=e;t<e+3;++t)if(this.information.get(t))return!1;return!0}isNumericToAlphaNumericLatch(e){if(e+1>this.information.getSize())return!1;for(let t=0;t<4&&t+e<this.information.getSize();++t)if(this.information.get(e+t))return!1;return!0}}class $r{constructor(e){this.information=e,this.generalDecoder=new Zn(e)}getInformation(){return this.information}getGeneralDecoder(){return this.generalDecoder}}class qt extends $r{constructor(e){super(e)}encodeCompressedGtin(e,t){e.append("(01)");let n=e.length();e.append("9"),this.encodeCompressedGtinWithoutAI(e,t,n)}encodeCompressedGtinWithoutAI(e,t,n){for(let r=0;r<4;++r){let s=this.getGeneralDecoder().extractNumericValueFromBitArray(t
6+10*r,10);s/100===0&&e.append("0"),s/10===0&&e.append("0"),e.append(s)}qt.appendCheckDigit(e,n)}static appendCheckDigit(e,t){let n=0;for(let r=0;r<13;r++){let s=e.charAt(r+t).charCodeAt(0)-48;n+=(r&1)===0?3*s:s}n=10-n%10,n===10&&(n=0),e.append(n)}}qt.GTIN_SIZE=40;class qn extends qt{constructor(e){super(e)}parseInformation(){let e=new be;e.append("(01)");let t=e.length(),n=this.getGeneralDecoder().extractNumericValueFromBitArray(qn.HEADER_SIZE,4);return e.append(n),this.encodeCompressedGtinWithoutAI(e,qn.HEADER_SIZE+4,t),this.getGeneralDecoder().decodeAllCodes(e,qn.HEADER_SIZE+44)}}qn.HEADER_SIZE=4;class br extends $r{constructor(e){super(e)}parseInformation(){let e=new be;return this.getGeneralDecoder().decodeAllCodes(e,br.HEADER_SIZE)}}br.HEADER_SIZE=5;class Ir extends qt{constructor(e){super(e)}encodeCompressedWeight(e,t,n){let r=this.getGeneralDecoder().extractNumericValueFromBitArray(t,n);this.addWeightCode(e,r);let s=this.checkWeight(r),i=1e5;for(let o=0;o<5;++o)s/i===0&&e.append("0"),i/=10;e.append(s)}}class pn extends Ir{constructor(e){super(e)}parseInformation(){if(this.getInformation().getSize()!=pn.HEADER_SIZE+Ir.GTIN_SIZE+pn.WEIGHT_SIZE)throw new B;let e=new be;return this.encodeCompressedGtin(e,pn.HEADER_SIZE),this.encodeCompressedWeight(e,pn.HEADER_SIZE+Ir.GTIN_SIZE,pn.WEIGHT_SIZE),e.toString()}}pn.HEADER_SIZE=5,pn.WEIGHT_SIZE=15;class Ti extends pn{constructor(e){super(e)}addWeightCode(e,t){e.append("(3103)")}checkWeight(e){return e}}class Ni extends pn{constructor(e){super(e)}addWeightCode(e,t){t<1e4?e.append("(3202)"):e.append("(3203)")}checkWeight(e){return e<1e4?e:e-1e4}}class wn extends qt{constructor(e){super(e)}parseInformation(){if(this.getInformation().getSize()<wn.HEADER_SIZE+qt.GTIN_SIZE)throw new B;let e=new be;this.encodeCompressedGtin(e,wn.HEADER_SIZE);let t=this.getGeneralDecoder().extractNumericValueFromBitArray(wn.HEADER_SIZE+qt.GTIN_SIZE,wn.LAST_DIGIT_SIZE);e.append("(392"),e.append(t),e.append(")");let n=this.getGeneralDecoder().decodeGeneralPurposeField(wn.HEADER_SIZE+qt.GTIN_SIZE+wn.LAST_DIGIT_SIZE,null);return e.append(n.getNewString()),e.toString()}}wn.HEADER_SIZE=8,wn.LAST_DIGIT_SIZE=2;class zt extends qt{constructor(e){super(e)}parseInformation(){if(this.getInformation().getSize()<zt.HEADER_SIZE+qt.GTIN_SIZE)throw new B;let e=new be;this.encodeCompressedGtin(e,zt.HEADER_SIZE);let t=this.getGeneralDecoder().extractNumericValueFromBitArray(zt.HEADER_SIZE+qt.GTIN_SIZE,zt.LAST_DIGIT_SIZE);e.append("(393"),e.append(t),e.append(")");let n=this.getGeneralDecoder().extractNumericValueFromBitArray(zt.HEADER_SIZE+qt.GTIN_SIZE+zt.LAST_DIGIT_SIZE,zt.FIRST_THREE_DIGITS_SIZE);n/100==0&&e.append("0"),n/10==0&&e.append("0"),e.append(n);let r=this.getGeneralDecoder().decodeGeneralPurposeField(zt.HEADER_SIZE+qt.GTIN_SIZE+zt.LAST_DIGIT_SIZE+zt.FIRST_THREE_DIGITS_SIZE,null);return e.append(r.getNewString()),e.toString()}}zt.HEADER_SIZE=8,zt.LAST_DIGIT_SIZE=2,zt.FIRST_THREE_DIGITS_SIZE=10;class _t extends Ir{constructor(e,t,n){super(e),this.dateCode=n,this.firstAIdigits=t}parseInformation(){if(this.getInformation().getSize()!=_t.HEADER_SIZE+_t.GTIN_SIZE+_t.WEIGHT_SIZE+_t.DATE_SIZE)throw new B;let e=new be;return this.encodeCompressedGtin(e,_t.HEADER_SIZE),this.encodeCompressedWeight(e,_t.HEADER_SIZE+_t.GTIN_SIZE,_t.WEIGHT_SIZE),this.encodeCompressedDate(e,_t.HEADER_SIZE+_t.GTIN_SIZE+_t.WEIGHT_SIZE),e.toString()}encodeCompressedDate(e,t){let n=this.getGeneralDecoder().extractNumericValueFromBitArray(t,_t.DATE_SIZE);if(n==38400)return;e.append("("),e.append(this.dateCode),e.append(")");let r=n%32;n/=32;let s=n%12+1;n/=12;let i=n;i/10==0&&e.append("0"),e.append(i),s/10==0&&e.append("0"),e.append(s),r/10==0&&e.append("0"),e.append(r)}addWeightCode(e,t){e.append("("),e.append(this.firstAIdigits),e.append(t/1e5),e.append(")")}checkWeight(e){return e%1e5}}_t.HEADER_SIZE=8,_t.WEIGHT_SIZE=20,_t.DATE_SIZE=16;function Ss(x){try{if(x.get(1))return new qn(x);if(!x.get(2))return new br(x);switch(Zn.extractNumericValueFromBitArray(x,1,4)){case 4:return new Ti(x);case 5:return new Ni(x)}switch(Zn.extractNumericValueFromBitArray(x,1,5)){case 12:return new wn(x);case 13:return new zt(x)}switch(Zn.extractNumericValueFromBitArray(x,1,7)){case 56:return new _t(x,"310","11");case 57:return new _t(x,"320","11");case 58:return new _t(x,"310","13");case 59:return new _t(x,"320","13");case 60:return new _t(x,"310","15");case 61:return new _t(x,"320","15");case 62:return new _t(x,"310","17");case 63:return new _t(x,"320","17")}
6}catch(e){throw console.log(e),new Tt("unknown decoder: "+x)}}class On{constructor(e,t,n,r){this.leftchar=e,this.rightchar=t,this.finderpattern=n,this.maybeLast=r}mayBeLast(){return this.maybeLast}getLeftChar(){return this.leftchar}getRightChar(){return this.rightchar}getFinderPattern(){return this.finderpattern}mustBeLast(){return this.rightchar==null}toString(){return"[ "+this.leftchar+", "+this.rightchar+" : "+(this.finderpattern==null?"null":this.finderpattern.getValue())+" ]"}static equals(e,t){return e instanceof On?On.equalsOrNull(e.leftchar,t.leftchar)&&On.equalsOrNull(e.rightchar,t.rightchar)&&On.equalsOrNull(e.finderpattern,t.finderpattern):!1}static equalsOrNull(e,t){return e===null?t===null:On.equals(e,t)}hashCode(){return this.leftchar.getValue()^this.rightchar.getValue()^this.finderpattern.getValue()}}class zr{constructor(e,t,n){this.pairs=e,this.rowNumber=t,this.wasReversed=n}getPairs(){return this.pairs}getRowNumber(){return this.rowNumber}isReversed(){return this.wasReversed}isEquivalent(e){return this.checkEqualitity(this,e)}toString(){return"{ "+this.pairs+" }"}equals(e,t){return e instanceof zr?this.checkEqualitity(e,t)&&e.wasReversed===t.wasReversed:!1}checkEqualitity(e,t){if(!e||!t)return;let n;return e.forEach((r,s)=>{t.forEach(i=>{r.getLeftChar().getValue()===i.getLeftChar().getValue()&&r.getRightChar().getValue()===i.getRightChar().getValue()&&r.getFinderPatter().getValue()===i.getFinderPatter().getValue()&&(n=!0)})}),n}}class re extends Gt{constructor(e){super(...arguments),this.pairs=new Array(re.MAX_PAIRS),this.rows=new Array,this.startEnd=[2],this.verbose=e===!0}decodeRow(e,t,n){this.pairs.length=0,this.startFromEven=!1;try{return re.constructResult(this.decodeRow2pairs(e,t))}catch(r){this.verbose&&console.log(r)}return this.pairs.length=0,this.startFromEven=!0,re.constructResult(this.decodeRow2pairs(e,t))}reset(){this.pairs.length=0,this.rows.length=0}decodeRow2pairs(e,t){let n=!1;for(;!n;)try{this.pairs.push(this.retrieveNextPair(t,this.pairs,e))}catch(s){if(s instanceof B){if(!this.pairs.length)throw new B;n=!0}}if(this.checkChecksum())return this.pairs;let r;if(this.rows.length?r=!0:r=!1,this.storeRow(e,!1),r){let s=this.checkRowsBoolean(!1);if(s!=null||(s=this.checkRowsBoolean(!0),s!=null))return s}throw new B}checkRowsBoolean(e){if(this.rows.length>25)return this.rows.length=0,null;this.pairs.length=0,e&&(this.rows=this.rows.reverse());let t=null;try{t=this.checkRows(new Array,0)}catch(n){this.verbose&&console.log(n)}return e&&(this.rows=this.rows.reverse()),t}checkRows(e,t){for(let n=t;n<this.rows.length;n++){let r=this.rows[n];this.pairs.length=0;for(let i of e)this.pairs.push(i.getPairs());if(this.pairs.push(r.getPairs()),!re.isValidSequence(this.pairs))continue;if(this.checkChecksum())return this.pairs;let s=new Array(e);s.push(r);try{return this.checkRows(s,n+1)}catch(i){this.verbose&&console.log(i)}}throw new B}static isValidSequence(e){for(let t of re.FINDER_PATTERN_SEQUENCES){if(e.length>t.length)continue;let n=!0;for(let r=0;r<e.length;r++)if(e[r].getFinderPattern().getValue()!=t[r]){n=!1;break}if(n)return!0}return!1}storeRow(e,t){let n=0,r=!1,s=!1;for(;n<this.rows.length;){let i=this.rows[n];if(i.getRowNumber()>e){s=i.isEquivalent(this.pairs);break}r=i.isEquivalent(this.pairs),n++}s||r||re.isPartialRow(this.pairs,this.rows)||(this.rows.push(n,new zr(this.pairs,e,t)),this.removePartialRows(this.pairs,this.rows))}removePartialRows(e,t){for(let n of t)if(n.getPairs().length!==e.length){for(let r of n.getPairs())for(let s of e)if(On.equals(r,s))break}}static isPartialRow(e,t){for(let n of t){let r=!0;for(let s of e){let i=!1;for(let o of n.getPairs())if(s.equals(o)){i=!0;break}if(!i){r=!1;break}}if(r)return!0}return!1}getRows(){return this.rows}static constructResult(e){let t=Si.buildBitArray(e),r=Ss(t).parseInformation(),s=e[0].getFinderPattern().getResultPoints(),i=e[e.length-1].getFinderPattern().getResultPoints(),o=[s[0],s[1],i[0],i[1]];return new K(r,null,null,o,_e.RSS_EXPANDED,null)}checkChecksum(){let e=this.pairs.get(0),t=e.getLeftChar(),n=e.getRightChar();if(n==null)return!1;let r=n.getChecksumPortion(),s=2;
6for(let o=1;o<this.pairs.size();++o){let a=this.pairs.get(o);r+=a.getLeftChar().getChecksumPortion(),s++;let l=a.getRightChar();l!=null&&(r+=l.getChecksumPortion(),s++)}return r%=211,211*(s-4)+r==t.getValue()}static getNextSecondBar(e,t){let n;return e.get(t)?(n=e.getNextUnset(t),n=e.getNextSet(n)):(n=e.getNextSet(t),n=e.getNextUnset(n)),n}retrieveNextPair(e,t,n){let r=t.length%2==0;this.startFromEven&&(r=!r);let s,i=!0,o=-1;do this.findNextPair(e,t,o),s=this.parseFoundFinderPattern(e,n,r),s==null?o=re.getNextSecondBar(e,this.startEnd[0]):i=!1;while(i);let a=this.decodeDataCharacter(e,s,r,!0);if(!this.isEmptyPair(t)&&t[t.length-1].mustBeLast())throw new B;let l;try{l=this.decodeDataCharacter(e,s,r,!1)}catch(d){l=null,this.verbose&&console.log(d)}return new On(a,l,s,!0)}isEmptyPair(e){return e.length===0}findNextPair(e,t,n){let r=this.getDecodeFinderCounters();r[0]=0,r[1]=0,r[2]=0,r[3]=0;let s=e.getSize(),i;n>=0?i=n:this.isEmptyPair(t)?i=0:i=t[t.length-1].getFinderPattern().getStartEnd()[1];let o=t.length%2!=0;this.startFromEven&&(o=!o);let a=!1;for(;i<s&&(a=!e.get(i),!!a);)i++;let l=0,d=i;for(let _=i;_<s;_++)if(e.get(_)!=a)r[l]++;else{if(l==3){if(o&&re.reverseCounters(r),re.isFinderPattern(r)){this.startEnd[0]=d,this.startEnd[1]=_;return}o&&re.reverseCounters(r),d+=r[0]+r[1],r[0]=r[2],r[1]=r[3],r[2]=0,r[3]=0,l--}else l++;r[l]=1,a=!a}throw new B}static reverseCounters(e){let t=e.length;for(let n=0;n<t/2;++n){let r=e[n];e[n]=e[t-n-1],e[t-n-1]=r}}parseFoundFinderPattern(e,t,n){let r,s,i;if(n){let l=this.startEnd[0]-1;for(;l>=0&&!e.get(l);)l--;l++,r=this.startEnd[0]-l,s=l,i=this.startEnd[1]}else s=this.startEnd[0],i=e.getNextUnset(this.startEnd[1]+1),r=i-this.startEnd[1];let o=this.getDecodeFinderCounters();P.arraycopy(o,0,o,1,o.length-1),o[0]=r;let a;try{a=this.parseFinderValue(o,re.FINDER_PATTERNS)}catch{return null}return new vr(a,[s,i],s,i,t)}decodeDataCharacter(e,t,n,r){let s=this.getDataCharacterCounters();for(let lt=0;lt<s.length;lt++)s[lt]=0;if(r)re.recordPatternInReverse(e,t.getStartEnd()[0],s);else{re.recordPattern(e,t.getStartEnd()[1],s);for(let lt=0,Ut=s.length-1;lt<Ut;lt++,Ut--){let tn=s[lt];s[lt]=s[Ut],s[Ut]=tn}}let i=17,o=fe.sum(new Int32Array(s))/i,a=(t.getStartEnd()[1]-t.getStartEnd()[0])/15;if(Math.abs(o-a)/a>.3)throw new B;let l=this.getOddCounts(),d=this.getEvenCounts(),_=this.getOddRoundingErrors(),C=this.getEvenRoundingErrors();for(let lt=0;lt<s.length;lt++){let Ut=1*s[lt]/o,tn=Ut+.5;if(tn<1){if(Ut<.3)throw new B;tn=1}else if(tn>8){if(Ut>8.7)throw new B;tn=8}let er=lt/2;
6(lt&1)==0?(l[er]=tn,_[er]=Ut-tn):(d[er]=tn,C[er]=Ut-tn)}this.adjustOddEvenCounts(i);let S=4*t.getValue()+(n?0:2)+(r?0:1)-1,R=0,M=0;for(let lt=l.length-1;lt>=0;lt--){if(re.isNotA1left(t,n,r)){let Ut=re.WEIGHTS[S][2*lt];M+=l[lt]*Ut}R+=l[lt]}let L=0;for(let lt=d.length-1;lt>=0;lt--)if(re.isNotA1left(t,n,r)){let Ut=re.WEIGHTS[S][2*lt+1];L+=d[lt]*Ut}let X=M+L;if((R&1)!=0||R>13||R<4)throw new B;let ue=(13-R)/2,he=re.SYMBOL_WIDEST[ue],le=9-he,Ye=mn.getRSSvalue(l,he,!0),Xe=mn.getRSSvalue(d,le,!1),Kt=re.EVEN_TOTAL_SUBSET[ue],hn=re.GSUM[ue],Qt=Ye*Kt+Xe+hn;return new Yn(Qt,X)}static isNotA1left(e,t,n){return!(e.getValue()==0&&t&&n)}adjustOddEvenCounts(e){let t=fe.sum(new Int32Array(this.getOddCounts())),n=fe.sum(new Int32Array(this.getEvenCounts())),r=!1,s=!1;t>13?s=!0:t<4&&(r=!0);let i=!1,o=!1;n>13?o=!0:n<4&&(i=!0);let a=t+n-e,l=(t&1)==1,d=(n&1)==0;if(a==1)if(l){if(d)throw new B;s=!0}else{if(!d)throw new B;o=!0}else if(a==-1)if(l){if(d)throw new B;r=!0}else{if(!d)throw new B;i=!0}else if(a==0){if(l){if(!d)throw new B;t<n?(r=!0,o=!0):(s=!0,i=!0)}else if(d)throw new B}else throw new B;if(r){if(s)throw new B;re.increment(this.getOddCounts(),this.getOddRoundingErrors())}if(s&&re.decrement(this.getOddCounts(),this.getOddRoundingErrors()),i){if(o)throw new B;re.increment(this.getEvenCounts(),this.getOddRoundingErrors())}o&&re.decrement(this.getEvenCounts(),this.getEvenRoundingErrors())}}re.SYMBOL_WIDEST=[7,5,4,3,1],re.EVEN_TOTAL_SUBSET=[4,20,52,104,204],re.GSUM=[0,348,1388,2948,3988],re.FINDER_PATTERNS=[Int32Array.from([1,8,4,1]),Int32Array.from([3,6,4,1]),Int32Array.from([3,4,6,1]),Int32Array.from([3,2,8,1]),Int32Array.from([2,6,5,1]),Int32Array.from([2,2,9,1])],re.WEIGHTS=[[1,3,9,27,81,32,96,77],[20,60,180,118,143,7,21,63],[189,145,13,39,117,140,209,205],[193,157,49,147,19,57,171,91],[62,186,136,197,169,85,44,132],[185,133,188,142,4,12,36,108],[113,128,173,97,80,29,87,50],[150,28,84,41,123,158,52,156],[46,138,203,187,139,206,196,166],[76,17,51,153,37,111,122,155],[43,129,176,106,107,110,119,146],[16,48,144,10,30,90,59,177],[109,116,137,200,178,112,125,164],[70,210,208,202,184,130,179,115],[134,191,151,31,93,68,204,190],[148,22,66,198,172,94,71,2],[6,18,54,162,64,192,154,40],[120,149,25,75,14,42,126,167],[79,26,78,23,69,207,199,175],[103,98,83,38,114,131,182,124],[161,61,183,127,170,88,53,159],[55,165,73,8,24,72,5,15],[45,135,194,160,58,174,100,89]],re.FINDER_PAT_A=0,re.FINDER_PAT_B=1,re.FINDER_PAT_C=2,re.FINDER_PAT_D=3,re.FINDER_PAT_E=4,re.FINDER_PAT_F=5,re.FINDER_PATTERN_SEQUENCES=[[re.FINDER_PAT_A,re.FINDER_PAT_A],[re.FINDER_PAT_A,re.FINDER_PAT_B,re.FINDER_PAT_B],[re.FINDER_PAT_A,re.FINDER_PAT_C,re.FINDER_PAT_B,re.FINDER_PAT_D],[re.FINDER_PAT_A,re.FINDER_PAT_E,re.FINDER_PAT_B,re.FINDER_PAT_D,re.FINDER_PAT_C],[re.FINDER_PAT_A,re.FINDER_PAT_E,re.FINDER_PAT_B,re.FINDER_PAT_D,re.FINDER_PAT_D,re.FINDER_PAT_F],[re.FINDER_PAT_A,re.FINDER_PAT_E,re.FINDER_PAT_B,re.FINDER_PAT_D,re.FINDER_PAT_E,re.FINDER_PAT_F,re.FINDER_PAT_F],[re.FINDER_PAT_A,re.FINDER_PAT_A,re.FINDER_PAT_B,re.FINDER_PAT_B,re.FINDER_PAT_C,re.FINDER_PAT_C,re.FINDER_PAT_D,re.FINDER_PAT_D],[re.FINDER_PAT_A,re.FINDER_PAT_A,re.FINDER_PAT_B,re.FINDER_PAT_B,re.FINDER_PAT_C,re.FINDER_PAT_C,re.FINDER_PAT_D,re.FINDER_PAT_E,re.FINDER_PAT_E],[re.FINDER_PAT_A,re.FINDER_PAT_A,re.FINDER_PAT_B,re.FINDER_PAT_B,re.FINDER_PAT_C,re.FINDER_PAT_C,re.FINDER_PAT_D,re.FINDER_PAT_E,re.FINDER_PAT_F,re.FINDER_PAT_F],[re.FINDER_PAT_A,re.FINDER_PAT_A,re.FINDER_PAT_B,re.FINDER_PAT_B,re.FINDER_PAT_C,re.FINDER_PAT_D,re.FINDER_PAT_D,re.FINDER_PAT_E,re.FINDER_PAT_E,re.FINDER_PAT_F,re.FINDER_PAT_F]],re.MAX_PAIRS=11;class Oi extends Yn{constructor(e,t,n){super(e,t),this.count=0,this.finderPattern=n}getFinderPattern(){return this.finderPattern}getCount(){return this.count}incrementCount(){this.count++}}class Ct extends Gt{constructor(){super(...arguments),this.possibleLeftPairs=[],this.possibleRightPairs=[]}decodeRow(e,t,n){const r=this.decodePair(t,!1,e,n);Ct.addOrTally(this.possibleLeftPairs,r),t.reverse();let s=this.decodePair(t,!0,e,n);Ct.addOrTally(this.possibleRightPairs,s),t.reverse();for(let i of this.possibleLeftPairs)if(i.getCount()>1){for(let o of this.possibleRightPairs)if(o.getCount()>1&&Ct.checkChecksum(i,o))return Ct.constructResult(i,o)}throw new B}static addOrTally(e,t){if(t==null)return;let n=!1;for(let r of e)if(r.getValue()===t.getValue()){r.incrementCount(),n=!0;break}n||e.push(t)}reset(){this.possibleLeftPairs.length=0,this.possibleRightPairs.length=0}static constructResult(e,t){let n=4537077*e.getValue()+t.getValue(),r=new String(n).toString(),s=new be;for(let l=13-r.length;l>0;l--)s.append("0");s.append(r);let i=0;for(let l=0;l<13;
6l++){let d=s.charAt(l).charCodeAt(0)-48;i+=(l&1)===0?3*d:d}i=10-i%10,i===10&&(i=0),s.append(i.toString());let o=e.getFinderPattern().getResultPoints(),a=t.getFinderPattern().getResultPoints();return new K(s.toString(),null,0,[o[0],o[1],a[0],a[1]],_e.RSS_14,new Date().getTime())}static checkChecksum(e,t){let n=(e.getChecksumPortion()+16*t.getChecksumPortion())%79,r=9*e.getFinderPattern().getValue()+t.getFinderPattern().getValue();return r>72&&r--,r>8&&r--,n===r}decodePair(e,t,n,r){try{let s=this.findFinderPattern(e,t),i=this.parseFoundFinderPattern(e,n,t,s),o=r==null?null:r.get(z.NEED_RESULT_POINT_CALLBACK);if(o!=null){let d=(s[0]+s[1])/2;t&&(d=e.getSize()-1-d),o.foundPossibleResultPoint(new me(d,n))}let a=this.decodeDataCharacter(e,i,!0),l=this.decodeDataCharacter(e,i,!1);return new Oi(1597*a.getValue()+l.getValue(),a.getChecksumPortion()+4*l.getChecksumPortion(),i)}catch{return null}}decodeDataCharacter(e,t,n){let r=this.getDataCharacterCounters();for(let L=0;L<r.length;L++)r[L]=0;if(n)wt.recordPatternInReverse(e,t.getStartEnd()[0],r);else{wt.recordPattern(e,t.getStartEnd()[1]+1,r);for(let L=0,X=r.length-1;L<X;L++,X--){let ue=r[L];r[L]=r[X],r[X]=ue}}let s=n?16:15,i=fe.sum(new Int32Array(r))/s,o=this.getOddCounts(),a=this.getEvenCounts(),l=this.getOddRoundingErrors(),d=this.getEvenRoundingErrors();for(let L=0;L<r.length;L++){let X=r[L]/i,ue=Math.floor(X+.5);ue<1?ue=1:ue>8&&(ue=8);
6let he=Math.floor(L/2);(L&1)===0?(o[he]=ue,l[he]=X-ue):(a[he]=ue,d[he]=X-ue)}this.adjustOddEvenCounts(n,s);let _=0,C=0;for(let L=o.length-1;L>=0;L--)C*=9,C+=o[L],_+=o[L];let S=0,R=0;for(let L=a.length-1;L>=0;L--)S*=9,S+=a[L],R+=a[L];let M=C+3*S;if(n){if((_&1)!==0||_>12||_<4)throw new B;let L=(12-_)/2,X=Ct.OUTSIDE_ODD_WIDEST[L],ue=9-X,he=mn.getRSSvalue(o,X,!1),le=mn.getRSSvalue(a,ue,!0),Ye=Ct.OUTSIDE_EVEN_TOTAL_SUBSET[L],Xe=Ct.OUTSIDE_GSUM[L];return new Yn(he*Ye+le+Xe,M)}else{if((R&1)!==0||R>10||R<4)throw new B;let L=(10-R)/2,X=Ct.INSIDE_ODD_WIDEST[L],ue=9-X,he=mn.getRSSvalue(o,X,!0),le=mn.getRSSvalue(a,ue,!1),Ye=Ct.INSIDE_ODD_TOTAL_SUBSET[L],Xe=Ct.INSIDE_GSUM[L];return new Yn(le*Ye+he+Xe,M)}}findFinderPattern(e,t){let n=this.getDecodeFinderCounters();n[0]=0,n[1]=0,n[2]=0,n[3]=0;let r=e.getSize(),s=!1,i=0;for(;i<r&&(s=!e.get(i),t!==s);)i++;let o=0,a=i;for(let l=i;l<r;l++)if(e.get(l)!==s)n[o]++;else{if(o===3){if(Gt.isFinderPattern(n))return[a,l];a+=n[0]+n[1],n[0]=n[2],n[1]=n[3],n[2]=0,n[3]=0,o--}else o++;n[o]=1,s=!s}throw new B}parseFoundFinderPattern(e,t,n,r){let s=e.get(r[0]),i=r[0]-1;for(;i>=0&&s!==e.get(i);)i--;i++;const o=r[0]-i,a=this.getDecodeFinderCounters(),l=new Int32Array(a.length);P.arraycopy(a,0,l,1,a.length-1),l[0]=o;const d=this.parseFinderValue(l,Ct.FINDER_PATTERNS);let _=i,C=r[1];return n&&(_=e.getSize()-1-_,C=e.getSize()-1-C),new vr(d,[i,r[1]],_,C,t)}adjustOddEvenCounts(e,t){let n=fe.sum(new Int32Array(this.getOddCounts())),r=fe.sum(new Int32Array(this.getEvenCounts())),s=!1,i=!1,o=!1,a=!1;e?(n>12?i=!0:n<4&&(s=!0),r>12?a=!0:r<4&&(o=!0)):(n>11?i=!0:n<5&&(s=!0),r>10?a=!0:r<4&&(o=!0));let l=n+r-t,d=(n&1)===(e?1:0),_=(r&1)===1;if(l===1)if(d){if(_)throw new B;i=!0}else{if(!_)throw new B;a=!0}else if(l===-1)if(d){if(_)throw new B;s=!0}else{if(!_)throw new B;o=!0}else if(l===0){if(d){if(!_)throw new B;n<r?(s=!0,a=!0):(i=!0,o=!0)}else if(_)throw new B}else throw new B;if(s){if(i)throw new B;Gt.increment(this.getOddCounts(),this.getOddRoundingErrors())}if(i&&Gt.decrement(this.getOddCounts(),this.getOddRoundingErrors()),o){if(a)throw new B;Gt.increment(this.getEvenCounts(),this.getOddRoundingErrors())}a&&Gt.decrement(this.getEvenCounts(),this.getEvenRoundingErrors())}}Ct.OUTSIDE_EVEN_TOTAL_SUBSET=[1,10,34,70,126],Ct.INSIDE_ODD_TOTAL_SUBSET=[4,20,48,81],Ct.OUTSIDE_GSUM=[0,161,961,2015,2715],Ct.INSIDE_GSUM=[0,336,1036,1516],Ct.OUTSIDE_ODD_WIDEST=[8,6,4,3,1],Ct.INSIDE_ODD_WIDEST=[2,4,6,8],Ct.FINDER_PATTERNS=[Int32Array.from([3,8,2,1]),Int32Array.from([3,5,5,1]),Int32Array.from([3,3,7,1]),Int32Array.from([3,1,9,1]),Int32Array.from([2,7,4,1]),Int32Array.from([2,5,6,1]),Int32Array.from([2,3,8,1]),Int32Array.from([1,5,7,1]),Int32Array.from([1,3,9,1])];class jn extends wt{constructor(e,t){super(),this.readers=[],this.verbose=t===!0;const n=e?e.get(z.POSSIBLE_FORMATS):null,r=e&&e.get(z.ASSUME_CODE_39_CHECK_DIGIT)!==void 0;n?((n.includes(_e.EAN_13)||n.includes(_e.UPC_A)||n.includes(_e.EAN_8)||n.includes(_e.UPC_E))&&this.readers.push(new Wr(e)),n.includes(_e.CODE_39)&&this.readers.push(new De(r)),n.includes(_e.CODE_128)&&this.readers.push(new we),n.includes(_e.ITF)&&this.readers.push(new Re),n.includes(_e.RSS_14)&&this.readers.push(new Ct),n.includes(_e.RSS_EXPANDED)&&this.readers.push(new re(this.verbose))):(this.readers.push(new Wr(e)),this.readers.push(new De),this.readers.push(new Wr(e)),this.readers.push(new we),this.readers.push(new Re),this.readers.push(new Ct),this.readers.push(new re(this.verbose)))}decodeRow(e,t,n){for(let r=0;r<this.readers.length;r++)try{return this.readers[r].decodeRow(e,t,n)}catch{}throw new B}reset(){this.readers.forEach(e=>e.reset())}}class Ri extends Se{constructor(e=500,t){super(new jn(t),e,t)}}class tt{constructor(e,t,n){this.ecCodewords=e,this.ecBlocks=[t],n&&this.ecBlocks.push(n)}getECCodewords(){return this.ecCodewords}getECBlocks(){return this.ecBlocks}}class Je{constructor(e,t){this.count=e,this.dataCodewords=t}getCount(){return this.count}getDataCodewords(){return this.dataCodewords}}class Ze{constructor(e,t,n,r,s,i){this.versionNumber=e,this.symbolSizeRows=t,this.symbolSizeColumns=n,this.dataRegionSizeRows=r,this.dataRegionSizeColumns=s,this.ecBlocks=i;let o=0;const a=i.getECCodewords(),l=i.getECBlocks();for(let d of l)o+=d.getCount()*(d.getDataCodewords()+a);this.totalCodewords=o}getVersionNumber(){return this.versionNumber}getSymbolSizeRows(){return this.symbolSizeRows}getSymbolSizeColumns(){return this.symbolSizeColumns}getDataRegionSizeRows(){return this.dataRegionSizeRows}getDataRegionSizeColumns(){return this.dataRegionSizeColumns}getTotalCodewords(){return this.totalCodewords}getECBlocks(){return this.ecBlocks}
6static getVersionForDimensions(e,t){if((e&1)!==0||(t&1)!==0)throw new G;for(let n of Ze.VERSIONS)if(n.symbolSizeRows===e&&n.symbolSizeColumns===t)return n;throw new G}toString(){return""+this.versionNumber}static buildVersions(){return[new Ze(1,10,10,8,8,new tt(5,new Je(1,3))),new Ze(2,12,12,10,10,new tt(7,new Je(1,5))),new Ze(3,14,14,12,12,new tt(10,new Je(1,8))),new Ze(4,16,16,14,14,new tt(12,new Je(1,12))),new Ze(5,18,18,16,16,new tt(14,new Je(1,18))),new Ze(6,20,20,18,18,new tt(18,new Je(1,22))),new Ze(7,22,22,20,20,new tt(20,new Je(1,30))),new Ze(8,24,24,22,22,new tt(24,new Je(1,36))),new Ze(9,26,26,24,24,new tt(28,new Je(1,44))),new Ze(10,32,32,14,14,new tt(36,new Je(1,62))),new Ze(11,36,36,16,16,new tt(42,new Je(1,86))),new Ze(12,40,40,18,18,new tt(48,new Je(1,114))),new Ze(13,44,44,20,20,new tt(56,new Je(1,144))),new Ze(14,48,48,22,22,new tt(68,new Je(1,174))),new Ze(15,52,52,24,24,new tt(42,new Je(2,102))),new Ze(16,64,64,14,14,new tt(56,new Je(2,140))),new Ze(17,72,72,16,16,new tt(36,new Je(4,92))),new Ze(18,80,80,18,18,new tt(48,new Je(4,114))),new Ze(19,88,88,20,20,new tt(56,new Je(4,144))),new Ze(20,96,96,22,22,new tt(68,new Je(4,174))),new Ze(21,104,104,24,24,new tt(56,new Je(6,136))),new Ze(22,120,120,18,18,new tt(68,new Je(6,175))),new Ze(23,132,132,20,20,new tt(62,new Je(8,163))),new Ze(24,144,144,22,22,new tt(62,new Je(8,156),new Je(2,155))),new Ze(25,8,18,6,16,new tt(7,new Je(1,5))),new Ze(26,8,32,6,14,new tt(11,new Je(1,10))),new Ze(27,12,26,10,24,new tt(14,new Je(1,16))),new Ze(28,12,36,10,16,new tt(18,new Je(1,22))),new Ze(29,16,36,14,16,new tt(24,new Je(1,32))),new Ze(30,16,48,14,22,new tt(28,new Je(1,49)))]}}Ze.VERSIONS=Ze.buildVersions();class Yr{constructor(e){const t=e.getHeight();if(t<8||t>144||(t&1)!==0)throw new G;this.version=Yr.readVersion(e),this.mappingBitMatrix=this.extractDataRegion(e),this.readMappingMatrix=new Ve(this.mappingBitMatrix.getWidth(),this.mappingBitMatrix.getHeight())}getVersion(){return this.version}static readVersion(e){const t=e.getHeight(),n=e.getWidth();return Ze.getVersionForDimensions(t,n)}readCodewords(){const e=new Int8Array(this.version.getTotalCodewords());let t=0,n=4,r=0;const s=this.mappingBitMatrix.getHeight(),i=this.mappingBitMatrix.getWidth();let o=!1,a=!1,l=!1,d=!1;do if(n===s&&r===0&&!o)e[t++]=this.readCorner1(s,i)&255,n-=2,r+=2,o=!0;else if(n===s-2&&r===0&&(i&3)!==0&&!a)e[t++]=this.readCorner2(s,i)&255,n-=2,r+=2,a=!0;else if(n===s+4&&r===2&&(i&7)===0&&!l)e[t++]=this.readCorner3(s,i)&255,n-=2,r+=2,l=!0;else if(n===s-2&&r===0&&(i&7)===4&&!d)e[t++]=this.readCorner4(s,i)&255,n-=2,r+=2,d=!0;else{do n<s&&r>=0&&!this.readMappingMatrix.get(r,n)&&(e[t++]=this.readUtah(n,r,s,i)&255),n-=2,r+=2;while(n>=0&&r<i);n+=1,r+=3;do n>=0&&r<i&&!this.readMappingMatrix.get(r,n)&&(e[t++]=this.readUtah(n,r,s,i)&255),n+=2,r-=2;while(n<s&&r>=0);n+=3,r+=1}while(n<s||r<i);if(t!==this.version.getTotalCodewords())throw new G;return e}readModule(e,t,n,r){return e<0&&(e+=n,t+=4-(n+4&7)),t<0&&(t+=r,e+=4-(r+4&7)),this.readMappingMatrix.set(t,e),this.mappingBitMatrix.get(t,e)}readUtah(e,t,n,r){let s=0;return this.readModule(e-2,t-2,n,r)&&(s|=1),s<<=1,this.readModule(e-2,t-1,n,r)&&(s|=1),s<<=1,this.readModule(e-1,t-2,n,r)&&(s|=1),s<<=1,this.readModule(e-1,t-1,n,r)&&(s|=1),s<<=1,this.readModule(e-1,t,n,r)&&(s|=1),s<<=1,this.readModule(e,t-2,n,r)&&(s|=1),s<<=1,this.readModule(e,t-1,n,r)&&(s|=1),s<<=1,this.readModule(e,t,n,r)&&(s|=1),s}readCorner1(e,t){let n=0;return this.readModule(e-1,0,e,t)&&(n|=1),n<<=1,this.readModule(e-1,1,e,t)&&(n|=1),n<<=1,this.readModule(e-1,2,e,t)&&(n|=1),n<<=1,this.readModule(0,t-2,e,t)&&(n|=1),n<<=1,this.readModule(0,t-1,e,t)&&(n|=1),n<<=1,this.readModule(1,t-1,e,t)&&(n|=1),n<<=1,this.readModule(2,t-1,e,t)&&(n|=1),n<<=1,this.readModule(3,t-1,e,t)&&(n|=1),n}readCorner2(e,t){let n=0;return this.readModule(e-3,0,e,t)&&(n|=1),n<<=1,this.readModule(e-2,0,e,t)&&(n|=1),n<<=1,this.readModule(e-1,0,e,t)&&(n|=1),n<<=1,this.readModule(0,t-4,e,t)&&(n|=1),n<<=1,this.readModule(0,t-3,e,t)&&(n|=1),n<<=1,this.readModule(0,t-2,e,t)&&(n|=1),n<<=1,this.readModule(0,t-1,e,t)&&(n|=1),n<<=1,this.readModule(1,t-1,e,t)&&(n|=1),n}readCorner3(e,t){let n=0;return this.readModule(e-1,0,e,t)&&(n|=1),n<<=1,this.readModule(e-1,t-1,e,t)&&(n|=1),n<<=1,this.readModule(0,t-3,e,t)&&(n|=1),n<<=1,this.readModule(0,t-2,e,t)&&(n|=1),n<<=1,this.readModule(0,t-1,e,t)&&(n|=1),n<<=1,this.readModule(1,t-3,e,t)&&(n|=1),n<<=1,this.readModule(1,t-2,e,t)&&(n|=1),n<<=1,this.readModule(1,t-1,e,t)&&(n|=1),n}readCorner4(e,t){let n=0;return this.readModule(e-3,0,e,t)&&(n|=1),n<<=1,this.readModule(e-2,0,e,t)&&(n|=1),n<<=1,this.readModule(e-1,0,e,t)&&(n|=1),n<<=1,this.readModule(0,t-2,e,t)&&(n|=1),n<<=1,this.readModule(0,t-1,e,t)&&(n|=1),n<<=1,this.readModule(1,t-1,e,t)&&(n|=1),n<<=1,this.readModule(2,t-1,e,t)&&(n|=1),n<<=1,this.readModule(3,t-1,e,t)&&(n|=1),n}extractDataRegion(e){const t=this.version.getSymbolSizeRows(),n=this.version.getSymbolSizeColumns();if(e.getHeight()!==t)throw new I("Dimension of bitMatrix must match the version size");const r=this.version.getDataRegionSizeRows(),s=this.version.getDataRegionSizeColumns(),i=t/r|0,o=n/s|0,a=i*r,l=o*s,d=new Ve(l,a);for(let _=0;_<i;++_){const C=_*r;for(let S=0;S<o;++S){const R=S*s;for(let M=0;M<r;++M){const L=_*(r+2)+1+M,X=C+M;for(let ue=0;ue<s;++ue){const he=S*(s+2)+1+ue;if(e.get(he,L)){const le=R+ue;d.set(le,X)}}}}}return d}}
6class Zr{constructor(e,t){this.numDataCodewords=e,this.codewords=t}static getDataBlocks(e,t){const n=t.getECBlocks();let r=0;const s=n.getECBlocks();for(let M of s)r+=M.getCount();const i=new Array(r);let o=0;for(let M of s)for(let L=0;L<M.getCount();L++){const X=M.getDataCodewords(),ue=n.getECCodewords()+X;i[o++]=new Zr(X,new Uint8Array(ue))}const l=i[0].codewords.length-n.getECCodewords(),d=l-1;let _=0;for(let M=0;M<d;M++)for(let L=0;L<o;L++)i[L].codewords[M]=e[_++];const C=t.getVersionNumber()===24,S=C?8:o;for(let M=0;M<S;M++)i[M].codewords[l-1]=e[_++];const R=i[0].codewords.length;for(let M=l;M<R;M++)for(let L=0;L<o;L++){const X=C?(L+8)%o:L,ue=C&&X>7?M-1:M;i[X].codewords[ue]=e[_++]}if(_!==e.length)throw new I;return i}getNumDataCodewords(){return this.numDataCodewords}getCodewords(){return this.codewords}}class qr{constructor(e){this.bytes=e,this.byteOffset=0,this.bitOffset=0}getBitOffset(){return this.bitOffset}getByteOffset(){return this.byteOffset}readBits(e){if(e<1||e>32||e>this.available())throw new I(""+e);let t=0,n=this.bitOffset,r=this.byteOffset;const s=this.bytes;if(n>0){const i=8-n,o=e<i?e:i,a=i-o,l=255>>8-o<<a;t=(s[r]&l)>>a,e-=o,n+=o,n===8&&(n=0,r++)}if(e>0){for(;e>=8;)t=t<<8|s[r]&255,r++,e-=8;if(e>0){const i=8-e,o=255>>i<<i;t=t<<e|(s[r]&o)>>i,n+=e}}return this.bitOffset=n,this.byteOffset=r,t}available(){return 8*(this.bytes.length-this.byteOffset)-this.bitOffset}}var Nt;(function(x){x[x.PAD_ENCODE=0]="PAD_ENCODE",x[x.ASCII_ENCODE=1]="ASCII_ENCODE",x[x.C40_ENCODE=2]="C40_ENCODE",x[x.TEXT_ENCODE=3]="TEXT_ENCODE",x[x.ANSIX12_ENCODE=4]="ANSIX12_ENCODE",x[x.EDIFACT_ENCODE=5]="EDIFACT_ENCODE",x[x.BASE256_ENCODE=6]="BASE256_ENCODE"})(Nt||(Nt={}));class Rn{static decode(e){const t=new qr(e),n=new be,r=new be,s=new Array;let i=Nt.ASCII_ENCODE;do if(i===Nt.ASCII_ENCODE)i=this.decodeAsciiSegment(t,n,r);else{switch(i){case Nt.C40_ENCODE:this.decodeC40Segment(t,n);break;case Nt.TEXT_ENCODE:this.decodeTextSegment(t,n);break;case Nt.ANSIX12_ENCODE:this.decodeAnsiX12Segment(t,n);break;case Nt.EDIFACT_ENCODE:this.decodeEdifactSegment(t,n);break;case Nt.BASE256_ENCODE:this.decodeBase256Segment(t,n,s);break;default:throw new G}i=Nt.ASCII_ENCODE}while(i!==Nt.PAD_ENCODE&&t.available()>0);return r.length()>0&&n.append(r.toString()),new dt(e,n.toString(),s.length===0?null:s,null)}static decodeAsciiSegment(e,t,n){let r=!1;do{let s=e.readBits(8);if(s===0)throw new G;if(s<=128)return r&&(s+=128),t.append(String.fromCharCode(s-1)),Nt.ASCII_ENCODE;if(s===129)return Nt.PAD_ENCODE;if(s<=229){const i=s-130;i<10&&t.append("0"),t.append(""+i)}else switch(s){case 230:return Nt.C40_ENCODE;case 231:return Nt.BASE256_ENCODE;case 232:t.append("�");break;case 233:case 234:break;case 235:r=!0;break;case 236:t.append("[)>�05�"),n.insert(0,"��");break;case 237:t.append("[)>�06�"),n.insert(0,"��");break;case 238:return Nt.ANSIX12_ENCODE;case 239:return Nt.TEXT_ENCODE;case 240:return Nt.EDIFACT_ENCODE;case 241:break;default:if(s!==254||e.available()!==0)throw new G;break}}while(e.available()>0);return Nt.ASCII_ENCODE}static decodeC40Segment(e,t){let n=!1;const r=[];let s=0;do{if(e.available()===8)return;const i=e.readBits(8);if(i===254)return;this.parseTwoBytes(i,e.readBits(8),r);for(let o=0;o<3;o++){const a=r[o];switch(s){case 0:if(a<3)s=a+1;else if(a<this.C40_BASIC_SET_CHARS.length){const l=this.C40_BASIC_SET_CHARS[a];n?(t.append(String.fromCharCode(l.charCodeAt(0)+128)),n=!1):t.append(l)}else throw new G;break;case 1:n?(t.append(String.fromCharCode(a+128)),n=!1):t.append(String.fromCharCode(a)),s=0;break;case 2:if(a<this.C40_SHIFT2_SET_CHARS.length){const l=this.C40_SHIFT2_SET_CHARS[a];n?(t.append(String.fromCharCode(l.charCodeAt(0)+128)),n=!1):t.append(l)}else switch(a){case 27:t.append("�");break;case 30:n=!0;break;default:throw new G}s=0;break;case 3:n?(t.append(String.fromCharCode(a+224)),n=!1):t.append(String.fromCharCode(a+96)),s=0;break;default:throw new G}}}while(e.available()>0)}static decodeTextSegment(e,t){let n=!1,r=[],s=0;do{if(e.available()===8)return;const i=e.readBits(8);if(i===254)return;this.parseTwoBytes(i,e.readBits(8),r);for(let o=0;o<3;o++){const a=r[o];switch(s){case 0:if(a<3)s=a+1;else if(a<this.TEXT_BASIC_SET_CHARS.length){const l=this.TEXT_BASIC_SET_CHARS[a];n?(t.append(String.fromCharCode(l.charCodeAt(0)+128)),n=!1):t.append(l)}else throw new G;break;case 1:n?(t.append(String.fromCharCode(a+128)),n=!1):t.append(String.fromCharCode(a)),s=0;break;case 2:if(a<this.TEXT_SHIFT2_SET_CHARS.length){const l=this.TEXT_SHIFT2_SET_CHARS[a];n?(t.append(String.fromCharCode(l.charCodeAt(0)+128)),n=!1):t.append(l)}
6else switch(a){case 27:t.append("�");break;case 30:n=!0;break;default:throw new G}s=0;break;case 3:if(a<this.TEXT_SHIFT3_SET_CHARS.length){const l=this.TEXT_SHIFT3_SET_CHARS[a];n?(t.append(String.fromCharCode(l.charCodeAt(0)+128)),n=!1):t.append(l),s=0}else throw new G;break;default:throw new G}}}while(e.available()>0)}static decodeAnsiX12Segment(e,t){const n=[];do{if(e.available()===8)return;const r=e.readBits(8);if(r===254)return;this.parseTwoBytes(r,e.readBits(8),n);for(let s=0;s<3;s++){const i=n[s];switch(i){case 0:t.append("\r");break;case 1:t.append("*");break;case 2:t.append(">");break;case 3:t.append(" ");break;default:if(i<14)t.append(String.fromCharCode(i+44));else if(i<40)t.append(String.fromCharCode(i+51));else throw new G;break}}}while(e.available()>0)}static parseTwoBytes(e,t,n){let r=(e<<8)+t-1,s=Math.floor(r/1600);n[0]=s,r-=s*1600,s=Math.floor(r/40),n[1]=s,n[2]=r-s*40}static decodeEdifactSegment(e,t){do{if(e.available()<=16)return;for(let n=0;n<4;n++){let r=e.readBits(6);if(r===31){const s=8-e.getBitOffset();s!==8&&e.readBits(s);return}(r&32)===0&&(r|=64),t.append(String.fromCharCode(r))}}while(e.available()>0)}static decodeBase256Segment(e,t,n){let r=1+e.getByteOffset();const s=this.unrandomize255State(e.readBits(8),r++);let i;if(s===0?i=e.available()/8|0:s<250?i=s:i=250*(s-249)+this.unrandomize255State(e.readBits(8),r++),i<0)throw new G;const o=new Uint8Array(i);for(let a=0;a<i;a++){if(e.available()<8)throw new G;o[a]=this.unrandomize255State(e.readBits(8),r++)}n.push(o);try{t.append(ie.decode(o,de.ISO88591))}catch(a){throw new Tt("Platform does not support required encoding: "+a.message)}}static unrandomize255State(e,t){const n=149*t%255+1,r=e-n;return r>=0?r:r+256}}Rn.C40_BASIC_SET_CHARS=["*","*","*"," ","0","1","2","3","4","5","6","7","8","9","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"],Rn.C40_SHIFT2_SET_CHARS=["!",'"',"#","$","%","&","'","(",")","*","+",",","-",".","/",":",";","<","=",">","?","@","[","\\","]","^","_"],Rn.TEXT_BASIC_SET_CHARS=["*","*","*"," ","0","1","2","3","4","5","6","7","8","9","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z"],Rn.TEXT_SHIFT2_SET_CHARS=Rn.C40_SHIFT2_SET_CHARS,Rn.TEXT_SHIFT3_SET_CHARS=["`","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","{","|","}","~","�"];class Mi{constructor(){this.rsDecoder=new dn(Ne.DATA_MATRIX_FIELD_256)}decode(e){const t=new Yr(e),n=t.getVersion(),r=t.readCodewords(),s=Zr.getDataBlocks(r,n);let i=0;for(let l of s)i+=l.getNumDataCodewords();const o=new Uint8Array(i),a=s.length;for(let l=0;l<a;l++){const d=s[l],_=d.getCodewords(),C=d.getNumDataCodewords();this.correctErrors(_,C);for(let S=0;S<C;S++)o[S*a+l]=_[S]}return Rn.decode(o)}correctErrors(e,t){const n=new Int32Array(e);try{this.rsDecoder.decode(n,e.length-t)}catch{throw new D}for(let r=0;r<t;r++)e[r]=n[r]}}class St{constructor(e){this.image=e,this.rectangleDetector=new Bt(this.image)}detect(){const e=this.rectangleDetector.detect();let t=this.detectSolid1(e);if(t=this.detectSolid2(t),t[3]=this.correctTopRight(t),!t[3])throw new B;t=this.shiftToModuleCenter(t);const n=t[0],r=t[1],s=t[2],i=t[3];let o=this.transitionsBetween(n,i)+1,a=this.transitionsBetween(s,i)+1;(o&1)===1&&(o+=1),(a&1)===1&&(a+=1),4*o<7*a&&4*a<7*o&&(o=a=Math.max(o,a));let l=St.sampleGrid(this.image,n,r,s,i,o,a);return new ot(l,[n,r,s,i])}static shiftPoint(e,t,n){let r=(t.getX()-e.getX())/(n+1),s=(t.getY()-e.getY())/(n+1);return new me(e.getX()+r,e.getY()+s)}static moveAway(e,t,n){let r=e.getX(),s=e.getY();return r<t?r-=1:r+=1,s<n?s-=1:s+=1,new me(r,s)}detectSolid1(e){let t=e[0],n=e[1],r=e[3],s=e[2],i=this.transitionsBetween(t,n),o=this.transitionsBetween(n,r),a=this.transitionsBetween(r,s),l=this.transitionsBetween(s,t),d=i,_=[s,t,n,r];return d>o&&(d=o,_[0]=t,_[1]=n,_[2]=r,_[3]=s),d>a&&(d=a,_[0]=n,_[1]=r,_[2]=s,_[3]=t),d>l&&(_[0]=r,_[1]=s,_[2]=t,_[3]=n),_}detectSolid2(e){let t=e[0],n=e[1],r=e[2],s=e[3],i=this.transitionsBetween(t,s),o=St.shiftPoint(n,r,(i+1)
6*4),a=St.shiftPoint(r,n,(i+1)*4),l=this.transitionsBetween(o,t),d=this.transitionsBetween(a,s);return l<d?(e[0]=t,e[1]=n,e[2]=r,e[3]=s):(e[0]=n,e[1]=r,e[2]=s,e[3]=t),e}correctTopRight(e){let t=e[0],n=e[1],r=e[2],s=e[3],i=this.transitionsBetween(t,s),o=this.transitionsBetween(n,s),a=St.shiftPoint(t,n,(o+1)*4),l=St.shiftPoint(r,n,(i+1)*4);i=this.transitionsBetween(a,s),o=this.transitionsBetween(l,s);let d=new me(s.getX()+(r.getX()-n.getX())/(i+1),s.getY()+(r.getY()-n.getY())/(i+1)),_=new me(s.getX()+(t.getX()-n.getX())/(o+1),s.getY()+(t.getY()-n.getY())/(o+1));if(!this.isValid(d))return this.isValid(_)?_:null;if(!this.isValid(_))return d;let C=this.transitionsBetween(a,d)+this.transitionsBetween(l,d),S=this.transitionsBetween(a,_)+this.transitionsBetween(l,_);return C>S?d:_}shiftToModuleCenter(e){let t=e[0],n=e[1],r=e[2],s=e[3],i=this.transitionsBetween(t,s)+1,o=this.transitionsBetween(r,s)+1,a=St.shiftPoint(t,n,o*4),l=St.shiftPoint(r,n,i*4);i=this.transitionsBetween(a,s)+1,o=this.transitionsBetween(l,s)+1,(i&1)===1&&(i+=1),(o&1)===1&&(o+=1);let d=(t.getX()+n.getX()+r.getX()+s.getX())/4,_=(t.getY()+n.getY()+r.getY()+s.getY())/4;t=St.moveAway(t,d,_),n=St.moveAway(n,d,_),r=St.moveAway(r,d,_),s=St.moveAway(s,d,_);let C,S;return a=St.shiftPoint(t,n,o*4),a=St.shiftPoint(a,s,i*4),C=St.shiftPoint(n,t,o*4),C=St.shiftPoint(C,r,i*4),l=St.shiftPoint(r,s,o*4),l=St.shiftPoint(l,n,i*4),S=St.shiftPoint(s,r,o*4),S=St.shiftPoint(S,t,i*4),[a,C,l,S]}isValid(e){return e.getX()>=0&&e.getX()<this.image.getWidth()&&e.getY()>0&&e.getY()<this.image.getHeight()}static sampleGrid(e,t,n,r,s,i,o){return _n.getInstance().sampleGrid(e,i,o,.5,.5,i-.5,.5,i-.5,o-.5,.5,o-.5,t.getX(),t.getY(),s.getX(),s.getY(),r.getX(),r.getY(),n.getX(),n.getY())}transitionsBetween(e,t){let n=Math.trunc(e.getX()),r=Math.trunc(e.getY()),s=Math.trunc(t.getX()),i=Math.trunc(t.getY()),o=Math.abs(i-r)>Math.abs(s-n);if(o){let M=n;n=r,r=M,M=s,s=i,i=M}let a=Math.abs(s-n),l=Math.abs(i-r),d=-a/2,_=r<i?1:-1,C=n<s?1:-1,S=0,R=this.image.get(o?r:n,o?n:r);for(let M=n,L=r;M!==s;M+=C){let X=this.image.get(o?L:M,o?M:L);if(X!==R&&(S++,R=X),d+=l,d>0){if(L===i)break;L+=_,d-=a}}return S}}class Mn{constructor(){this.decoder=new Mi}decode(e,t=null){let n,r;if(t!=null&&t.has(z.PURE_BARCODE)){const l=Mn.extractPureBits(e.getBlackMatrix());n=this.decoder.decode(l),r=Mn.NO_POINTS}else{const l=new St(e.getBlackMatrix()).detect();n=this.decoder.decode(l.getBits()),r=l.getPoints()}const s=n.getRawBytes(),i=new K(n.getText(),s,8*s.length,r,_e.DATA_MATRIX,P.currentTimeMillis()),o=n.getByteSegments();o!=null&&i.putMetadata(Be.BYTE_SEGMENTS,o);const a=n.getECLevel();return a!=null&&i.putMetadata(Be.ERROR_CORRECTION_LEVEL,a),i}reset(){}static extractPureBits(e){const t=e.getTopLeftOnBit(),n=e.getBottomRightOnBit();if(t==null||n==null)throw new B;const r=this.moduleSize(t,e);let s=t[1];const i=n[1];let o=t[0];const l=(n[0]-o+1)/r,d=(i-s+1)/r;if(l<=0||d<=0)throw new B;const _=r/2;s+=_,o+=_;const C=new Ve(l,d);for(let S=0;S<d;S++){const R=s+S*r;for(let M=0;M<l;M++)e.get(o+M*r,R)&&C.set(M,S)}return C}static moduleSize(e,t){const n=t.getWidth();let r=e[0];const s=e[1];for(;r<n&&t.get(r,s);)r++;if(r===n)throw new B;const i=r-e[0];if(i===0)throw new B;return i}}Mn.NO_POINTS=[];class ki extends Se{constructor(e=500){super(new Mn,e)}}var Kn;(function(x){x[x.L=0]="L",x[x.M=1]="M",x[x.Q=2]="Q",x[x.H=3]="H"})(Kn||(Kn={}));class ht{constructor(e,t,n){this.value=e,this.stringValue=t,this.bits=n,ht.FOR_BITS.set(n,this),ht.FOR_VALUE.set(e,this)}getValue(){return this.value}getBits(){return this.bits}static fromString(e){switch(e){case"L":return ht.L;case"M":return ht.M;case"Q":return ht.Q;case"H":return ht.H;default:throw new T(e+"not available")}}toString(){return this.stringValue}equals(e){if(!(e instanceof ht))return!1;const t=e;return this.value===t.value}static forBits(e){if(e<0||e>=ht.FOR_BITS.size)throw new I;return ht.FOR_BITS.get(e)}}ht.FOR_BITS=new Map,ht.FOR_VALUE=new Map,ht.L=new ht(Kn.L,"L",1),ht.M=new ht(Kn.M,"M",0),ht.Q=new ht(Kn.Q,"Q",3),ht.H=new ht(Kn.H,"H",2);class Ht{constructor(e){this.errorCorrectionLevel=ht.forBits(e>>3&3),this.dataMask=e&7}static numBitsDiffering(e,t){return $.bitCount(e^t)}static decodeFormatInformation(e,t){const n=Ht.doDecodeFormatInformation(e,t);return n!==null?n:Ht.doDecodeFormatInformation(e^Ht.FORMAT_INFO_MASK_QR,t^Ht.FORMAT_INFO_MASK_QR)}static doDecodeFormatInformation(e,t){let n=Number.MAX_SAFE_INTEGER,r=0;for(const s of Ht.FORMAT_INFO_DECODE_LOOKUP){const i=s[0];if(i===e||i===t)return new Ht(s[1]);let o=Ht.numBitsDiffering(e,i);o<n&&(r=s[1],n=o),e!==t&&(o=Ht.numBitsDiffering(t,i),o<n&&(r=s[1],n=o))}return n<=3?new Ht(r):null}getErrorCorrectionLevel(){return this.errorCorrectionLevel}getDataMask(){return this.dataMask}hashCode(){return this.errorCorrectionLevel.getBits()<<3|this.dataMask}equals(e){if(!(e instanceof Ht))return!1;const t=e;return this.errorCorrectionLevel===t.errorCorrectionLevel&&this.dataMask===t.dataMask}}Ht.FORMAT_INFO_MASK_QR=21522,Ht.FORMAT_INFO_DECODE_LOOKUP=[Int32Array.from([21522,0]),Int32Array.from([20773,1]),Int32Array.from([24188,2]),Int32Array.from([23371,3]),Int32Array.from([17913,4]),Int32Array.from([16590,5]),Int32Array.from([20375,6]),Int32Array.from([19104,7]),Int32Array.from([30660,8]),Int32Array.from([29427,9]),Int32Array.from([32170,10]),Int32Array.from([30877,11]),Int32Array.from([26159,12]),Int32Array.from([25368,13]),Int32Array.from([27713,14]),Int32Array.from([26998,15]),Int32Array.from([5769,16]),Int32Array.from([5054,17]),Int32Array.from([7399,18]),Int32Array.from([6608,19]),Int32Array.from([1890,20]),Int32Array.from([597,21]),Int32Array.from([3340,22]),Int32Array.from([2107,23]),Int32Array.from([13663,24]),Int32Array.from([12392,25]),Int32Array.from([16177,26]),Int32Array.from([14854,27]),Int32Array.from([9396,28]),Int32Array.from([8579,29]),Int32Array.from([11994,30]),Int32Array.from([11245,31])];class U{constructor(e,...t){this.ecCodewordsPerBlock=e,this.ecBlocks=t}getECCodewordsPerBlock(){return this.ecCodewordsPerBlock}getNumBlocks(){let e=0;const t=this.ecBlocks;for(const n of t)e+=n.getCount();return e}getTotalECCodewords(){return this.ecCodewordsPerBlock*this.getNumBlocks()}getECBlocks(){return this.ecBlocks}}class y{constructor(e,t){this.count=e,this.dataCodewords=t}getCount(){return this.count}getDataCodewords(){return this.dataCodewords}}class Te{constructor(e,t,...n){this.versionNumber=e,this.alignmentPatternCenters=t,this.ecBlocks=n;let r=0;const s=n[0].getECCodewordsPerBlock(),i=n[0].getECBlocks();for(const o of i)r+=o.getCount()*(o.getDataCodewords()+s);this.totalCodewords=r}getVersionNumber(){return this.versionNumber}getAlignmentPatternCenters(){return this.alignmentPatternCenters}getTotalCodewords(){return this.totalCodewords}getDimensionForVersion(){return 17+4*this.versionNumber}getECBlocksForLevel(e){return this.ecBlocks[e.getValue()]}static getProvisionalVersionForDimension(e){if(e%4!==1)throw new G;try{return this.getVersionForNumber((e-17)/4)}catch{throw new G}}static getVersionForNumber(e){if(e<1||e>40)throw new I;return Te.VERSIONS[e-1]}static decodeVersionInformation(e){let t=Number.MAX_SAFE_INTEGER,n=0;for(let r=0;r<Te.VERSION_DECODE_INFO.length;r++){const s=Te.VERSION_DECODE_INFO[r];if(s===e)return Te.getVersionForNumber(r+7);const i=Ht.numBitsDiffering(e,s);i<t&&(n=r+7,t=i)}return t<=3?Te.getVersionForNumber(n):null}buildFunctionPattern(){const e=this.getDimensionForVersion(),t=new Ve(e);t.setRegion(0,0,9,9),t.setRegion(e-8,0,8,9),t.setRegion(0,e-8,9,8);const n=this.alignmentPatternCenters.length;for(let r=0;r<n;r++){const s=this.alignmentPatternCenters[r]-2;for(let i=0;i<n;i++)r===0&&(i===0||i===n-1)||r===n-1&&i===0||t.setRegion(this.alignmentPatternCenters[i]-2,s,5,5)}return t.setRegion(6,9,1,e-17),t.setRegion(9,6,e-17,1),this.versionNumber>6&&(t.setRegion(e-11,0,3,6),t.setRegion(0,e-11,6,3)),t}toString(){return""+this.versionNumber}}Te.VERSION_DECODE_INFO=Int32Array.from([31892,34236,39577,42195,48118,51042,55367,58893,63784,68472,70749,76311,79154,84390,87683,92361,96236,102084,102881,110507,110734,117786,119615,126325,127568,133589,136944,141498,145311,150283,152622,158308,161089,167017]),Te.VERSIONS=[new Te(1,new Int32Array(0),new U(7,new y(1,19)),new U(10,new y(1,16)),new U(13,new y(1,13)),new U(17,new y(1,9))),new Te(2,Int32Array.from([6,18]),new U(10,new y(1,34)),new U(16,new y(1,28)),new U(22,new y(1,22)),new U(28,new y(1,16))),new Te(3,Int32Array.from([6,22]),new U(15,new y(1,55)),new U(26,new y(1,44)),new U(18,new y(2,17)
6),new U(22,new y(2,13))),new Te(4,Int32Array.from([6,26]),new U(20,new y(1,80)),new U(18,new y(2,32)),new U(26,new y(2,24)),new U(16,new y(4,9))),new Te(5,Int32Array.from([6,30]),new U(26,new y(1,108)),new U(24,new y(2,43)),new U(18,new y(2,15),new y(2,16)),new U(22,new y(2,11),new y(2,12))),new Te(6,Int32Array.from([6,34]),new U(18,new y(2,68)),new U(16,new y(4,27)),new U(24,new y(4,19)),new U(28,new y(4,15))),new Te(7,Int32Array.from([6,22,38]),new U(20,new y(2,78)),new U(18,new y(4,31)),new U(18,new y(2,14),new y(4,15)),new U(26,new y(4,13),new y(1,14))),new Te(8,Int32Array.from([6,24,42]),new U(24,new y(2,97)),new U(22,new y(2,38),new y(2,39)),new U(22,new y(4,18),new y(2,19)),new U(26,new y(4,14),new y(2,15))),new Te(9,Int32Array.from([6,26,46]),new U(30,new y(2,116)),new U(22,new y(3,36),new y(2,37)),new U(20,new y(4,16),new y(4,17)),new U(24,new y(4,12),new y(4,13))),new Te(10,Int32Array.from([6,28,50]),new U(18,new y(2,68),new y(2,69)),new U(26,new y(4,43),new y(1,44)),new U(24,new y(6,19),new y(2,20)),new U(28,new y(6,15),new y(2,16))),new Te(11,Int32Array.from([6,30,54]),new U(20,new y(4,81)),new U(30,new y(1,50),new y(4,51)),new U(28,new y(4,22),new y(4,23)),new U(24,new y(3,12),new y(8,13))),new Te(12,Int32Array.from([6,32,58]),new U(24,new y(2,92),new y(2,93)),new U(22,new y(6,36),new y(2,37)),new U(26,new y(4,20),new y(6,21)),new U(28,new y(7,14),new y(4,15))),new Te(13,Int32Array.from([6,34,62]),new U(26,new y(4,107)),new U(22,new y(8,37),new y(1,38)),new U(24,new y(8,20),new y(4,21)),new U(22,new y(12,11),new y(4,12))),new Te(14,Int32Array.from([6,26,46,66]),new U(30,new y(3,115),new y(1,116)),new U(24,new y(4,40),new y(5,41)),new U(20,new y(11,16),new y(5,17)),new U(24,new y(11,12),new y(5,13))),new Te(15,Int32Array.from([6,26,48,70]),new U(22,new y(5,87),new y(1,88)),new U(24,new y(5,41),new y(5,42)),new U(30,new y(5,24),new y(7,25)),new U(24,new y(11,12),new y(7,13))),new Te(16,Int32Array.from([6,26,50,74]),new U(24,new y(5,98),new y(1,99)),new U(28,new y(7,45),new y(3,46)),new U(24,new y(15,19),new y(2,20)),new U(30,new y(3,15),new y(13,16))),new Te(17,Int32Array.from([6,30,54,78]),new U(28,new y(1,107),new y(5,108)),new U(28,new y(10,46),new y(1,47)),new U(28,new y(1,22),new y(15,23)),new U(28,new y(2,14),new y(17,15))),new Te(18,Int32Array.from([6,30,56,82]),new U(30,new y(5,120),new y(1,121)),new U(26,new y(9,43),new y(4,44)),new U(28,new y(17,22),new y(1,23)),new U(28,new y(2,14),new y(19,15))),new Te(19,Int32Array.from([6,30,58,86]),new U(28,new y(3,113),new y(4,114)),new U(26,new y(3,44),new y(11,45)),new U(26,new y(17,21),new y(4,22)),new U(26,new y(9,13),new y(16,14))),new Te(20,Int32Array.from([6,34,62,90]),new U(28,new y(3,107),new y(5,108)),new U(26,new y(3,41),new y(13,42)),new U(30,new y(15,24),new y(5,25)),new U(28,new y(15,15),new y(10,16))),new Te(21,Int32Array.from([6,28,50,72,94]),new U(28,new y(4,116),new y(4,117)),new U(26,new y(17,42)),new U(28,new y(17,22),new y(6,23)),new U(30,new y(19,16),new y(6,17))),new Te(22,Int32Array.from([6,26,50,74,98]),new U(28,new y(2,111),new y(7,112)),new U(28,new y(17,46)),new U(30,new y(7,24),new y(16,25)),new U(24,new y(34,13))),new Te(23,Int32Array.from([6,30,54,78,102]),new U(30,new y(4,121),new y(5,122)),new U(28,new y(4,47),new y(14,48)),new U(30,new y(11,24),new y(14,25)),new U(30,new y(16,15),new y(14,16))),new Te(24,Int32Array.from([6,28,54,80,106]),new U(30,new y(6,117),new y(4,118)),new U(28,new y(6,45),new y(14,46)),new U(30,new y(11,24),new y(16,25)),new U(30,new y(30,16),new y(2,17))),new Te(25,Int32Array.from([6,32,58,84,110]),new U(26,new y(8,106),new y(4,107)),new U(28,new y(8,47),new y(13,48)),new U(30,new y(7,24),new y(22,25)),new U(30,new y(22,15),new y(13,16))),new Te(26,Int32Array.from([6,30,58,86,114]),new U(28,new y(10,114),new y(2,115)),new U(28,new y(19,46),new y(4,47)),new U(28,new y(28,22),new y(6,23)),new U(30,new y(33,16),new y(4,17))),new Te(27,Int32Array.from([6,34,62,90,118]),new U(30,new y(8,122),new y(4,123)),new U(28,new y(22,45),new y(3,46)),new U(30,new y(8,23),new y(26,24)),new U(30,new y(12,15),new y(28,16))),new Te(28,Int32Array.from([6,26,50,74,98,122]),new U(30,new y(3,117),new y(10,118)),new U(28,new y(3,45),new y(23,46)),new U(30,new y(4,24),new y(31,25)),new U(30,new y(11,15),new y(31,16))),new Te(29,Int32Array.from([6,30,54,78,102,126]),new U(30,new y(7,116),new y(7,117)),new U(28,new y(21,45),new y(7,46)),new U(30,new y(1,23),new y(37,24)),new U(30,new y(19,15),new y(26,16))),new Te(30,Int32Array.from([6,26,52,78,104,130]),new U(30,new y(5,115),new y(10,116)),new U(28,new y(19,47),new y(10,48)),new U(30,new y(15,24),new y(25,25)),new U(30,new y(23,15),new y(25,16))),new Te(31,Int32Array.from([6,30,56,82,108,134]),new U(30,new y(13,115),new y(3,116)),new U(28,new y(2,46),new y(29,47)),new U(30,new y(42,24),new y(1,25)),new U(30,new y(23,15),new y(28,16))),new Te(32,Int32Array.from([6,34,60,86,112,138]),new U(30,new y(17,115)),new U(28,new y(10,46),new y(23,47)),new U(30,new y(10,24),new y(35,25)),new U(30,new y(19,15),new y(35,16))),new Te(33,Int32Array.from([6,30,58,86,114,142]),new U(30,new y(17,115),new y(1,116)),new U(28,new y(14,46),new y(21,47)),new U(30,new y(29,24),new y(19,25)),new U(30,new y(11,15),new y(46,16))),new Te(34,Int32Array.from([6,34,62,90,118,146]),new U(30,new y(13,115),new y(6,116)),new U(28,new y(14,46),new y(23,47)),new U(30,new y(44,24),new y(7,25)),new U(30,new y(59,16),new y(1,17))),new Te(35,Int32Array.from([6,30,54,78,102,126,150]),new U(30,new y(12,121),new y(7,122)),new U(28,new y(12,47),new y(26,48)),new U(30,new y(39,24),new y(14,25)),new U(30,new y(22,15),new y(41,16))),new Te(36,Int32Array.from([6,24,50,76,102,128,154]),new U(30,new y(6,121),new y(14,122)),new U(28,new y(6,47),new y(34,48)),new U(30,new y(46,24),new y(10,25)),new U(30,new y(2,15),new y(64,16))),new Te(37,Int32Array.from([6,28,54,80,106,132,158]),new U(30,new y(17,122),new y(4,123)),new U(28,new y(29,46),new y(14,47)),new U(30,new y(49,24),new y(10,25)),new U(30,new y(24,15),new y(46,16))),new Te(38,Int32Array.from([6,32,58,84,110,136,162]),new U(30,new y(4,122),new y(18,123)),new U(28,new y(13,46),new y(32,47)),new U(30,new y(48,24),new y(14,25)),new U(30,new y(42,15),new y(32,16))),new Te(39,Int32Array.from([6,26,54,82,110,138,166]),new U(30,new y(20,117),new y(4,118)),new U(28,new y(40,47),new y(7,48)),new U(30,new y(43,24),new y(22,25)),new U(30,new y(10,15),new y(67,16))),new Te(40,Int32Array.from([6,30,58,86,114,142,170]),new U(30,new y(19,118),new y(6,119)),new U(28,new y(18,47),new y(31,48)),new U(30,new y(34,24),new y(34,25)),new U(30,new y(20,15),new y(61,16)))];var Rt;(function(x){x[x.DATA_MASK_000=0]="DATA_MASK_000",x[x.DATA_MASK_001=1]="DATA_MASK_001",x[x.DATA_MASK_010=2]="DATA_MASK_010",x[x.DATA_MASK_011=3]="DATA_MASK_011",x[x.DATA_MASK_100=4]="DATA_MASK_100",x[x.DATA_MASK_101=5]="DATA_MASK_101",x[x.DATA_MASK_110=6]="DATA_MASK_110",x[x.DATA_MASK_111=7]="DATA_MASK_111"})(Rt||(Rt={}));class an{constructor(e,t){this.value=e,this.isMasked=t}unmaskBitMatrix(e,t){for(let n=0;n<t;n++)for(let r=0;r<t;r++)this.isMasked(n,r)&&e.flip(r,n)}}an.values=new Map([[Rt.DATA_MASK_000,new an(Rt.DATA_MASK_000,(x,e)=>(x+e&1)===0)],[Rt.DATA_MASK_001,new an(Rt.DATA_MASK_001,(x,e)=>(x&1)===0)],[Rt.DATA_MASK_010,new an(Rt.DATA_MASK_010,(x,e)=>e%3===0)],[Rt.DATA_MASK_011,new an(Rt.DATA_MASK_011,(x,e)=>(x+e)%3===0)],[Rt.DATA_MASK_100,new an(Rt.DATA_MASK_100,(x,e)=>(Math.floor(x/2)+Math.floor(e/3)&1)===0)],[Rt.DATA_MASK_101,new an(Rt.DATA_MASK_101,(x,e)=>x*e%6===0)],[Rt.DATA_MASK_110,new an(Rt.DATA_MASK_110,(x,e)=>x*e%6<3)],[Rt.DATA_MASK_111,new an(Rt.DATA_MASK_111,(x,e)=>(x+e+x*e%3&1)===0)]]);class Di{constructor(e){const t=e.getHeight();if(t<21||(t&3)!==1)throw new G;this.bitMatrix=e}readFormatInformation(){if(this.parsedFormatInfo!==null&&this.parsedFormatInfo!==void 0)return this.parsedFormatInfo;let e=0;for(let s=0;s<6;s++)e=this.copyBit(s,8,e);e=this.copyBit(7,8,e),e=this.copyBit(8,8,e),e=this.copyBit(8,7,e);for(let s=5;s>=0;s--)e=this.copyBit(8,s,e);const t=this.bitMatrix.getHeight();let n=0;const r=t-7;for(let s=t-1;s>=r;s--)n=this.copyBit(8,s,n);for(let s=t-8;s<t;s++)n=this.copyBit(s,8,n);if(this.parsedFormatInfo=Ht.decodeFormatInformation(e,n),this.parsedFormatInfo!==null)return this.parsedFormatInfo;throw new G}readVersion(){if(this.parsedVersion!==null&&this.parsedVersion!==void 0)return this.parsedVersion;const e=this.bitMatrix.getHeight(),t=Math.floor((e-17)/4);if(t<=6)return Te.getVersionForNumber(t);let n=0;const r=e-11;for(let i=5;i>=0;i--)for(let o=e-9;o>=r;o--)n=this.copyBit(o,i,n);let s=Te.decodeVersionInformation(n);if(s!==null&&s.getDimensionForVersion()===e)return this.parsedVersion=s,s;n=0;for(let i=5;i>=0;i--)for(let o=e-9;o>=r;o--)n=this.copyBit(i,o,n);if(s=Te.decodeVersionInformation(n),s!==null&&s.getDimensionForVersion()===e)return this.parsedVersion=s,s;throw new G}copyBit(e,t,n){return(this.isMirror?this.bitMatrix.get(t,e):this.bitMatrix.get(e,t))?n<<1|1:n<<1}readCodewords(){const e=this.readFormatInformation(),t=this.readVersion(),n=an.values.get(e.getDataMask()),r
6=this.bitMatrix.getHeight();n.unmaskBitMatrix(this.bitMatrix,r);const s=t.buildFunctionPattern();let i=!0;const o=new Uint8Array(t.getTotalCodewords());let a=0,l=0,d=0;for(let _=r-1;_>0;_-=2){_===6&&_--;for(let C=0;C<r;C++){const S=i?r-1-C:C;for(let R=0;R<2;R++)s.get(_-R,S)||(d++,l<<=1,this.bitMatrix.get(_-R,S)&&(l|=1),d===8&&(o[a++]=l,d=0,l=0))}i=!i}if(a!==t.getTotalCodewords())throw new G;return o}remask(){if(this.parsedFormatInfo===null)return;const e=an.values[this.parsedFormatInfo.getDataMask()],t=this.bitMatrix.getHeight();e.unmaskBitMatrix(this.bitMatrix,t)}setMirror(e){this.parsedVersion=null,this.parsedFormatInfo=null,this.isMirror=e}mirror(){const e=this.bitMatrix;for(let t=0,n=e.getWidth();t<n;t++)for(let r=t+1,s=e.getHeight();r<s;r++)e.get(t,r)!==e.get(r,t)&&(e.flip(r,t),e.flip(t,r))}}class jr{constructor(e,t){this.numDataCodewords=e,this.codewords=t}static getDataBlocks(e,t,n){if(e.length!==t.getTotalCodewords())throw new I;const r=t.getECBlocksForLevel(n);let s=0;const i=r.getECBlocks();for(const R of i)s+=R.getCount();const o=new Array(s);let a=0;for(const R of i)for(let M=0;M<R.getCount();M++){const L=R.getDataCodewords(),X=r.getECCodewordsPerBlock()+L;o[a++]=new jr(L,new Uint8Array(X))}const l=o[0].codewords.length;let d=o.length-1;for(;d>=0&&o[d].codewords.length!==l;)d--;d++;const _=l-r.getECCodewordsPerBlock();let C=0;for(let R=0;R<_;R++)for(let M=0;M<a;M++)o[M].codewords[R]=e[C++];for(let R=d;R<a;R++)o[R].codewords[_]=e[C++];const S=o[0].codewords.length;for(let R=_;R<S;R++)for(let M=0;M<a;M++){const L=M<d?R:R+1;o[M].codewords[L]=e[C++]}return o}getNumDataCodewords(){return this.numDataCodewords}getCodewords(){return this.codewords}}var ln;(function(x){x[x.TERMINATOR=0]="TERMINATOR",x[x.NUMERIC=1]="NUMERIC",x[x.ALPHANUMERIC=2]="ALPHANUMERIC",x[x.STRUCTURED_APPEND=3]="STRUCTURED_APPEND",x[x.BYTE=4]="BYTE",x[x.ECI=5]="ECI",x[x.KANJI=6]="KANJI",x[x.FNC1_FIRST_POSITION=7]="FNC1_FIRST_POSITION",x[x.FNC1_SECOND_POSITION=8]="FNC1_SECOND_POSITION",x[x.HANZI=9]="HANZI"})(ln||(ln={}));class Me{constructor(e,t,n,r){this.value=e,this.stringValue=t,this.characterCountBitsForVersions=n,this.bits=r,Me.FOR_BITS.set(r,this),Me.FOR_VALUE.set(e,this)}static forBits(e){const t=Me.FOR_BITS.get(e);if(t===void 0)throw new I;return t}getCharacterCountBits(e){const t=e.getVersionNumber();let n;return t<=9?n=0:t<=26?n=1:n=2,this.characterCountBitsForVersions[n]}getValue(){return this.value}getBits(){return this.bits}equals(e){if(!(e instanceof Me))return!1;const t=e;return this.value===t.value}toString(){return this.stringValue}}Me.FOR_BITS=new Map,Me.FOR_VALUE=new Map,Me.TERMINATOR=new Me(ln.TERMINATOR,"TERMINATOR",Int32Array.from([0,0,0]),0),Me.NUMERIC=new Me(ln.NUMERIC,"NUMERIC",Int32Array.from([10,12,14]),1),Me.ALPHANUMERIC=new Me(ln.ALPHANUMERIC,"ALPHANUMERIC",Int32Array.from([9,11,13]),2),Me.STRUCTURED_APPEND=new Me(ln.STRUCTURED_APPEND,"STRUCTURED_APPEND",Int32Array.from([0,0,0]),3),Me.BYTE=new Me(ln.BYTE,"BYTE",Int32Array.from([8,16,16]),4),Me.ECI=new Me(ln.ECI,"ECI",Int32Array.from([0,0,0]),7),Me.KANJI=new Me(ln.KANJI,"KANJI",Int32Array.from([8,10,12]),8),Me.FNC1_FIRST_POSITION=new Me(ln.FNC1_FIRST_POSITION,"FNC1_FIRST_POSITION",Int32Array.from([0,0,0]),5),Me.FNC1_SECOND_POSITION=new Me(ln.FNC1_SECOND_POSITION,"FNC1_SECOND_POSITION",Int32Array.from([0,0,0]),9),Me.HANZI=new Me(ln.HANZI,"HANZI",Int32Array.from([8,10,12]),13);class mt{static decode(e,t,n,r){const s=new qr(e);let i=new be;const o=new Array;let a=-1,l=-1;try{let d=null,_=!1,C;do{if(s.available()<4)C=Me.TERMINATOR;else{const S=s.readBits(4);C=Me.forBits(S)}switch(C){case Me.TERMINATOR:break;case Me.FNC1_FIRST_POSITION:case Me.FNC1_SECOND_POSITION:_=!0;break;case Me.STRUCTURED_APPEND:if(s.available()<16)throw new G;a=s.readBits(8),l=s.readBits(8);break;case Me.ECI:const S=mt.parseECIValue(s);if(d=F.getCharacterSetECIByValue(S),d===null)throw new G;break;case Me.HANZI:const R=s.readBits(4),M=s.readBits(C.getCharacterCountBits(t));R===mt.GB2312_SUBSET&&mt.decodeHanziSegment(s,i,M);break;default:const L=s.readBits(C.getCharacterCountBits(t));switch(C){case Me.NUMERIC:mt.decodeNumericSegment(s,i,L);break;case Me.ALPHANUMERIC:mt.decodeAlphanumericSegment(s,i,L,_);break;case Me.BYTE:mt.decodeByteSegment(s,i,L,d,o,r);break;case Me.KANJI:mt.decodeKanjiSegment(s,i,L);break;default:throw new G}break}}while(C!==Me.TERMINATOR)}catch{throw new G}return new dt(e,i.toString(),o.length===0?null:o,n===null?null:n.toString(),a,l)}static decodeHanziSegment(e,t,n){if(n*13>e.available())throw new G;
6const r=new Uint8Array(2*n);let s=0;for(;n>0;){const i=e.readBits(13);let o=i/96<<8&4294967295|i%96;o<959?o+=41377:o+=42657,r[s]=o>>8&255,r[s+1]=o&255,s+=2,n--}try{t.append(ie.decode(r,de.GB2312))}catch(i){throw new G(i)}}static decodeKanjiSegment(e,t,n){if(n*13>e.available())throw new G;const r=new Uint8Array(2*n);let s=0;for(;n>0;){const i=e.readBits(13);let o=i/192<<8&4294967295|i%192;o<7936?o+=33088:o+=49472,r[s]=o>>8,r[s+1]=o,s+=2,n--}try{t.append(ie.decode(r,de.SHIFT_JIS))}catch(i){throw new G(i)}}static decodeByteSegment(e,t,n,r,s,i){if(8*n>e.available())throw new G;const o=new Uint8Array(n);for(let l=0;l<n;l++)o[l]=e.readBits(8);let a;r===null?a=de.guessEncoding(o,i):a=r.getName();try{t.append(ie.decode(o,a))}catch(l){throw new G(l)}s.push(o)}static toAlphaNumericChar(e){if(e>=mt.ALPHANUMERIC_CHARS.length)throw new G;return mt.ALPHANUMERIC_CHARS[e]}static decodeAlphanumericSegment(e,t,n,r){const s=t.length();for(;n>1;){if(e.available()<11)throw new G;const i=e.readBits(11);t.append(mt.toAlphaNumericChar(Math.floor(i/45))),t.append(mt.toAlphaNumericChar(i%45)),n-=2}if(n===1){if(e.available()<6)throw new G;t.append(mt.toAlphaNumericChar(e.readBits(6)))}if(r)for(let i=s;i<t.length();i++)t.charAt(i)==="%"&&(i<t.length()-1&&t.charAt(i+1)==="%"?t.deleteCharAt(i+1):t.setCharAt(i,"�"))}static decodeNumericSegment(e,t,n){for(;n>=3;){if(e.available()<10)throw new G;const r=e.readBits(10);if(r>=1e3)throw new G;t.append(mt.toAlphaNumericChar(Math.floor(r/100))),t.append(mt.toAlphaNumericChar(Math.floor(r/10)%10)),t.append(mt.toAlphaNumericChar(r%10)),n-=3}if(n===2){if(e.available()<7)throw new G;const r=e.readBits(7);if(r>=100)throw new G;t.append(mt.toAlphaNumericChar(Math.floor(r/10))),t.append(mt.toAlphaNumericChar(r%10))}else if(n===1){if(e.available()<4)throw new G;const r=e.readBits(4);if(r>=10)throw new G;t.append(mt.toAlphaNumericChar(r))}}static parseECIValue(e){const t=e.readBits(8);if((t&128)===0)return t&127;if((t&192)===128){const n=e.readBits(8);return(t&63)<<8&4294967295|n}if((t&224)===192){const n=e.readBits(16);return(t&31)<<16&4294967295|n}throw new G}}mt.ALPHANUMERIC_CHARS="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ $%*+-./:",mt.GB2312_SUBSET=1;class Ts{constructor(e){this.mirrored=e}isMirrored(){return this.mirrored}applyMirroredCorrection(e){if(!this.mirrored||e===null||e.length<3)return;const t=e[0];e[0]=e[2],e[2]=t}}class Bi{constructor(){this.rsDecoder=new dn(Ne.QR_CODE_FIELD_256)}decodeBooleanArray(e,t){return this.decodeBitMatrix(Ve.parseFromBooleanArray(e),t)}decodeBitMatrix(e,t){const n=new Di(e);let r=null;try{return this.decodeBitMatrixParser(n,t)}catch(s){r=s}try{n.remask(),n.setMirror(!0),n.readVersion(),n.readFormatInformation(),n.mirror();const s=this.decodeBitMatrixParser(n,t);return s.setOther(new Ts(!0)),s}catch(s){throw r!==null?r:s}}decodeBitMatrixParser(e,t){const n=e.readVersion(),r=e.readFormatInformation().getErrorCorrectionLevel(),s=e.readCodewords(),i=jr.getDataBlocks(s,n,r);let o=0;for(const d of i)o+=d.getNumDataCodewords();const a=new Uint8Array(o);let l=0;for(const d of i){const _=d.getCodewords(),C=d.getNumDataCodewords();this.correctErrors(_,C);for(let S=0;S<C;S++)a[l++]=_[S]}return mt.decode(a,n,r,t)}correctErrors(e,t){const n=new Int32Array(e);try{this.rsDecoder.decode(n,e.length-t)}catch{throw new D}for(let r=0;r<t;r++)e[r]=n[r]}}class Kr extends me{constructor(e,t,n){super(e,t),this.estimatedModuleSize=n}aboutEquals(e,t,n){if(Math.abs(t-this.getY())<=e&&Math.abs(n-this.getX())<=e){const r=Math.abs(e-this.estimatedModuleSize);return r<=1||r<=this.estimatedModuleSize}return!1}combineEstimate(e,t,n){const r=(this.getX()+t)/2,s=(this.getY()+e)/2,i=(this.estimatedModuleSize+n)/2;return new Kr(r,s,i)}}class Sr{constructor(e,t,n,r,s,i,o){this.image=e,this.startX=t,this.startY=n,this.width=r,this.height=s,this.moduleSize=i,this.resultPointCallback=o,this.possibleCenters=[],this.crossCheckStateCount=new Int32Array(3)}find(){const e=this.startX,t=this.height,n=this.width,r=e+n,s=this.startY+t/2,i=new Int32Array(3),o=this.image;for(let a=0;a<t;a++){const l=s+((a&1)===0?Math.floor((a+1)/2):-Math.floor((a+1)/2));i[0]=0,i[1]=0,i[2]=0;let d=e;for(;d<r&&!o.get(d,l);)d++;let _=0;for(;d<r;){if(o.get(d,l))if(_===1)i[1]++;else if(_===2){if(this.foundPatternCross(i)){const C=this.handlePossibleCenter(i,l,d);if(C!==null)return C}i[0]=i[2],i[1]=1,i[2]=0,_=1}else i[++_]++;else _===1&&_++,i[_]++;d++}if(this.foundPatternCross(i)){const C=this.handlePossibleCenter(i,l,r);if(C!==null)return C}}if(this.possibleCenters.length!==0)return this.possibleCenters[0];throw new B}static centerFromEnd(e,t){return t-e[2]-e[1]/2}foundPatternCross(e){const t=this.moduleSize,n=t/2;
6for(let r=0;r<3;r++)if(Math.abs(t-e[r])>=n)return!1;return!0}crossCheckVertical(e,t,n,r){const s=this.image,i=s.getHeight(),o=this.crossCheckStateCount;o[0]=0,o[1]=0,o[2]=0;let a=e;for(;a>=0&&s.get(t,a)&&o[1]<=n;)o[1]++,a--;if(a<0||o[1]>n)return NaN;for(;a>=0&&!s.get(t,a)&&o[0]<=n;)o[0]++,a--;if(o[0]>n)return NaN;for(a=e+1;a<i&&s.get(t,a)&&o[1]<=n;)o[1]++,a++;if(a===i||o[1]>n)return NaN;for(;a<i&&!s.get(t,a)&&o[2]<=n;)o[2]++,a++;if(o[2]>n)return NaN;const l=o[0]+o[1]+o[2];return 5*Math.abs(l-r)>=2*r?NaN:this.foundPatternCross(o)?Sr.centerFromEnd(o,a):NaN}handlePossibleCenter(e,t,n){const r=e[0]+e[1]+e[2],s=Sr.centerFromEnd(e,n),i=this.crossCheckVertical(t,s,2*e[1],r);if(!isNaN(i)){const o=(e[0]+e[1]+e[2])/3;for(const l of this.possibleCenters)if(l.aboutEquals(o,i,s))return l.combineEstimate(i,s,o);const a=new Kr(s,i,o);this.possibleCenters.push(a),this.resultPointCallback!==null&&this.resultPointCallback!==void 0&&this.resultPointCallback.foundPossibleResultPoint(a)}return null}}class Qr extends me{constructor(e,t,n,r){super(e,t),this.estimatedModuleSize=n,this.count=r,r===void 0&&(this.count=1)}getEstimatedModuleSize(){return this.estimatedModuleSize}getCount(){return this.count}aboutEquals(e,t,n){if(Math.abs(t-this.getY())<=e&&Math.abs(n-this.getX())<=e){const r=Math.abs(e-this.estimatedModuleSize);return r<=1||r<=this.estimatedModuleSize}return!1}combineEstimate(e,t,n){const r=this.count+1,s=(this.count*this.getX()+t)/r,i=(this.count*this.getY()+e)/r,o=(this.count*this.estimatedModuleSize+n)/r;return new Qr(s,i,o,r)}}class Pi{constructor(e){this.bottomLeft=e[0],this.topLeft=e[1],this.topRight=e[2]}getBottomLeft(){return this.bottomLeft}getTopLeft(){return this.topLeft}getTopRight(){return this.topRight}}class Mt{constructor(e,t){this.image=e,this.resultPointCallback=t,this.possibleCenters=[],this.crossCheckStateCount=new Int32Array(5),this.resultPointCallback=t}getImage(){return this.image}getPossibleCenters(){return this.possibleCenters}find(e){const t=e!=null&&e.get(z.TRY_HARDER)!==void 0,n=e!=null&&e.get(z.PURE_BARCODE)!==void 0,r=this.image,s=r.getHeight(),i=r.getWidth();let o=Math.floor(3*s/(4*Mt.MAX_MODULES));(o<Mt.MIN_SKIP||t)&&(o=Mt.MIN_SKIP);let a=!1;const l=new Int32Array(5);for(let _=o-1;_<s&&!a;_+=o){l[0]=0,l[1]=0,l[2]=0,l[3]=0,l[4]=0;let C=0;for(let S=0;S<i;S++)if(r.get(S,_))(C&1)===1&&C++,l[C]++;else if((C&1)===0)if(C===4)if(Mt.foundPatternCross(l)){if(this.handlePossibleCenter(l,_,S,n)===!0)if(o=2,this.hasSkipped===!0)a=this.haveMultiplyConfirmedCenters();else{const M=this.findRowSkip();M>l[2]&&(_+=M-l[2]-o,S=i-1)}else{l[0]=l[2],l[1]=l[3],l[2]=l[4],l[3]=1,l[4]=0,C=3;continue}C=0,l[0]=0,l[1]=0,l[2]=0,l[3]=0,l[4]=0}else l[0]=l[2],l[1]=l[3],l[2]=l[4],l[3]=1,l[4]=0,C=3;else l[++C]++;else l[C]++;Mt.foundPatternCross(l)&&this.handlePossibleCenter(l,_,i,n)===!0&&(o=l[0],this.hasSkipped&&(a=this.haveMultiplyConfirmedCenters()))}const d=this.selectBestPatterns();return me.orderBestPatterns(d),new Pi(d)}static centerFromEnd(e,t){return t-e[4]-e[3]-e[2]/2}static foundPatternCross(e){let t=0;for(let s=0;s<5;s++){const i=e[s];if(i===0)return!1;t+=i}if(t<7)return!1;const n=t/7,r=n/2;return Math.abs(n-e[0])<r&&Math.abs(n-e[1])<r&&Math.abs(3*n-e[2])<3*r&&Math.abs(n-e[3])<r&&Math.abs(n-e[4])<r}getCrossCheckStateCount(){const e=this.crossCheckStateCount;return e[0]=0,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e}crossCheckDiagonal(e,t,n,r){const s=this.getCrossCheckStateCount();let i=0;const o=this.image;for(;e>=i&&t>=i&&o.get(t-i,e-i);)s[2]++,i++;if(e<i||t<i)return!1;for(;e>=i&&t>=i&&!o.get(t-i,e-i)&&s[1]<=n;)s[1]++,i++;if(e<i||t<i||s[1]>n)return!1;for(;e>=i&&t>=i&&o.get(t-i,e-i)&&s[0]<=n;)s[0]++,i++;if(s[0]>n)return!1;const a=o.getHeight(),l=o.getWidth();for(i=1;e+i<a&&t+i<l&&o.get(t+i,e+i);)s[2]++,i++;if(e+i>=a||t+i>=l)return!1;for(;e+i<a&&t+i<l&&!o.get(t+i,e+i)&&s[3]<n;)s[3]++,i++;if(e+i>=a||t+i>=l||s[3]>=n)return!1;for(;e+i<a&&t+i<l&&o.get(t+i,e+i)&&s[4]<n;)s[4]++,i++;if(s[4]>=n)return!1;const d=s[0]+s[1]+s[2]+s[3]+s[4];return Math.abs(d-r)<2*r&&Mt.foundPatternCross(s)}crossCheckVertical(e,t,n,r){const s=this.image,i=s.getHeight(),o=this.getCrossCheckStateCount();let a=e;for(;a>=0&&s.get(t,a);)o[2]++,a--;if(a<0)return NaN;for(;a>=0&&!s.get(t,a)&&o[1]<=n;)o[1]++,a--;if(a<0||o[1]>n)return NaN;for(;a>=0&&s.get(t,a)&&o[0]<=n;)o[0]++,a--;
vendor: 4,068 bytes, line 6
6if(o[0]>n)return NaN;for(a=e+1;a<i&&s.get(t,a);)o[2]++,a++;if(a===i)return NaN;for(;a<i&&!s.get(t,a)&&o[3]<n;)o[3]++,a++;if(a===i||o[3]>=n)return NaN;for(;a<i&&s.get(t,a)&&o[4]<n;)o[4]++,a++;if(o[4]>=n)return NaN;const l=o[0]+o[1]+o[2]+o[3]+o[4];return 5*Math.abs(l-r)>=2*r?NaN:Mt.foundPatternCross(o)?Mt.centerFromEnd(o,a):NaN}crossCheckHorizontal(e,t,n,r){const s=this.image,i=s.getWidth(),o=this.getCrossCheckStateCount();let a=e;for(;a>=0&&s.get(a,t);)o[2]++,a--;if(a<0)return NaN;for(;a>=0&&!s.get(a,t)&&o[1]<=n;)o[1]++,a--;if(a<0||o[1]>n)return NaN;for(;a>=0&&s.get(a,t)&&o[0]<=n;)o[0]++,a--;if(o[0]>n)return NaN;for(a=e+1;a<i&&s.get(a,t);)o[2]++,a++;if(a===i)return NaN;for(;a<i&&!s.get(a,t)&&o[3]<n;)o[3]++,a++;if(a===i||o[3]>=n)return NaN;for(;a<i&&s.get(a,t)&&o[4]<n;)o[4]++,a++;if(o[4]>=n)return NaN;const l=o[0]+o[1]+o[2]+o[3]+o[4];return 5*Math.abs(l-r)>=r?NaN:Mt.foundPatternCross(o)?Mt.centerFromEnd(o,a):NaN}handlePossibleCenter(e,t,n,r){const s=e[0]+e[1]+e[2]+e[3]+e[4];let i=Mt.centerFromEnd(e,n),o=this.crossCheckVertical(t,Math.floor(i),e[2],s);if(!isNaN(o)&&(i=this.crossCheckHorizontal(Math.floor(i),Math.floor(o),e[2],s),!isNaN(i)&&(!r||this.crossCheckDiagonal(Math.floor(o),Math.floor(i),e[2],s)))){const a=s/7;let l=!1;const d=this.possibleCenters;for(let _=0,C=d.length;_<C;_++){const S=d[_];if(S.aboutEquals(a,o,i)){d[_]=S.combineEstimate(o,i,a),l=!0;break}}if(!l){const _=new Qr(i,o,a);d.push(_),this.resultPointCallback!==null&&this.resultPointCallback!==void 0&&this.resultPointCallback.foundPossibleResultPoint(_)}return!0}return!1}findRowSkip(){if(this.possibleCenters.length<=1)return 0;let t=null;for(const n of this.possibleCenters)if(n.getCount()>=Mt.CENTER_QUORUM)if(t==null)t=n;else return this.hasSkipped=!0,Math.floor((Math.abs(t.getX()-n.getX())-Math.abs(t.getY()-n.getY()))/2);return 0}haveMultiplyConfirmedCenters(){let e=0,t=0;const n=this.possibleCenters.length;for(const i of this.possibleCenters)i.getCount()>=Mt.CENTER_QUORUM&&(e++,t+=i.getEstimatedModuleSize());if(e<3)return!1;const r=t/n;let s=0;for(const i of this.possibleCenters)s+=Math.abs(i.getEstimatedModuleSize()-r);return s<=.05*t}selectBestPatterns(){const e=this.possibleCenters.length;if(e<3)throw new B;const t=this.possibleCenters;let n;if(e>3){let r=0,s=0;for(const a of this.possibleCenters){const l=a.getEstimatedModuleSize();r+=l,s+=l*l}n=r/e;let i=Math.sqrt(s/e-n*n);t.sort((a,l)=>{const d=Math.abs(l.getEstimatedModuleSize()-n),_=Math.abs(a.getEstimatedModuleSize()-n);return d<_?-1:d>_?1:0});const o=Math.max(.2*n,i);for(let a=0;a<t.length&&t.length>3;a++){const l=t[a];Math.abs(l.getEstimatedModuleSize()-n)>o&&(t.splice(a,1),a--)}}if(t.length>3){let r=0;for(const s of t)r+=s.getEstimatedModuleSize();n=r/t.length,t.sort((s,i)=>{if(i.getCount()===s.getCount()){const o=Math.abs(i.getEstimatedModuleSize()-n),a=Math.abs(s.getEstimatedModuleSize()-n);return o<a?1:o>a?-1:0}else return i.getCount()-s.getCount()}),t.splice(3)}return[t[0],t[1],t[2]]}}Mt.CENTER_QUORUM=2,Mt.MIN_SKIP=3,Mt.MAX_MODULES=57;class lr{constructor(e){this.image=e}getImage(){return this.image}getResultPointCallback(){return this.resultPointCallback}detect(e){this.resultPointCallback=e==null?null:e.get(z.NEED_RESULT_POINT_CALLBACK);const n=new Mt(this.image,this.resultPointCallback).find(e);return this.processFinderPatternInfo(n)}processFinderPatternInfo(e){const t=e.getTopLeft(),n=e.getTopRight(),r=e.getBottomLeft(),s=this.calculateModuleSize(t,n,r);if(s<1)throw new B("No pattern found in proccess finder.");const i=lr.computeDimension(t,n,r,s),o=Te.getProvisionalVersionForDimension(i),a=o.getDimensionForVersion()-7;let l=null;if(o.getAlignmentPatternCenters().length>0){const S=n.getX()-t.getX()+r.getX(),R=n.getY()-t.getY()+r.getY(),M=1-3/a,L=Math.floor(t.getX()+M*(S-t.getX())),X=Math.floor(t.getY()+M*(R-t.getY()));for(let ue=4;ue<=16;ue<<=1)try{l=this.findAlignmentInRegion(s,L,X,ue);break}catch(he){if(!(he instanceof B))throw he}}const d=lr.createTransform(t,n,r,l,i),_=lr.sampleGrid(this.image,d,i);let C;return l===null?C=[r,t,n]:C=[r,t,n,l],new ot(_,C)}
6static createTransform(e,t,n,r,s){const i=s-3.5;let o,a,l,d;return r!==null?(o=r.getX(),a=r.getY(),l=i-3,d=l):(o=t.getX()-e.getX()+n.getX(),a=t.getY()-e.getY()+n.getY(),l=i,d=i),Yt.quadrilateralToQuadrilateral(3.5,3.5,i,3.5,l,d,3.5,i,e.getX(),e.getY(),t.getX(),t.getY(),o,a,n.getX(),n.getY())}static sampleGrid(e,t,n){return _n.getInstance().sampleGridWithTransform(e,n,n,t)}static computeDimension(e,t,n,r){const s=fe.round(me.distance(e,t)/r),i=fe.round(me.distance(e,n)/r);let o=Math.floor((s+i)/2)+7;switch(o&3){case 0:o++;break;case 2:o--;break;case 3:throw new B("Dimensions could be not found.")}return o}calculateModuleSize(e,t,n){return(this.calculateModuleSizeOneWay(e,t)+this.calculateModuleSizeOneWay(e,n))/2}calculateModuleSizeOneWay(e,t){const n=this.sizeOfBlackWhiteBlackRunBothWays(Math.floor(e.getX()),Math.floor(e.getY()),Math.floor(t.getX()),Math.floor(t.getY())),r=this.sizeOfBlackWhiteBlackRunBothWays(Math.floor(t.getX()),Math.floor(t.getY()),Math.floor(e.getX()),Math.floor(e.getY()));return isNaN(n)?r/7:isNaN(r)?n/7:(n+r)/14}sizeOfBlackWhiteBlackRunBothWays(e,t,n,r){let s=this.sizeOfBlackWhiteBlackRun(e,t,n,r),i=1,o=e-(n-e);o<0?(i=e/(e-o),o=0):o>=this.image.getWidth()&&(i=(this.image.getWidth()-1-e)/(o-e),o=this.image.getWidth()-1);let a=Math.floor(t-(r-t)*i);return i=1,a<0?(i=t/(t-a),a=0):a>=this.image.getHeight()&&(i=(this.image.getHeight()-1-t)/(a-t),a=this.image.getHeight()-1),o=Math.floor(e+(o-e)*i),s+=this.sizeOfBlackWhiteBlackRun(e,t,o,a),s-1}sizeOfBlackWhiteBlackRun(e,t,n,r){const s=Math.abs(r-t)>Math.abs(n-e);if(s){let S=e;e=t,t=S,S=n,n=r,r=S}const i=Math.abs(n-e),o=Math.abs(r-t);let a=-i/2;const l=e<n?1:-1,d=t<r?1:-1;let _=0;const C=n+l;for(let S=e,R=t;S!==C;S+=l){const M=s?R:S,L=s?S:R;if(_===1===this.image.get(M,L)){if(_===2)return fe.distance(S,R,e,t);_++}if(a+=o,a>0){if(R===r)break;R+=d,a-=i}}return _===2?fe.distance(n+l,r,e,t):NaN}findAlignmentInRegion(e,t,n,r){const s=Math.floor(r*e),i=Math.max(0,t-s),o=Math.min(this.image.getWidth()-1,t+s);if(o-i<e*3)throw new B("Alignment top exceeds estimated module size.");const a=Math.max(0,n-s),l=Math.min(this.image.getHeight()-1,n+s);if(l-a<e*3)throw new B("Alignment bottom exceeds estimated module size.");return new Sr(this.image,i,a,o-i,l-a,e,this.resultPointCallback).find()}}class kn{constructor(){this.decoder=new Bi}getDecoder(){return this.decoder}decode(e,t){let n,r;if(t!=null&&t.get(z.PURE_BARCODE)!==void 0){const a=kn.extractPureBits(e.getBlackMatrix());n=this.decoder.decodeBitMatrix(a,t),r=kn.NO_POINTS}else{const a=new lr(e.getBlackMatrix()).detect(t);n=this.decoder.decodeBitMatrix(a.getBits(),t),r=a.getPoints()}n.getOther()instanceof Ts&&n.getOther().applyMirroredCorrection(r);const s=new K(n.getText(),n.getRawBytes(),void 0,r,_e.QR_CODE,void 0),i=n.getByteSegments();i!==null&&s.putMetadata(Be.BYTE_SEGMENTS,i);const o=n.getECLevel();return o!==null&&s.putMetadata(Be.ERROR_CORRECTION_LEVEL,o),n.hasStructuredAppend()&&(s.putMetadata(Be.STRUCTURED_APPEND_SEQUENCE,n.getStructuredAppendSequenceNumber()),s.putMetadata(Be.STRUCTURED_APPEND_PARITY,n.getStructuredAppendParity())),s}reset(){}static extractPureBits(e){const t=e.getTopLeftOnBit(),n=e.getBottomRightOnBit();if(t===null||n===null)throw new B;const r=this.moduleSize(t,e);let s=t[1],i=n[1],o=t[0],a=n[0];if(o>=a||s>=i)throw new B;if(i-s!==a-o&&(a=o+(i-s),a>=e.getWidth()))throw new B;const l=Math.round((a-o+1)/r),d=Math.round((i-s+1)/r);if(l<=0||d<=0)throw new B;if(d!==l)throw new B;const _=Math.floor(r/2);s+=_,o+=_;const C=o+Math.floor((l-1)*r)-a;if(C>0){if(C>_)throw new B;o-=C}const S=s+Math.floor((d-1)*r)-i;if(S>0){if(S>_)throw new B;s-=S}const R=new Ve(l,d);for(let M=0;M<d;M++){const L=s+Math.floor(M*r);for(let X=0;X<l;X++)e.get(o+Math.floor(X*r),L)&&R.set(X,M)}return R}static moduleSize(e,t){const n=t.getHeight(),r=t.getWidth();let s=e[0],i=e[1],o=!0,a=0;for(;s<r&&i<n;){if(o!==t.get(s,i)){if(++a===5)break;o=!o}s++,i++}if(s===r||i===n)throw new B;return(s-e[0])/7}}kn.NO_POINTS=new Array;class Pe{PDF417Common(){}static getBitCountSum(e){return fe.sum(e)}static toIntArray(e){if(e==null||!e.length)return Pe.EMPTY_INT_ARRAY;const t=new Int32Array(e.length);let n=0;for(const r of e)t[n++]=r;return t}static getCodeword(e){const t=Z.binarySearch(Pe.SYMBOL_TABLE,e&262143);return t<0?-1:(Pe.CODEWORD_TABLE[t]-1)%Pe.NUMBER_OF_CODEWORDS}}Pe.NUMBER_OF_CODEWORDS=929,Pe.MAX_CODEWORDS_IN_BARCODE=Pe.NUMBER_OF_CODEWORDS-1,Pe.MIN_ROWS_IN_BARCODE=3,Pe.MAX_ROWS_IN_BARCODE=90,Pe.MODULES_IN_CODEWORD=17,Pe.MODULES_IN_STOP_PATTERN=18,Pe.BARS_IN_MODULE=8,Pe.EMPTY_INT_ARRAY=new Int32Array([]),Pe
vendor: 17,028 bytes, line 6
6.SYMBOL_TABLE=Int32Array.from([66142,66170,66206,66236,66290,66292,66350,66382,66396,66454,66470,66476,66594,66600,66614,66626,66628,66632,66640,66654,66662,66668,66682,66690,66718,66720,66748,66758,66776,66798,66802,66804,66820,66824,66832,66846,66848,66876,66880,66936,66950,66956,66968,66992,67006,67022,67036,67042,67044,67048,67062,67118,67150,67164,67214,67228,67256,67294,67322,67350,67366,67372,67398,67404,67416,67438,67474,67476,67490,67492,67496,67510,67618,67624,67650,67656,67664,67678,67686,67692,67706,67714,67716,67728,67742,67744,67772,67782,67788,67800,67822,67826,67828,67842,67848,67870,67872,67900,67904,67960,67974,67992,68016,68030,68046,68060,68066,68068,68072,68086,68104,68112,68126,68128,68156,68160,68216,68336,68358,68364,68376,68400,68414,68448,68476,68494,68508,68536,68546,68548,68552,68560,68574,68582,68588,68654,68686,68700,68706,68708,68712,68726,68750,68764,68792,68802,68804,68808,68816,68830,68838,68844,68858,68878,68892,68920,68976,68990,68994,68996,69e3,69008,69022,69024,69052,69062,69068,69080,69102,69106,69108,69142,69158,69164,69190,69208,69230,69254,69260,69272,69296,69310,69326,69340,69386,69394,69396,69410,69416,69430,69442,69444,69448,69456,69470,69478,69484,69554,69556,69666,69672,69698,69704,69712,69726,69754,69762,69764,69776,69790,69792,69820,69830,69836,69848,69870,69874,69876,69890,69918,69920,69948,69952,70008,70022,70040,70064,70078,70094,70108,70114,70116,70120,70134,70152,70174,70176,70264,70384,70412,70448,70462,70496,70524,70542,70556,70584,70594,70600,70608,70622,70630,70636,70664,70672,70686,70688,70716,70720,70776,70896,71136,71180,71192,71216,71230,71264,71292,71360,71416,71452,71480,71536,71550,71554,71556,71560,71568,71582,71584,71612,71622,71628,71640,71662,71726,71732,71758,71772,71778,71780,71784,71798,71822,71836,71864,71874,71880,71888,71902,71910,71916,71930,71950,71964,71992,72048,72062,72066,72068,72080,72094,72096,72124,72134,72140,72152,72174,72178,72180,72206,72220,72248,72304,72318,72416,72444,72456,72464,72478,72480,72508,72512,72568,72588,72600,72624,72638,72654,72668,72674,72676,72680,72694,72726,72742,72748,72774,72780,72792,72814,72838,72856,72880,72894,72910,72924,72930,72932,72936,72950,72966,72972,72984,73008,73022,73056,73084,73102,73116,73144,73156,73160,73168,73182,73190,73196,73210,73226,73234,73236,73250,73252,73256,73270,73282,73284,73296,73310,73318,73324,73346,73348,73352,73360,73374,73376,73404,73414,73420,73432,73454,73498,73518,73522,73524,73550,73564,73570,73572,73576,73590,73800,73822,73858,73860,73872,73886,73888,73916,73944,73970,73972,73992,74014,74016,74044,74048,74104,74118,74136,74160,74174,74210,74212,74216,74230,74244,74256,74270,74272,74360,74480,74502,74508,74544,74558,74592,74620,74638,74652,74680,74690,74696,74704,74726,74732,74782,74784,74812,74992,75232,75288,75326,75360,75388,75456,75512,75576,75632,75646,75650,75652,75664,75678,75680,75708,75718,75724,75736,75758,75808,75836,75840,75896,76016,76256,76736,76824,76848,76862,76896,76924,76992,77048,77296,77340,77368,77424,77438,77536,77564,77572,77576,77584,77600,77628,77632,77688,77702,77708,77720,77744,77758,77774,77788,77870,77902,77916,77922,77928,77966,77980,78008,78018,78024,78032,78046,78060,78074,78094,78136,78192,78206,78210,78212,78224,78238,78240,78268,78278,78284,78296,78322,78324,78350,78364,78448,78462,78560,78588,78600,78622,78624,78652,78656,78712,78726,78744,78768,78782,78798,78812,78818,78820,78824,78838,78862,78876,78904,78960,78974,79072,79100,79296,79352,79368,79376,79390,79392,79420,79424,79480,79600,79628,79640,79664,79678,79712,79740,79772,79800,79810,79812,79816,79824,79838,79846,79852,79894,79910,79916,79942,79948,79960,79982,79988,80006,80024,80048,80062,80078,80092,80098,80100,80104,80134,80140,80176,80190,80224,80252,80270,80284,80312,80328,80336,80350,80358,80364,80378,80390,80396,80408,80432,80446,80480,80508,80576,80632,80654,80668,80696,80752,80766,80776,80784,80798,80800,80828,80844,80856,80878,80882,80884,80914,80916,80930,80932,80936,80950,80962,80968,80976,80990,80998,81004,81026,81028,81040,81054,81056,81084,81094,81100,81112,81134,81154,81156,81160,81168,81182,81184,81212,81216,81272,81286,81292,81304,81328,81342,81358,81372,81380,81384,81398,81434,81454,81458,81460,81486,81500,81506,81508,81512,81526,81550,81564,81592,81602,81604,81608,81616,81630,81638,81644,81702,81708,81722,81734,81740,81752,81774,81778,81780,82050,82078,82080,82108,82180,82184,82192,82206,82208,82236,82240,82296,82316,82328,82352,82366,82402,82404,82408,82440,82448,82462,82464,82492,82496,82552,82672,82694,82700,82712,82736,82750,82784,82812,82830,82882,82884,82888,82896,82918,82924,82952,82960,82974,82976,83004,83008,83064,83184,83424,83468,83480,83504,83518,83552,83580,83648,83704,83740,83768,83824,83838,83842,83844,83848,83856,83872,83900,83910,83916,83928,83950,83984,84e3,84028,84032,84088,84208,84448,84928,85040,85054,85088,85116,85184,85240,85488,85560,85616,85630,85728,85756,85764,85768,85776,85790,85792,85820,85824,85880,85894,85900,85912,85936,85966,85980,86048,86080,86136,86256,86496,86976,88160,88188,88256,88312,88560,89056,89200,89214,89312,89340,89536,89592,89608,89616,89632,89664,89720,89840,89868,89880,89904,89952,89980,89998,90012,90040,90190,90204,90254,90268,90296,90306,90308,90312,90334,90382,90396,90424,90480,90494,90500,90504,90512,90526,90528,90556,90566,90572,90584,90610,90612,90638,90652,90680,90736,90750,90848,90876,90884,90888,90896,90910,90912,90940,90944,91e3,91014,91020,91032,91056,91070,91086,91100,91106,91108,91112,91126,91150,91164,91192,91248,91262,91360,91388,91584,91640,91664,91678,91680,91708,91712,91768,91888,91928,91952,91966,92e3,92028,92046,92060,92088,92098,92100,92104,92112,92126,92134,92140,92188,92216,92272,92384,92412,92608,92664,93168,93200,93214,93216,93244,93248,93304,93424,93664,93720,93744,93758,93792,93820,93888,93944,93980,94008,94064,94078,94084,94088,94096,94110,94112,94140,94150,94156,94168,94246,94252,94278,94284,94296,94318,94342,94348,94360,94384,94398,94414,94428,94440,94470,94476,94488,94512,94526,94560,94588,94606,94620,94648,94658,94660,94664,94672,94686,94694,94700,94714,94726,94732,94744,94768,94782,94816,94844,94912,94968,94990,95004,95032,95088,95102,95112,95120,95134,95136,95164,95180,95192,95214,95218,95220,95244,95256,95280,95294,95328,95356,95424,95480,95728,95758,95772,95800,95856,95870,95968,95996,96008,96016,96030,96032,96060,96064,96120,96152,96176,96190,96220,96226,96228,96232,96290,96292,96296,96310,96322,96324,96328,96336,96350,96358,96364,96386,96388,96392,96400,96414,96416,96444,96454,96460,96472,96494,96498,96500,96514,96516,96520,96528,96542,96544,96572,96576,96632,96646,96652,96664,96688,96702,96718,96732,96738,96740,96744,96758,96772,96776,96784,96798,96800,96828,96832,96888,97008,97030,97036,97048,97072,97086,97120,97148,97166,97180,97208,97220,97224,97232,97246,97254,97260,97326,97330,97332,97358,97372,97378,97380,97384,97398,97422,97436,97464,97474,97476,97480,97488,97502,97510,97516,97550,97564,97592,97648,97666,97668,97672,97680,97694,97696,97724,97734,97740,97752,97774,97830,97836,97850,97862,97868,97880,97902,97906,97908,97926,97932,97944,97968,97998,98012,98018,98020,98024,98038,98618,98674,98676,98838,98854,98874,98892,98904,98926,98930,98932,98968,99006,99042,99044,99048,99062,99166,99194,99246,99286,99350,99366,99372,99386,99398,99416,99438,99442,99444,99462,99504,99518,99534,99548,99554,99556,99560,99574,99590,99596,99608,99632,99646,99680,99708,99726,99740,99768,99778,99780,99784,99792,99806,99814,99820,99834,99858,99860,99874,99880,99894,99906,99920,99934,99962,99970,99972,99976,99984,99998,1e5,100028,100038,100044,100056,100078,100082,100084,100142,100174,100188,100246,100262,100268,100306,100308,100390,100396,100410,100422,100428,100440,100462,100466,100468,100486,100504,100528,100542,100558,100572,100578,100580,100584,100598,100620,100656,100670,100704,100732,100750,100792,100802,100808,100816,100830,100838,100844,100858,100888,100912,100926,100960,100988,101056,101112,101148,101176,101232,101246,101250,101252,101256,101264,101278,101280,101308,101318,101324,101336,101358,101362,101364,101410,101412,101416,101430,101442,101448,101456,101470,101478,101498,101506,101508,101520,101534,101536,101564,101580,101618,101620,101636,101640,101648,101662,101664,101692,101696,101752,101766,101784,101838,101858,101860,101864,101934,101938,101940,101966,101980,101986,101988,101992,102030,102044,102072,102082,102084,102088,102096,102138,102166,102182,102188,102214,102220,102232,102254,102282,102290,102292,102306,102308,102312,102326,102444,102458,102470,102476,102488,102514,102516,102534,102552,102576,102590,102606,102620,102626,102632,102646,102662,102668,102704,102718,102752,102780,102798,102812,102840,102850,102856,102864,102878,102886,102892,102906,102936,102974,103008,103036,103104,103160,103224,103280,103294,103298,103300,103312,103326,103328,103356,103366,103372,103384,103406,103410,103412,103472,103486,103520,103548,103616,103672,103920,103992,104048,104062,104160,104188,104194,104196,104200,104208,104224,104252,104256,104312,104326,104332,104344,104368,104382,104398,104412,104418,104420,104424,104482,104484,104514,104520,104528,104542,104550,104570,104578,104580,104592,104606,104608,104636,104652,104690,104692,104706,104712,104734,104736,104764,104768,104824,104838,104856,104910,104930,104932,104936,104968,104976,104990,104992,105020,105024,105080,105200,105240,105278,105312,105372,105410,105412,105416,105424,105446,105518,105524,105550,105564,105570,105572,105576,105614,105628,105656,105666,105672,105680,105702,105722,105742,105756,105784,105840,105854,105858,105860,105864,105872,105888,105932,105970,105972,106006,106022,106028,106054,106060,106072,106100,106118,106124,106136,106160,106174,106190,106210,106212,106216,106250,106258,106260,106274,106276,106280,106306,106308,106312,106320,106334,106348,106394,106414,106418,106420,106566,106572,106610,106612,106630,106636,106648,106672,106686,106722,106724,106728,106742,106758,106764,106776,106800,106814,106848,106876,106894,106908,106936,106946,106948,106952,106960,106974,106982,106988,107032,107056,107070,107104,107132,107200,107256,107292,107320,107376,107390,107394,107396,107400,107408,107422,107424,107452,107462,107468,107480,107502,107506,107508,107544,107568,107582,107616,107644,107712,107768,108016,108060,108088,108144,108158,108256,108284,108290,108292,108296,108304,108318,108320,108348,108352,108408,108422,108428,108440,108464,108478,108494,108508,108514,108516,108520,108592,108640,108668,108736,108792,109040,109536,109680,109694,109792,109820,110016,110072,110084,110088,110096,110112,110140,110144,110200,110320,110342,110348,110360,110384,110398,110432,110460,110478,110492,110520,110532,110536,110544,110558,110658,110686,110714,110722,110724,110728,110736,110750,110752,110780,110796,110834,110836,110850,110852,110856,110864,110878,110880,110908,110912,110968,110982,111e3,111054,111074,111076,111080,111108,111112,111120,111134,111136,111164,111168,111224,111344,111372,111422,111456,111516,111554,111556,111560,111568,111590,111632,111646,111648,111676,111680,111736,111856,112096,112152,112224,112252,112320,112440,112514,112516,112520,112528,112542,112544,112588,112686,112718,112732,112782,112796,112824,112834,112836,112840,112848,112870,112890,112910,112924,112952,113008,113022,113026,113028,113032,113040,113054,113056,113100,113138,113140,113166,113180,113208,113264,113278,113376,113404,113416,113424,113440,113468,113472,113560,113614,113634,113636,113640,113686,113702,113708,113734,113740,113752,113778,113780,113798,113804,113816,113840,113854,113870,113890,113892,113896,113926,113932,113944,113968,113982,114016,114044,114076,114114,114116,114120,114128,114150,114170,114194,114196,114210,114212,114216,114242,114244,114248,114256,114270,114278,114306,114308,114312,114320,114334,114336,114364,114380,114420,114458,114478,114482,114484,114510,114524,114530,114532,114536,114842,114866,114868,114970,114994,114996,115042,115044,115048,115062,115130,115226,115250,115252,115278,115292,115298,115300,115304,115318,115342,115394,115396,115400,115408,115422,115430,115436,115450,115478,115494,115514,115526,115532,115570,115572,115738,115758,115762,115764,115790,115804,115810,115812,115816,115830,115854,115868,115896,115906,115912,115920,115934,115942,115948,115962,115996,116024,116080,116094,116098,116100,116104,116112,116126,116128,116156,116166,116172,116184,116206,116210,116212,116246,116262,116268,116282,116294,116300,116312,116334,116338,116340,116358,116364,116376,116400,116414,116430,116444,116450,116452,116456,116498,116500,116514,116520,116534,116546,116548,116552,116560,116574,116582,116588,116602,116654,116694,116714,116762,116782,116786,116788,116814,116828,116834,116836,116840,116854,116878,116892,116920,116930,116936,116944,116958,116966,116972,116986,117006,117048,117104,117118,117122,117124,117136,117150,117152,117180,117190,117196,117208,117230,117234,117236,117304,117360,117374,117472,117500,117506,117508,117512,117520,117536,117564,117568,117624,117638,117644,117656,117680,117694,117710,117724,117730,117732,117736,117750,117782,117798,117804,117818,117830,117848,117874,117876,117894,117936,117950,117966,117986,117988,117992,118022,118028,118040,118064,118078,118112,118140,118172,118210,118212,118216,118224,118238,118246,118266,118306,118312,118338,118352,118366,118374,118394,118402,118404,118408,118416,118430,118432,118460,118476,118514,118516,118574,118578,118580,118606,118620,118626,118628,118632,118678,118694,118700,118730,118738,118740,118830,118834,118836,118862,118876,118882,118884,118888,118902,118926,118940,118968,118978,118980,118984,118992,119006,119014,119020,119034,119068,119096,119152,119166,119170,119172,119176,119184,119198,119200,119228,119238,119244,119256,119278,119282,119284,119324,119352,119408,119422,119520,119548,119554,119556,119560,119568,119582,119584,119612,119616,119672,119686,119692,119704,119728,119742,119758,119772,119778,119780,119784,119798,119920,119934,120032,120060,120256,120312,120324,120328,120336,120352,120384,120440,120560,120582,120588,120600,120624,120638,120672,120700,120718,120732,120760,120770,120772,120776,120784,120798,120806,120812,120870,120876,120890,120902,120908,120920,120946,120948,120966,120972,120984,121008,121022,121038,121058,121060,121064,121078,121100,121112,121136,121150,121184,121212,121244,121282,121284,121288,121296,121318,121338,121356,121368,121392,121406,121440,121468,121536,121592,121656,121730,121732,121736,121744,121758,121760,121804,121842,121844,121890,121922,121924,121928,121936,121950,121958,121978,121986,121988,121992,122e3,122014,122016,122044,122060,122098,122100,122116,122120,122128,122142,122144,122172,122176,122232,122246,122264,122318,122338,122340,122344,122414,122418,122420,122446,122460,122466,122468,122472,122510,122524,122552,122562,122564,122568,122576,122598,122618,122646,122662,122668,122694,122700,122712,122738,122740,122762,122770,122772,122786,122788,122792,123018,123026,123028,123042,123044,123048,123062,123098,123146,123154,123156,123170,123172,123176,123190,123202,123204,123208,123216,123238,123244,123258,123290,123314,123316,123402,123410,123412,123426,123428,123432,123446,123458,123464,123472,123486,123494,123500,123514,123522,123524,123528,123536,123552,123580,123590,123596,123608,123630,123634,123636,123674,123698,123700,123740,123746,123748,123752,123834,123914,123922,123924,123938,123944,123958,123970,123976,123984,123998,124006,124012,124026,124034,124036,124048,124062,124064,124092,124102,124108,124120,124142,124146,124148,124162,124164,124168,124176,124190,124192,124220,124224,124280,124294,124300,124312,124336,124350,124366,124380,124386,124388,124392,124406,124442,124462,124466,124468,124494,124508,124514,124520,124558,124572,124600,124610,124612,124616,124624,124646,124666,124694,124710,124716,124730,124742,124748,124760,124786,124788,124818,124820,124834,124836,124840,124854,124946,124948,124962,124964,124968,124982,124994,124996,125e3,125008,125022,125030,125036,125050,125058,125060,125064,125072,125086,125088,125116,125126,125132,125144,125166,125170,125172,125186,125188,125192,125200,125216,125244,125248,125304,125318,125324,125336,125360,125374,125390,125404,125410,125412,125416,125430,125444,125448,125456,125472,125504,125560,125680,125702,125708,125720,125744,125758,125792,125820,125838,125852,125880,125890,125892,125896,125904,125918,125926,125932,125978,125998,126002,126004,126030,126044,126050,126052,126056,126094,126108,126136,126146,126148,126152,126160,126182,126202,126222,126236,126264,126320,126334,126338,126340,126344,126352,126366,126368,126412,126450,126452,126486,126502,126508,126522,126534,126540,126552,126574,126578,126580,126598,126604,126616,126640,126654,126670,126684,126690,126692,126696,126738,126754,126756,126760,126774,126786,126788,126792,126800,126814,126822,126828,126842,126894,126898,126900,126934,127126,127142,127148,127162,127178,127186,127188,127254,127270,127276,127290,127302,127308,127320,127342,127346,127348,127370,127378,127380,127394,127396,1274
vendor: 3,613 bytes, line 6
600,127450,127510,127526,127532,127546,127558,127576,127598,127602,127604,127622,127628,127640,127664,127678,127694,127708,127714,127716,127720,127734,127754,127762,127764,127778,127784,127810,127812,127816,127824,127838,127846,127866,127898,127918,127922,127924,128022,128038,128044,128058,128070,128076,128088,128110,128114,128116,128134,128140,128152,128176,128190,128206,128220,128226,128228,128232,128246,128262,128268,128280,128304,128318,128352,128380,128398,128412,128440,128450,128452,128456,128464,128478,128486,128492,128506,128522,128530,128532,128546,128548,128552,128566,128578,128580,128584,128592,128606,128614,128634,128642,128644,128648,128656,128670,128672,128700,128716,128754,128756,128794,128814,128818,128820,128846,128860,128866,128868,128872,128886,128918,128934,128940,128954,128978,128980,129178,129198,129202,129204,129238,129258,129306,129326,129330,129332,129358,129372,129378,129380,129384,129398,129430,129446,129452,129466,129482,129490,129492,129562,129582,129586,129588,129614,129628,129634,129636,129640,129654,129678,129692,129720,129730,129732,129736,129744,129758,129766,129772,129814,129830,129836,129850,129862,129868,129880,129902,129906,129908,129930,129938,129940,129954,129956,129960,129974,130010]),Pe.CODEWORD_TABLE=Int32Array.from([2627,1819,2622,2621,1813,1812,2729,2724,2723,2779,2774,2773,902,896,908,868,865,861,859,2511,873,871,1780,835,2493,825,2491,842,837,844,1764,1762,811,810,809,2483,807,2482,806,2480,815,814,813,812,2484,817,816,1745,1744,1742,1746,2655,2637,2635,2626,2625,2623,2628,1820,2752,2739,2737,2728,2727,2725,2730,2785,2783,2778,2777,2775,2780,787,781,747,739,736,2413,754,752,1719,692,689,681,2371,678,2369,700,697,694,703,1688,1686,642,638,2343,631,2341,627,2338,651,646,643,2345,654,652,1652,1650,1647,1654,601,599,2322,596,2321,594,2319,2317,611,610,608,606,2324,603,2323,615,614,612,1617,1616,1614,1612,616,1619,1618,2575,2538,2536,905,901,898,909,2509,2507,2504,870,867,864,860,2512,875,872,1781,2490,2489,2487,2485,1748,836,834,832,830,2494,827,2492,843,841,839,845,1765,1763,2701,2676,2674,2653,2648,2656,2634,2633,2631,2629,1821,2638,2636,2770,2763,2761,2750,2745,2753,2736,2735,2733,2731,1848,2740,2738,2786,2784,591,588,576,569,566,2296,1590,537,534,526,2276,522,2274,545,542,539,548,1572,1570,481,2245,466,2242,462,2239,492,485,482,2249,496,494,1534,1531,1528,1538,413,2196,406,2191,2188,425,419,2202,415,2199,432,430,427,1472,1467,1464,433,1476,1474,368,367,2160,365,2159,362,2157,2155,2152,378,377,375,2166,372,2165,369,2162,383,381,379,2168,1419,1418,1416,1414,385,1411,384,1423,1422,1420,1424,2461,802,2441,2439,790,786,783,794,2409,2406,2403,750,742,738,2414,756,753,1720,2367,2365,2362,2359,1663,693,691,684,2373,680,2370,702,699,696,704,1690,1687,2337,2336,2334,2332,1624,2329,1622,640,637,2344,634,2342,630,2340,650,648,645,2346,655,653,1653,1651,1649,1655,2612,2597,2595,2571,2568,2565,2576,2534,2529,2526,1787,2540,2537,907,904,900,910,2503,2502,2500,2498,1768,2495,1767,2510,2508,2506,869,866,863,2513,876,874,1782,2720,2713,2711,2697,2694,2691,2702,2672,2670,2664,1828,2678,2675,2647,2646,2644,2642,1823,2639,1822,2654,2652,2650,2657,2771,1855,2765,2762,1850,1849,2751,2749,2747,2754,353,2148,344,342,336,2142,332,2140,345,1375,1373,306,2130,299,2128,295,2125,319,314,311,2132,1354,1352,1349,1356,262,257,2101,253,2096,2093,274,273,267,2107,263,2104,280,278,275,1316,1311,1308,1320,1318,2052,202,2050,2044,2040,219,2063,212,2060,208,2055,224,221,2066,1260,1258,1252,231,1248,229,1266,1264,1261,1268,155,1998,153,1996,1994,1991,1988,165,164,2007,162,2006,159,2003,2e3,172,171,169,2012,166,2010,1186,1184,1182,1179,175,11
vendor: 10,493 bytes, line 6
676,173,1192,1191,1189,1187,176,1194,1193,2313,2307,2305,592,589,2294,2292,2289,578,572,568,2297,580,1591,2272,2267,2264,1547,538,536,529,2278,525,2275,547,544,541,1574,1571,2237,2235,2229,1493,2225,1489,478,2247,470,2244,465,2241,493,488,484,2250,498,495,1536,1533,1530,1539,2187,2186,2184,2182,1432,2179,1430,2176,1427,414,412,2197,409,2195,405,2193,2190,426,424,421,2203,418,2201,431,429,1473,1471,1469,1466,434,1477,1475,2478,2472,2470,2459,2457,2454,2462,803,2437,2432,2429,1726,2443,2440,792,789,785,2401,2399,2393,1702,2389,1699,2411,2408,2405,745,741,2415,758,755,1721,2358,2357,2355,2353,1661,2350,1660,2347,1657,2368,2366,2364,2361,1666,690,687,2374,683,2372,701,698,705,1691,1689,2619,2617,2610,2608,2605,2613,2593,2588,2585,1803,2599,2596,2563,2561,2555,1797,2551,1795,2573,2570,2567,2577,2525,2524,2522,2520,1786,2517,1785,2514,1783,2535,2533,2531,2528,1788,2541,2539,906,903,911,2721,1844,2715,2712,1838,1836,2699,2696,2693,2703,1827,1826,1824,2673,2671,2669,2666,1829,2679,2677,1858,1857,2772,1854,1853,1851,1856,2766,2764,143,1987,139,1986,135,133,131,1984,128,1983,125,1981,138,137,136,1985,1133,1132,1130,112,110,1974,107,1973,104,1971,1969,122,121,119,117,1977,114,1976,124,1115,1114,1112,1110,1117,1116,84,83,1953,81,1952,78,1950,1948,1945,94,93,91,1959,88,1958,85,1955,99,97,95,1961,1086,1085,1083,1081,1078,100,1090,1089,1087,1091,49,47,1917,44,1915,1913,1910,1907,59,1926,56,1925,53,1922,1919,66,64,1931,61,1929,1042,1040,1038,71,1035,70,1032,68,1048,1047,1045,1043,1050,1049,12,10,1869,1867,1864,1861,21,1880,19,1877,1874,1871,28,1888,25,1886,22,1883,982,980,977,974,32,30,991,989,987,984,34,995,994,992,2151,2150,2147,2146,2144,356,355,354,2149,2139,2138,2136,2134,1359,343,341,338,2143,335,2141,348,347,346,1376,1374,2124,2123,2121,2119,1326,2116,1324,310,308,305,2131,302,2129,298,2127,320,318,316,313,2133,322,321,1355,1353,1351,1357,2092,2091,2089,2087,1276,2084,1274,2081,1271,259,2102,256,2100,252,2098,2095,272,269,2108,266,2106,281,279,277,1317,1315,1313,1310,282,1321,1319,2039,2037,2035,2032,1203,2029,1200,1197,207,2053,205,2051,201,2049,2046,2043,220,218,2064,215,2062,211,2059,228,226,223,2069,1259,1257,1254,232,1251,230,1267,1265,1263,2316,2315,2312,2311,2309,2314,2304,2303,2301,2299,1593,2308,2306,590,2288,2287,2285,2283,1578,2280,1577,2295,2293,2291,579,577,574,571,2298,582,581,1592,2263,2262,2260,2258,1545,2255,1544,2252,1541,2273,2271,2269,2266,1550,535,532,2279,528,2277,546,543,549,1575,1573,2224,2222,2220,1486,2217,1485,2214,1482,1479,2238,2236,2234,2231,1496,2228,1492,480,477,2248,473,2246,469,2243,490,487,2251,497,1537,1535,1532,2477,2476,2474,2479,2469,2468,2466,2464,1730,2473,2471,2453,2452,2450,2448,1729,2445,1728,2460,2458,2456,2463,805,804,2428,2427,2425,2423,1725,2420,1724,2417,1722,2438,2436,2434,2431,1727,2444,2442,793,791,788,795,2388,2386,2384,1697,2381,1696,2378,1694,1692,2402,2400,2398,2395,1703,2392,1701,2412,2410,2407,751,748,744,2416,759,757,1807,2620,2618,1806,1805,2611,2609,2607,2614,1802,1801,1799,2594,2592,2590,2587,1804,2600,2598,1794,1793,1791,1789,2564,2562,2560,2557,1798,2554,1796,2574,2572,2569,2578,1847,1846,2722,1843,1842,1840,1845,2716,2714,1835,1834,1832,1830,1839,1837,2700,2698,2695,2704,1817,1811,1810,897,862,1777,829,826,838,1760,1758,808,2481,1741,1740,1738,1743,2624,1818,2726,2776,782,740,737,1715,686,679,695,1682,1680,639,628,2339,647,644,1645,1643,1640,1648,602,600,597,595,2320,593,2318,609,607,604,1611,1610,1608,1606,613,1615,1613,2328,926,924,892,886,899,857,850,2505,1778,824,823,821,819,2488,818,2486,833,831,828,840,1761,1759,2649,2632,2630,2746,2734,2732,2782,2781,570,567,1587,531,527,523,540,1566,1564,476,467,463,2240,486,483,1524,1521,1518,1529,411,403,2192,399,2189,423,416,1462,1457,1454,428,1468,1465,2210,366,363,2158,360,2156,357,2153,376,373,370,2163,1410,1409,1407,1405,382,1402,380,1417,1415,1412,1421,2175,2174,777,774,771,784,732,725,722,2404,743,1716,676,674,668,2363,665,2360,685,1684,1681,626,624,622,2335,620,2333,617,2330,641,635,649,1646,1644,1642,2566,928,925,2530,2527,894,891,888,2501,2499,2496,858,856,854,851,1779,2692,2668,2665,2645,2643,2640,2651,2768,2759,2757,2744,2743,2741,2748,352,1382,340,337,333,1371,1369,307,300,296,2126,315,312,1347,1342,1350,261,258,250,2097,246,2094,271,268,264,1306,1301,1298,276,1312,1309,2115,203,2048,195,2045,191,2041,213,209,2056,1246,1244,1238,225,1234,222,1256,1253,1249,1262,2080,2079,154,1997,150,1995,147,1992,1989,163,160,2004,156,2001,1175,1174,1172,1170,1167,170,1164,167,1185,1183,1180,1177,174,1190,1188,2025,2024,2022,587,586,564,559,556,2290,573,1588,520,518,512,2268,508,2265,530,1568,1565,461,457,2233,450,2230,446,2226,479,471,489,1526,1523,1520,397,395,2185,392,2183,389,2180,2177,410,2194,402,422,1463,1461,1459,1456,1470,2455,799,2433,2430,779,776,773,2397,2394,2390,734,728,724,746,1717,2356,2354,2351,2348,1658,677,675,673,670,667,688,1685,1683,2606,2589,2586,2559,2556,2552,927,2523,2521,2518,2515,1784,2532,895,893,890,2718,2709,2707,2689,2687,2684,2663,2662,2660,2658,1825,2667,2769,1852,2760,2758,142,141,1139,1138,134,132,129,126,1982,1129,1128,1126,1131,113,111,108,105,1972,101,1970,120,118,115,1109,1108,1106,1104,123,1113,1111,82,79,1951,75,1949,72,1946,92,89,86,1956,1077,1076,1074,1072,98,1069,96,1084,1082,1079,1088,1968,1967,48,45,1916,42,1914,39,1911,1908,60,57,54,1923,50,1920,1031,1030,1028,1026,67,1023,65,1020,62,1041,1039,1036,1033,69,1046,1044,1944,1943,1941,11,9,1868,7,1865,1862,1859,20,1878,16,1875,13,1872,970,968,966,963,29,960,26,23,983,981,978,975,33,971,31,990,988,985,1906,1904,1902,993,351,2145,1383,331,330,328,326,2137,323,2135,339,1372,1370,294,293,291,289,2122,286,2120,283,2117,309,303,317,1348,1346,1344,245,244,242,2090,239,2088,236,2085,2082,260,2099,249,270,1307,1305,1303,1300,1314,189,2038,186,2036,183,2033,2030,2026,206,198,2047,194,216,1247,1245,1243,1240,227,1237,1255,2310,2302,2300,2286,2284,2281,565,563,561,558,575,1589,2261,2259,2256,2253,1542,521,519,517,514,2270,511,533,1569,1567,2223,2221,2218,2215,1483,2211,1480,459,456,453,2232,449,474,491,1527,1525,1522,2475,2467,2465,2451,2449,2446,801,800,2426,2424,2421,2418,1723,2435,780,778,775,2387,2385,2382,2379,1695,2375,1693,2396,735,733,730,727,749,1718,2616,2615,2604,2603,2601,2584,2583,2581,2579,1800,2591,2550,2549,2547,2545,1792,2542,1790,2558,929,2719,1841,2710,2708,1833,1831,2690,2688,2686,1815,1809,1808,1774,1756,1754,1737,1736,1734,1739,1816,1711,1676,1674,633,629,1638,1636,1633,1641,598,1605,1604,1602,1600,605,1609,1607,2327,887,853,1775,822,820,1757,1755,1584,524,1560,1558,468,464,1514,1511,1508,1519,408,404,400,1452,1447,1444,417,1458,1455,2208,364,361,358,2154,1401,1400,1398,1396,374,1393,371,1408,1406,1403,1413,2173,2172,772,726,723,1712,672,669,666,682,1678,1675,625,623,621,618,2331,636,632,1639,1637,1635,920,918,884,880,889,849,848,847,846,2497,855,852,1776,2641,2742,2787,1380,334,1367,1365,301,297,1340,1338,1335,1343,255,251,247,1296,1291,1288,265,1302,1299,2113,204,196,192,2042,1232,1230,1224,214,1220,210,1242,1239,1235,1250,2077,2075,151,148,1993,144,1990,1163,1162,1160,1158,1155,161,1152,157,1173,1171,1168,1165,168,1181,1178,2021,2020,2018,2023,585,560,557,1585,516,509,1562,1559,458,447,2227,472,1516,1513,1510,398,396,393,390,2181,386,2178,407,1453,1451,1449,1446,420,1460,2209,769,764,720,712,2391,729,1713,664,663,661,659,2352,656,2349,671,1679,1677,2553,922,919,2519,2516,885,883,881,2685,2661,2659,2767,2756,2755,140,1137,1136,130,127,1125,1124,1122,1127,109,106,102,1103,1102,1100,1098,116,1107,1105,1980,80,76,73,1947,1068,1067,1065,1063,90,1060,87,1075,1073,1070,1080,1966,1965,46,43,40,1912,36,1909,1019,1018,1016,1014,58,1011,55,1008,51,1029,1027,1024,1021,63,1037,1034,1940,1939,1937,1942,8,1866,4,1863,1,1860,956,954,952,949,946,17,14,969,967,964,961,27,957,24,979,976,972,1901,1900,1898,1896,986,1905,1903,350,349,1381,329,327,324,1368,1366,292,290,287,284,2118,304,1341,1339,1337,1345,243,240,237,2086,233,2083,254,1297,1295,1293,1290,1304,2114,190,187,184,2034,180,2031,177,2027,199,1233,1231,1229,1226,217,1223,1241,2078,2076,584,555,554,552,550,2282,562,1586,507,506,504,502,2257,499,2254,515,1563,1561,445,443,441,2219,438,2216,435,2212,460,454,475,1517,1515,1512,2447,798,797,2422,2419,770,768,766,2383,2380,2376,721,719,717,714,731,1714,2602,2582,2580,2548,2546,2543,923,921,2717,2706,2705,2683,2682,2680,1771,1752,1750,1733,1732,1731,1735,1814,1707,1670,1668,1631,1629,1626,1634,1599,1598,1596,1594,1603,1601,2326,1772,1753,1751,1581,1554,1552,1504,1501,1498,1509,1442,1437,1434,401,1448,1445,2206,1392,1391,1389,1387,1384,359,1399,1397,1394,1404,2171,2170,1708,1672,1669,619,1632,1630,1628,1773,1378,1363,1361,1333,1328,1336,1286,1281,1278,248,1292,1289,2111,1218,1216,1210,197,1206,193,1228,1225,1221,1236,2073,2071,1151,1150,1148,1146,152,1143,149,1140,145,1161,1159,1156,1153,158,1169,1166,2017,2016,2014,2019,1582,510,1556,1553,452,448,1506,1500,394,391,387,1443,1441,1439,1436,1450,2207,765,716,713,1709,662,660,657,1673,1671,916,914,879,878,877,882,1135,1134,1121,1120,1118,1123,1097,1096,1094,1092,103,1101,1099,1979,1059,1058,1056,1054,77,1051,74,1066,1064,1061,1071,1964,1963,1007,1006,1004,1002,999,41,996,37,1017,1015,1012,1009,52,1025,1022,1936,1935,1933,1938,942,940,938,935,932,5,2,955,953,950,947,18,943,15,965,962,958,1895,1894,1892,1890,973,1899,1897,1379,325,1364,1362,288,285,1334,1332,1330,241,238,234,1287,1285,1283,1280,1294,2112,188,185,181,178,2028,1219,1217,1215,1212,200,1209,1227,2074,2072,583,553,551,1583,505,503,500,513,1557,1555,444,442,439,436,2213,455,451,1507,1505,1502,796,763,762,760,767,711,710,708,706,2377,718,715,1710,2544,917,915,2681,1627,1597,1595,2325,1769,1749,1747,1499,1438,1435,2204,1390,1388,1385,1395,2169,2167,1704,1665,1662,1625,1623,1620,1770,1329,1282,1279,2109,1214,1207,1222,2068,2065,1149,1147,1144,1141,146,1157,1154,2013,2011,2008,2015,1579,1549,1546,1495,1487,1433,1431,1428,1425,388,1440,2205,1705,658,1667,1664,1119,1095,1093,1978,1057,1055,1052,1062,1962,1960,1005,1003,1e3,997,38,1013,1010,1932,1930,1927,1934,941,939,936,933,6,930,3,951,948,944,1889,1887,1884,1881,959,1893,1891,35,1377,1360,1358,1327,1325,1322,1331,1277,1275,1272,1269,235,1284,2110,1205,1204,1201,1198,182,1195,179,1213,2070,2067,1580,501,1551,1548,440,437,1497,1494,1490,1503,761,709,707,1706,913,912,2198,1386,2164,2161,1621,1766,2103,1208,2058,2054,1145,1142,2005,2002,1999,2009,1488,1429,1426,2200,1698,1659,1656,1975,1053,1957,1954,1001,998,1924,1921,1918,1928,937,934,931,1879,1876,1873,1870,945,1885,1882,1323,1273,1270,2105,1202,1199,1196,1211,2061,2057,1576,1543,1540,1484,1481,1478,1491,1700])
6;class Li{constructor(e,t){this.bits=e,this.points=t}getBits(){return this.bits}getPoints(){return this.points}}class $e{static detectMultiple(e,t,n){let r=e.getBlackMatrix(),s=$e.detect(n,r);return s.length||(r=r.clone(),r.rotate180(),s=$e.detect(n,r)),new Li(r,s)}static detect(e,t){const n=new Array;let r=0,s=0,i=!1;for(;r<t.getHeight();){const o=$e.findVertices(t,r,s);if(o[0]==null&&o[3]==null){if(!i)break;i=!1,s=0;
6for(const a of n)a[1]!=null&&(r=Math.trunc(Math.max(r,a[1].getY()))),a[3]!=null&&(r=Math.max(r,Math.trunc(a[3].getY())));r+=$e.ROW_STEP;continue}if(i=!0,n.push(o),!e)break;o[2]!=null?(s=Math.trunc(o[2].getX()),r=Math.trunc(o[2].getY())):(s=Math.trunc(o[4].getX()),r=Math.trunc(o[4].getY()))}return n}static findVertices(e,t,n){const r=e.getHeight(),s=e.getWidth(),i=new Array(8);return $e.copyToResult(i,$e.findRowsWithPattern(e,r,s,t,n,$e.START_PATTERN),$e.INDEXES_START_PATTERN),i[4]!=null&&(n=Math.trunc(i[4].getX()),t=Math.trunc(i[4].getY())),$e.copyToResult(i,$e.findRowsWithPattern(e,r,s,t,n,$e.STOP_PATTERN),$e.INDEXES_STOP_PATTERN),i}static copyToResult(e,t,n){for(let r=0;r<n.length;r++)e[n[r]]=t[r]}static findRowsWithPattern(e,t,n,r,s,i){const o=new Array(4);let a=!1;const l=new Int32Array(i.length);for(;r<t;r+=$e.ROW_STEP){let _=$e.findGuardPattern(e,s,r,n,!1,i,l);if(_!=null){for(;r>0;){const C=$e.findGuardPattern(e,s,--r,n,!1,i,l);if(C!=null)_=C;else{r++;break}}o[0]=new me(_[0],r),o[1]=new me(_[1],r),a=!0;break}}let d=r+1;if(a){let _=0,C=Int32Array.from([Math.trunc(o[0].getX()),Math.trunc(o[1].getX())]);for(;d<t;d++){const S=$e.findGuardPattern(e,C[0],d,n,!1,i,l);if(S!=null&&Math.abs(C[0]-S[0])<$e.MAX_PATTERN_DRIFT&&Math.abs(C[1]-S[1])<$e.MAX_PATTERN_DRIFT)C=S,_=0;else{if(_>$e.SKIPPED_ROW_COUNT_MAX)break;_++}}d-=_+1,o[2]=new me(C[0],d),o[3]=new me(C[1],d)}return d-r<$e.BARCODE_MIN_HEIGHT&&Z.fill(o,null),o}static findGuardPattern(e,t,n,r,s,i,o){Z.fillWithin(o,0,o.length,0);let a=t,l=0;for(;e.get(a,n)&&a>0&&l++<$e.MAX_PIXEL_DRIFT;)a--;let d=a,_=0,C=i.length;for(let S=s;d<r;d++)if(e.get(d,n)!==S)o[_]++;else{if(_===C-1){if($e.patternMatchVariance(o,i,$e.MAX_INDIVIDUAL_VARIANCE)<$e.MAX_AVG_VARIANCE)return new Int32Array([a,d]);a+=o[0]+o[1],P.arraycopy(o,2,o,0,_-1),o[_-1]=0,o[_]=0,_--}else _++;o[_]=1,S=!S}return _===C-1&&$e.patternMatchVariance(o,i,$e.MAX_INDIVIDUAL_VARIANCE)<$e.MAX_AVG_VARIANCE?new Int32Array([a,d-1]):null}static patternMatchVariance(e,t,n){let r=e.length,s=0,i=0;for(let l=0;l<r;l++)s+=e[l],i+=t[l];if(s<i)return 1/0;let o=s/i;n*=o;let a=0;for(let l=0;l<r;l++){let d=e[l],_=t[l]*o,C=d>_?d-_:_-d;if(C>n)return 1/0;a+=C}return a/s}}$e.INDEXES_START_PATTERN=Int32Array.from([0,4,1,5]),$e.INDEXES_STOP_PATTERN=Int32Array.from([6,2,7,3]),$e.MAX_AVG_VARIANCE=.42,$e.MAX_INDIVIDUAL_VARIANCE=.8,$e.START_PATTERN=Int32Array.from([8,1,1,1,1,1,1,3]),$e.STOP_PATTERN=Int32Array.from([7,1,1,3,1,1,1,2,1]),$e.MAX_PIXEL_DRIFT=3,$e.MAX_PATTERN_DRIFT=5,$e.SKIPPED_ROW_COUNT_MAX=25,$e.ROW_STEP=5,$e.BARCODE_MIN_HEIGHT=10;class Lt{constructor(e,t){if(t.length===0)throw new I;this.field=e;let n=t.length;if(n>1&&t[0]===0){let r=1;for(;r<n&&t[r]===0;)r++;r===n?this.coefficients=new Int32Array([0]):(this.coefficients=new Int32Array(n-r),P.arraycopy(t,r,this.coefficients,0,this.coefficients.length))}else this.coefficients=t}getCoefficients(){return this.coefficients}getDegree(){return this.coefficients.length-1}isZero(){return this.coefficients[0]===0}getCoefficient(e){return this.coefficients[this.coefficients.length-1-e]}evaluateAt(e){if(e===0)return this.getCoefficient(0);if(e===1){let r=0;for(let s of this.coefficients)r=this.field.add(r,s);return r}let t=this.coefficients[0],n=this.coefficients.length;for(let r=1;r<n;r++)t=this.field.add(this.field.multiply(e,t),this.coefficients[r]);return t}add(e){if(!this.field.equals(e.field))throw new I("ModulusPolys do not have same ModulusGF field");if(this.isZero())return e;if(e.isZero())return this;let t=this.coefficients,n=e.coefficients;if(t.length>n.length){let i=t;t=n,n=i}let r=new Int32Array(n.length),s=n.length-t.length;P.arraycopy(n,0,r,0,s);for(let i=s;i<n.length;i++)r[i]=this.field.add(t[i-s],n[i]);return new Lt(this.field,r)}subtract(e){if(!this.field.equals(e.field))throw new I("ModulusPolys do not have same ModulusGF field");return e.isZero()?this:this.add(e.negative())}multiply(e){return e instanceof Lt?this.multiplyOther(e):this.multiplyScalar(e)}multiplyOther(e){if(!this.field.equals(e.field))throw new I("ModulusPolys do not have same ModulusGF field");if(this.isZero()||e.isZero())return new Lt(this.field,new Int32Array([0]));let t=this.coefficients,n=t.length,r=e.coefficients,s=r.length,i=new Int32Array(n+s-1);for(let o=0;o<n;o++){let a=t[o];for(let l=0;l<s;l++)i[o+l]=this.field.add(i[o+l],this.field.multiply(a,r[l]))}return new Lt(this.field,i)}negative(){let e=this.coefficients.length,t=new Int32Array(e);for(let n=0;n<e;n++)t[n]=this.field.subtract(0,this.coefficients[n]);return new Lt(this.field,t)}multiplyScalar(e){if(e===0)return new Lt(this.field,new Int32Array([0]));if(e===1)return this;let t=this.coefficients.length,n=new Int32Array(t);for(let r=0;r<t;r++)n[r]=this.field.multiply(this.coefficients[r],e);return new Lt(this.field,n)}multiplyByMonomial(e,t){if(e<0)throw new I;if(t===0)return new Lt(this.field,new Int32Array([0]));let n=this.coefficients.length,r=new Int32Array(n+e);for(let s=0;s<n;s++)r[s]=this.field.multiply(this.coefficients[s],t);return new Lt(this.field,r)}toString(){let e=new be;for(let t=this.getDegree();t>=0;t--){let n=this.getCoefficient(t);n!==0&&(n<0?(e.append(" - "),n=-n):e.length()>0&&e.append(" + "),(t===0||n!==1)&&e.append(n),t!==0&&(t===1?e.append("x"):(e.append("x^"),e.append(t))))}return e.toString()}}class Fi{add(e,t){return(e+t)%this.modulus}subtract(e,t){return(this.modulus+e-t)%this.modulus}exp(e){return this.expTable[e]}log(e){if(e===0)throw new I;return this.logTable[e]}inverse(e){if(e===0)throw new Oe;return this.expTable[this.modulus-this.logTable[e]-1]}multiply(e,t){return e===0||t===0?0:this.expTable[(this.logTable[e]+this.logTable[t])%(this.modulus-1)]}getSize(){return this.modulus}equals(e){return e===this}}class Jr extends Fi{constructor(e,t){super(),this.modulus=e,this.expTable=new Int32Array(e),this.logTable=new Int32Array(e);let n=1;for(let r=0;r<e;r++)this.expTable[r]=n,n=n*t%e;for(let r=0;r<e-1;r++)this.logTable[this.expTable[r]]=r;this.zero=new Lt(this,new Int32Array([0])),this.one=new Lt(this,new Int32Array([1]))}getZero(){return this.zero}getOne(){return this.one}buildMonomial(e,t){if(e<0)throw new I;if(t===0)return this.zero;let n=new Int32Array(e+1);return n[0]=t,new Lt(this,n)}}Jr.PDF417_GF=new Jr(Pe.NUMBER_OF_CODEWORDS,3);class Ns{constructor(){this.field=Jr.PDF417_GF}decode(e,t,n){let r=new Lt(this.field,e),s=new Int32Array(t),i=!1;for(let R=t;R>0;R--){let M=r.evaluateAt(this.field.exp(R));
6s[t-R]=M,M!==0&&(i=!0)}if(!i)return 0;let o=this.field.getOne();if(n!=null)for(const R of n){let M=this.field.exp(e.length-1-R),L=new Lt(this.field,new Int32Array([this.field.subtract(0,M),1]));o=o.multiply(L)}let a=new Lt(this.field,s),l=this.runEuclideanAlgorithm(this.field.buildMonomial(t,1),a,t),d=l[0],_=l[1],C=this.findErrorLocations(d),S=this.findErrorMagnitudes(_,d,C);for(let R=0;R<C.length;R++){let M=e.length-1-this.field.log(C[R]);if(M<0)throw D.getChecksumInstance();e[M]=this.field.subtract(e[M],S[R])}return C.length}runEuclideanAlgorithm(e,t,n){if(e.getDegree()<t.getDegree()){let C=e;e=t,t=C}let r=e,s=t,i=this.field.getZero(),o=this.field.getOne();for(;s.getDegree()>=Math.round(n/2);){let C=r,S=i;if(r=s,i=o,r.isZero())throw D.getChecksumInstance();s=C;let R=this.field.getZero(),M=r.getCoefficient(r.getDegree()),L=this.field.inverse(M);for(;s.getDegree()>=r.getDegree()&&!s.isZero();){let X=s.getDegree()-r.getDegree(),ue=this.field.multiply(s.getCoefficient(s.getDegree()),L);R=R.add(this.field.buildMonomial(X,ue)),s=s.subtract(r.multiplyByMonomial(X,ue))}o=R.multiply(i).subtract(S).negative()}let a=o.getCoefficient(0);if(a===0)throw D.getChecksumInstance();let l=this.field.inverse(a),d=o.multiply(l),_=s.multiply(l);return[d,_]}findErrorLocations(e){let t=e.getDegree(),n=new Int32Array(t),r=0;for(let s=1;s<this.field.getSize()&&r<t;s++)e.evaluateAt(s)===0&&(n[r]=this.field.inverse(s),r++);if(r!==t)throw D.getChecksumInstance();return n}findErrorMagnitudes(e,t,n){let r=t.getDegree(),s=new Int32Array(r);for(let l=1;l<=r;l++)s[r-l]=this.field.multiply(l,t.getCoefficient(l));let i=new Lt(this.field,s),o=n.length,a=new Int32Array(o);for(let l=0;l<o;l++){let d=this.field.inverse(n[l]),_=this.field.subtract(0,e.evaluateAt(d)),C=this.field.inverse(i.evaluateAt(d));a[l]=this.field.multiply(_,C)}return a}}class Hn{constructor(e,t,n,r,s){e instanceof Hn?this.constructor_2(e):this.constructor_1(e,t,n,r,s)}constructor_1(e,t,n,r,s){const i=t==null||n==null,o=r==null||s==null;if(i&&o)throw new B;i?(t=new me(0,r.getY()),n=new me(0,s.getY())):o&&(r=new me(e.getWidth()-1,t.getY()),s=new me(e.getWidth()-1,n.getY())),this.image=e,this.topLeft=t,this.bottomLeft=n,this.topRight=r,this.bottomRight=s,this.minX=Math.trunc(Math.min(t.getX(),n.getX())),this.maxX=Math.trunc(Math.max(r.getX(),s.getX())),this.minY=Math.trunc(Math.min(t.getY(),r.getY())),this.maxY=Math.trunc(Math.max(n.getY(),s.getY()))}constructor_2(e){this.image=e.image,this.topLeft=e.getTopLeft(),this.bottomLeft=e.getBottomLeft(),this.topRight=e.getTopRight(),this.bottomRight=e.getBottomRight(),this.minX=e.getMinX(),this.maxX=e.getMaxX(),this.minY=e.getMinY(),this.maxY=e.getMaxY()}static merge(e,t){return e==null?t:t==null?e:new Hn(e.image,e.topLeft,e.bottomLeft,t.topRight,t.bottomRight)}addMissingRows(e,t,n){let r=this.topLeft,s=this.bottomLeft,i=this.topRight,o=this.bottomRight;if(e>0){let a=n?this.topLeft:this.topRight,l=Math.trunc(a.getY()-e);l<0&&(l=0);let d=new me(a.getX(),l);n?r=d:i=d}if(t>0){let a=n?this.bottomLeft:this.bottomRight,l=Math.trunc(a.getY()+t);l>=this.image.getHeight()&&(l=this.image.getHeight()-1);let d=new me(a.getX(),l);n?s=d:o=d}return new Hn(this.image,r,s,i,o)}getMinX(){return this.minX}getMaxX(){return this.maxX}getMinY(){return this.minY}getMaxY(){return this.maxY}getTopLeft(){return this.topLeft}getTopRight(){return this.topRight}getBottomLeft(){return this.bottomLeft}getBottomRight(){return this.bottomRight}}class Ui{constructor(e,t,n,r){this.columnCount=e,this.errorCorrectionLevel=r,this.rowCountUpperPart=t,this.rowCountLowerPart=n,this.rowCount=t+n}getColumnCount(){return this.columnCount}getErrorCorrectionLevel(){return this.errorCorrectionLevel}getRowCount(){return this.rowCount}getRowCountUpperPart(){return this.rowCountUpperPart}getRowCountLowerPart(){return this.rowCountLowerPart}}class cr{constructor(){this.buffer=""}static form(e,t){let n=-1;function r(i,o,a,l,d,_){if(i==="%%")return"%";if(t[++n]===void 0)return;i=l?parseInt(l.substr(1)):void 0;let C=d?parseInt(d.substr(1)):void 0,S;switch(_){case"s":S=t[n];break;case"c":S=t[n][0];break;case"f":S=parseFloat(t[n]).toFixed(i);break;case"p":S=parseFloat(t[n]).toPrecision(i);break;case"e":S=parseFloat(t[n]).toExponential(i);break;case"x":S=parseInt(t[n]).toString(C||16);break;case"d":S=parseFloat(parseInt(t[n],C||10).toPrecision(i)).toFixed(0);break}S=typeof S=="object"?JSON.stringify(S):(+S).toString(C);let R=parseInt(a),M=a&&a[0]+""=="0"?"0":" ";for(;S.length<R;)S=o!==void 0?S+M:M+S;return S}let s=/%(-)?(0?[0-9]+)?([.][0-9]+)?([#][0-9]+)?([scfpexd%])/g;return e.replace(s,r)}format(e,...t){this.buffer+=cr.form(e,t)}toString(){return this.buffer}}class ur{constructor(e){this.boundingBox=new Hn(e),this.codewords=new Array(e.getMaxY()-e.getMinY()+1)}getCodewordNearby(e){let t=this.getCodeword(e);if(t!=null)return t;for(let n=1;n<ur.MAX_NEARBY_DISTANCE;n++){let r=this.imageRowToCodewordIndex(e)-n;if(r>=0&&(t=this.codewords[r],t!=null)||(r=this.imageRowToCodewordIndex(e)+n,r<this.codewords.length&&(t=this.codewords[r],t!=null)))return t}return null}imageRowToCodewordIndex(e){return e-this.boundingBox.getMinY()}
6setCodeword(e,t){this.codewords[this.imageRowToCodewordIndex(e)]=t}getCodeword(e){return this.codewords[this.imageRowToCodewordIndex(e)]}getBoundingBox(){return this.boundingBox}getCodewords(){return this.codewords}toString(){const e=new cr;let t=0;for(const n of this.codewords){if(n==null){e.format("%3d:    |   %n",t++);continue}e.format("%3d: %3d|%3d%n",t++,n.getRowNumber(),n.getValue())}return e.toString()}}ur.MAX_NEARBY_DISTANCE=5;class dr{constructor(){this.values=new Map}setValue(e){e=Math.trunc(e);let t=this.values.get(e);t==null&&(t=0),t++,this.values.set(e,t)}getValue(){let e=-1,t=new Array;for(const[n,r]of this.values.entries()){const s={getKey:()=>n,getValue:()=>r};s.getValue()>e?(e=s.getValue(),t=[],t.push(s.getKey())):s.getValue()===e&&t.push(s.getKey())}return Pe.toIntArray(t)}getConfidence(e){return this.values.get(e)}}class Os extends ur{constructor(e,t){super(e),this._isLeft=t}setRowNumbers(){for(let e of this.getCodewords())e?.setRowNumberAsRowIndicatorColumn()}adjustCompleteIndicatorColumnRowNumbers(e){let t=this.getCodewords();this.setRowNumbers(),this.removeIncorrectCodewords(t,e);let n=this.getBoundingBox(),r=this._isLeft?n.getTopLeft():n.getTopRight(),s=this._isLeft?n.getBottomLeft():n.getBottomRight(),i=this.imageRowToCodewordIndex(Math.trunc(r.getY())),o=this.imageRowToCodewordIndex(Math.trunc(s.getY())),a=-1,l=1,d=0;for(let _=i;_<o;_++){if(t[_]==null)continue;let C=t[_],S=C.getRowNumber()-a;if(S===0)d++;else if(S===1)l=Math.max(l,d),d=1,a=C.getRowNumber();else if(S<0||C.getRowNumber()>=e.getRowCount()||S>_)t[_]=null;else{let R;l>2?R=(l-2)*S:R=S;let M=R>=_;for(let L=1;L<=R&&!M;L++)M=t[_-L]!=null;M?t[_]=null:(a=C.getRowNumber(),d=1)}}}getRowHeights(){let e=this.getBarcodeMetadata();if(e==null)return null;this.adjustIncompleteIndicatorColumnRowNumbers(e);let t=new Int32Array(e.getRowCount());for(let n of this.getCodewords())if(n!=null){let r=n.getRowNumber();if(r>=t.length)continue;t[r]++}return t}adjustIncompleteIndicatorColumnRowNumbers(e){let t=this.getBoundingBox(),n=this._isLeft?t.getTopLeft():t.getTopRight(),r=this._isLeft?t.getBottomLeft():t.getBottomRight(),s=this.imageRowToCodewordIndex(Math.trunc(n.getY())),i=this.imageRowToCodewordIndex(Math.trunc(r.getY())),o=this.getCodewords(),a=-1;for(let l=s;l<i;l++){if(o[l]==null)continue;let d=o[l];d.setRowNumberAsRowIndicatorColumn();let _=d.getRowNumber()-a;_===0||(_===1?a=d.getRowNumber():d.getRowNumber()>=e.getRowCount()?o[l]=null:a=d.getRowNumber())}}getBarcodeMetadata(){let e=this.getCodewords(),t=new dr,n=new dr,r=new dr,s=new dr;for(let o of e){if(o==null)continue;o.setRowNumberAsRowIndicatorColumn();let a=o.getValue()%30,l=o.getRowNumber();switch(this._isLeft||(l+=2),l%3){case 0:n.setValue(a*3+1);break;case 1:s.setValue(a/3),r.setValue(a%3);break;case 2:t.setValue(a+1);break}}if(t.getValue().length===0||n.getValue().length===0||r.getValue().length===0||s.getValue().length===0||t.getValue()[0]<1||n.getValue()[0]+r.getValue()[0]<Pe.MIN_ROWS_IN_BARCODE||n.getValue()[0]+r.getValue()[0]>Pe.MAX_ROWS_IN_BARCODE)return null;let i=new Ui(t.getValue()[0],n.getValue()[0],r.getValue()[0],s.getValue()[0]);return this.removeIncorrectCodewords(e,i),i}removeIncorrectCodewords(e,t){for(let n=0;n<e.length;n++){let r=e[n];if(e[n]==null)continue;let s=r.getValue()%30,i=r.getRowNumber();if(i>t.getRowCount()){e[n]=null;continue}switch(this._isLeft||(i+=2),i%3){case 0:s*3+1!==t.getRowCountUpperPart()&&(e[n]=null);break;case 1:(Math.trunc(s/3)!==t.getErrorCorrectionLevel()||s%3!==t.getRowCountLowerPart())&&(e[n]=null);break;case 2:s+1!==t.getColumnCount()&&(e[n]=null);break}}}isLeft(){return this._isLeft}toString(){return"IsLeft: "+this._isLeft+`
7`+super.toString()}}class fr{constructor(e,t){this.ADJUST_ROW_NUMBER_SKIP=2,this.barcodeMetadata=e,this.barcodeColumnCount=e.getColumnCount(),this.boundingBox=t,this.detectionResultColumns=new Array(this.barcodeColumnCount+2)}getDetectionResultColumns(){this.adjustIndicatorColumnRowNumbers(this.detectionResultColumns[0]),this.adjustIndicatorColumnRowNumbers(this.detectionResultColumns[this.barcodeColumnCount+1]);let e=Pe.MAX_CODEWORDS_IN_BARCODE,t;do t=e,e=this.adjustRowNumbersAndGetCount();while(e>0&&e<t);return this.detectionResultColumns}adjustIndicatorColumnRowNumbers(e){e?.adjustCompleteIndicatorColumnRowNumbers(this.barcodeMetadata)}adjustRowNumbersAndGetCount(){let e=this.adjustRowNumbersByRow();if(e===0)return 0;for(let t=1;t<this.barcodeColumnCount+1;t++){let n=this.detectionResultColumns[t].getCodewords();for(let r=0;r<n.length;r++)n[r]!=null&&(n[r].hasValidRowNumber()||this.adjustRowNumbers(t,r,n))}return e}adjustRowNumbersByRow(){return this.adjustRowNumbersFromBothRI(),this.adjustRowNumbersFromLRI()+this.adjustRowNumbersFromRRI()}
7adjustRowNumbersFromBothRI(){if(this.detectionResultColumns[0]==null||this.detectionResultColumns[this.barcodeColumnCount+1]==null)return;let e=this.detectionResultColumns[0].getCodewords(),t=this.detectionResultColumns[this.barcodeColumnCount+1].getCodewords();for(let n=0;n<e.length;n++)if(e[n]!=null&&t[n]!=null&&e[n].getRowNumber()===t[n].getRowNumber())for(let r=1;r<=this.barcodeColumnCount;r++){let s=this.detectionResultColumns[r].getCodewords()[n];s!=null&&(s.setRowNumber(e[n].getRowNumber()),s.hasValidRowNumber()||(this.detectionResultColumns[r].getCodewords()[n]=null))}}adjustRowNumbersFromRRI(){if(this.detectionResultColumns[this.barcodeColumnCount+1]==null)return 0;let e=0,t=this.detectionResultColumns[this.barcodeColumnCount+1].getCodewords();for(let n=0;n<t.length;n++){if(t[n]==null)continue;let r=t[n].getRowNumber(),s=0;for(let i=this.barcodeColumnCount+1;i>0&&s<this.ADJUST_ROW_NUMBER_SKIP;i--){let o=this.detectionResultColumns[i].getCodewords()[n];o!=null&&(s=fr.adjustRowNumberIfValid(r,s,o),o.hasValidRowNumber()||e++)}}return e}adjustRowNumbersFromLRI(){if(this.detectionResultColumns[0]==null)return 0;let e=0,t=this.detectionResultColumns[0].getCodewords();for(let n=0;n<t.length;n++){if(t[n]==null)continue;let r=t[n].getRowNumber(),s=0;for(let i=1;i<this.barcodeColumnCount+1&&s<this.ADJUST_ROW_NUMBER_SKIP;i++){let o=this.detectionResultColumns[i].getCodewords()[n];o!=null&&(s=fr.adjustRowNumberIfValid(r,s,o),o.hasValidRowNumber()||e++)}}return e}static adjustRowNumberIfValid(e,t,n){return n==null||n.hasValidRowNumber()||(n.isValidRowNumber(e)?(n.setRowNumber(e),t=0):++t),t}adjustRowNumbers(e,t,n){if(!this.detectionResultColumns[e-1])return;let r=n[t],s=this.detectionResultColumns[e-1].getCodewords(),i=s;this.detectionResultColumns[e+1]!=null&&(i=this.detectionResultColumns[e+1].getCodewords());let o=new Array(14);o[2]=s[t],o[3]=i[t],t>0&&(o[0]=n[t-1],o[4]=s[t-1],o[5]=i[t-1]),t>1&&(o[8]=n[t-2],o[10]=s[t-2],o[11]=i[t-2]),t<n.length-1&&(o[1]=n[t+1],o[6]=s[t+1],o[7]=i[t+1]),t<n.length-2&&(o[9]=n[t+2],o[12]=s[t+2],o[13]=i[t+2]);for(let a of o)if(fr.adjustRowNumber(r,a))return}static adjustRowNumber(e,t){return t==null?!1:t.hasValidRowNumber()&&t.getBucket()===e.getBucket()?(e.setRowNumber(t.getRowNumber()),!0):!1}getBarcodeColumnCount(){return this.barcodeColumnCount}getBarcodeRowCount(){return this.barcodeMetadata.getRowCount()}getBarcodeECLevel(){return this.barcodeMetadata.getErrorCorrectionLevel()}setBoundingBox(e){this.boundingBox=e}getBoundingBox(){return this.boundingBox}setDetectionResultColumn(e,t){this.detectionResultColumns[e]=t}getDetectionResultColumn(e){return this.detectionResultColumns[e]}toString(){let e=this.detectionResultColumns[0];e==null&&(e=this.detectionResultColumns[this.barcodeColumnCount+1]);let t=new cr;for(let n=0;n<e.getCodewords().length;n++){t.format("CW %3d:",n);for(let r=0;r<this.barcodeColumnCount+2;r++){if(this.detectionResultColumns[r]==null){t.format("    |   ");continue}let s=this.detectionResultColumns[r].getCodewords()[n];if(s==null){t.format("    |   ");continue}t.format(" %3d|%3d",s.getRowNumber(),s.getValue())}t.format("%n")}return t.toString()}}class hr{constructor(e,t,n,r){this.rowNumber=hr.BARCODE_ROW_UNKNOWN,this.startX=Math.trunc(e),this.endX=Math.trunc(t),this.bucket=Math.trunc(n),this.value=Math.trunc(r)}hasValidRowNumber(){return this.isValidRowNumber(this.rowNumber)}isValidRowNumber(e){return e!==hr.BARCODE_ROW_UNKNOWN&&this.bucket===e%3*3}setRowNumberAsRowIndicatorColumn(){this.rowNumber=Math.trunc(Math.trunc(this.value/30)*3+Math.trunc(this.bucket/3))}getWidth(){return this.endX-this.startX}getStartX(){return this.startX}getEndX(){return this.endX}getBucket(){return this.bucket}getValue(){return this.value}getRowNumber(){return this.rowNumber}setRowNumber(e){this.rowNumber=e}toString(){return this.rowNumber+"|"+this.value}}hr.BARCODE_ROW_UNKNOWN=-1;class jt{static initialize(){for(let e=0;e<Pe.SYMBOL_TABLE.length;e++){let t=Pe.SYMBOL_TABLE[e],n=t&1;for(let r=0;r<Pe.BARS_IN_MODULE;r++){let s=0;for(;(t&1)===n;)s+=1,t>>=1;n=t&1,jt.RATIOS_TABLE[e]||(jt.RATIOS_TABLE[e]=new Array(Pe.BARS_IN_MODULE)),jt.RATIOS_TABLE[e][Pe.BARS_IN_MODULE-r-1]=Math.fround(s/Pe.MODULES_IN_CODEWORD)}}this.bSymbolTableReady=!0}static getDecodedValue(e){let t=jt.getDecodedCodewordValue(jt.sampleBitCounts(e));return t!==-1?t:jt.getClosestDecodedValue(e)}static sampleBitCounts(e){let t=fe.sum(e),n=new Int32Array(Pe.BARS_IN_MODULE),r=0,s=0;for(let i=0;i<Pe.MODULES_IN_CODEWORD;i++){let o=t/(2*Pe.MODULES_IN_CODEWORD)+i*t/Pe.MODULES_IN_CODEWORD;s+e[r]<=o&&(s+=e[r],r++),n[r]++}return n}static getDecodedCodewordValue(e){let t=jt.getBitValue(e);return Pe.getCodeword(t)===-1?-1:t}static getBitValue(e){let t=0;for(let n=0;n<e.length;n++)for(let r=0;r<e[n];r++)t=t<<1|(n%2===0?1:0);return Math.trunc(t)}static getClosestDecodedValue(e){let t=fe.sum(e),n=new Array(Pe.BARS_IN_MODULE);if(t>1)for(let i=0;i<n.length;
7i++)n[i]=Math.fround(e[i]/t);let r=We.MAX_VALUE,s=-1;this.bSymbolTableReady||jt.initialize();for(let i=0;i<jt.RATIOS_TABLE.length;i++){let o=0,a=jt.RATIOS_TABLE[i];for(let l=0;l<Pe.BARS_IN_MODULE;l++){let d=Math.fround(a[l]-n[l]);if(o+=Math.fround(d*d),o>=r)break}o<r&&(r=o,s=Pe.SYMBOL_TABLE[i])}return s}}jt.bSymbolTableReady=!1,jt.RATIOS_TABLE=new Array(Pe.SYMBOL_TABLE.length).map(x=>new Array(Pe.BARS_IN_MODULE));class Rs{constructor(){this.segmentCount=-1,this.fileSize=-1,this.timestamp=-1,this.checksum=-1}getSegmentIndex(){return this.segmentIndex}setSegmentIndex(e){this.segmentIndex=e}getFileId(){return this.fileId}setFileId(e){this.fileId=e}getOptionalData(){return this.optionalData}setOptionalData(e){this.optionalData=e}isLastSegment(){return this.lastSegment}setLastSegment(e){this.lastSegment=e}getSegmentCount(){return this.segmentCount}setSegmentCount(e){this.segmentCount=e}getSender(){return this.sender||null}setSender(e){this.sender=e}getAddressee(){return this.addressee||null}setAddressee(e){this.addressee=e}getFileName(){return this.fileName}setFileName(e){this.fileName=e}getFileSize(){return this.fileSize}setFileSize(e){this.fileSize=e}getChecksum(){return this.checksum}setChecksum(e){this.checksum=e}getTimestamp(){return this.timestamp}setTimestamp(e){this.timestamp=e}}class Ms{static parseLong(e,t=void 0){return parseInt(e,t)}}class ks extends w{}ks.kind="NullPointerException";class Vi{writeBytes(e){this.writeBytesOffset(e,0,e.length)}writeBytesOffset(e,t,n){if(e==null)throw new ks;if(t<0||t>e.length||n<0||t+n>e.length||t+n<0)throw new Y;if(n===0)return;for(let r=0;r<n;r++)this.write(e[t+r])}flush(){}close(){}}class Gi extends w{}class Hi extends Vi{constructor(e=32){if(super(),this.count=0,e<0)throw new I("Negative initial size: "+e);this.buf=new Uint8Array(e)}ensureCapacity(e){e-this.buf.length>0&&this.grow(e)}grow(e){let n=this.buf.length<<1;if(n-e<0&&(n=e),n<0){if(e<0)throw new Gi;n=$.MAX_VALUE}this.buf=Z.copyOfUint8Array(this.buf,n)}write(e){this.ensureCapacity(this.count+1),this.buf[this.count]=e,this.count+=1}writeBytesOffset(e,t,n){if(t<0||t>e.length||n<0||t+n-e.length>0)throw new Y;this.ensureCapacity(this.count+n),P.arraycopy(e,t,this.buf,this.count,n),this.count+=n}writeTo(e){e.writeBytesOffset(this.buf,0,this.count)}reset(){this.count=0}toByteArray(){return Z.copyOfUint8Array(this.buf,this.count)}size(){return this.count}toString(e){return e?typeof e=="string"?this.toString_string(e):this.toString_number(e):this.toString_void()}toString_void(){return new String(this.buf).toString()}toString_string(e){return new String(this.buf).toString()}toString_number(e){return new String(this.buf).toString()}close(){}}var it;(function(x){x[x.ALPHA=0]="ALPHA",x[x.LOWER=1]="LOWER",x[x.MIXED=2]="MIXED",x[x.PUNCT=3]="PUNCT",x[x.ALPHA_SHIFT=4]="ALPHA_SHIFT",x[x.PUNCT_SHIFT=5]="PUNCT_SHIFT"})(it||(it={}));function Ds(){if(typeof window<"u")return window.BigInt||null;if(typeof kr<"u")return kr.BigInt||null;if(typeof self<"u")return self.BigInt||null;throw new Error("Can't search globals for BigInt!")}let Tr;function Dn(x){if(typeof Tr>"u"&&(Tr=Ds()),Tr===null)throw new Error("BigInt is not supported!");return Tr(x)}function Wi(){let x=[];x[0]=Dn(1);let e=Dn(900);x[1]=e;for(let t=2;t<16;t++)x[t]=x[t-1]*e;return x}class W{static decode(e,t){let n=new be(""),r=F.ISO8859_1;n.enableDecoding(r);let s=1,i=e[s++],o=new Rs;for(;s<e[0];){switch(i){case W.TEXT_COMPACTION_MODE_LATCH:s=W.textCompaction(e,s,n);break;case W.BYTE_COMPACTION_MODE_LATCH:case W.BYTE_COMPACTION_MODE_LATCH_6:s=W.byteCompaction(i,e,r,s,n);break;case W.MODE_SHIFT_TO_BYTE_COMPACTION_MODE:n.append(e[s++]);break;case W.NUMERIC_COMPACTION_MODE_LATCH:s=W.numericCompaction(e,s,n);break;case W.ECI_CHARSET:F.getCharacterSetECIByValue(e[s++]);break;case W.ECI_GENERAL_PURPOSE:s+=2;break;case W.ECI_USER_DEFINED:s++;break;case W.BEGIN_MACRO_PDF417_CONTROL_BLOCK:s=W.decodeMacroBlock(e,s,o);break;case W.BEGIN_MACRO_PDF417_OPTIONAL_FIELD:case W.MACRO_PDF417_TERMINATOR:throw new G;default:s--,s=W.textCompaction(e,s,n);break}if(s<e.length)i=e[s++];else throw G.getFormatInstance()}if(n.length()===0)throw G.getFormatInstance();let a=new dt(null,n.toString(),null,t);return a.setOther(o),a}static decodeMacroBlock(e,t,n){if(t+W.NUMBER_OF_SEQUENCE_CODEWORDS>e[0])throw G.getFormatInstance();let r=new Int32Array(W.NUMBER_OF_SEQUENCE_CODEWORDS);for(let o=0;o<W.NUMBER_OF_SEQUENCE_CODEWORDS;o++,t++)r[o]=e[t];n.setSegmentIndex($.parseInt(W.decodeBase900toBase10(r,W.NUMBER_OF_SEQUENCE_CODEWORDS)));let s=new be;t=W.textCompaction(e,t,s),n.setFileId(s.toString());let i=-1;for(e[t]===W.BEGIN_MACRO_PDF417_OPTIONAL_FIELD&&(i=t+1);t<e[0];)switch(e[t]){case W.BEGIN_MACRO_PDF417_OPTIONAL_FIELD:switch(t++,e[t]){case W.MACRO_PDF417_OPTIONAL_FIELD_FILE_NAME:let o=new be;t=W.textCompaction(e,t+1,o),n.setFileName(o.toString());break;case W.MACRO_PDF417_OPTIONAL_FIELD_SENDER:let a=new be;t=W.textCompaction(e,t+1,a),n.setSender(a.toString());break;case W.MACRO_PDF417_OPTIONAL_FIELD_ADDRESSEE:let l=new be;t=W.textCompaction(e,t+1,l),n.setAddressee(l.toString());break;case W.MACRO_PDF417_OPTIONAL_FIELD_SEGMENT_COUNT:let d=new be;t=W.numericCompaction(e,t+1,d),n.setSegmentCount($.parseInt(d.toString()));break;case W.MACRO_PDF417_OPTIONAL_FIELD_TIME_STAMP:let _=new be;t=W.numericCompaction(e,t+1,_),n.setTimestamp(Ms.parseLong(_.toString()));break;case W.MACRO_PDF417_OPTIONAL_FIELD_CHECKSUM:let C=new be;t=W.numericCompaction(e,t+1,C),n.setChecksum($.parseInt(C.toString()));break;case W.MACRO_PDF417_OPTIONAL_FIELD_FILE_SIZE:let S=new be;t=W.numericCompaction(e,t+1,S),n.setFileSize(Ms.parseLong(S.toString()));break;default:throw G.getFormatInstance()}break;case W.MACRO_PDF417_TERMINATOR:t++,n.setLastSegment(!0);break;default:throw G.getFormatInstance()}if(i!==-1){let o=t-i;n.isLastSegment()&&o--,n.setOptionalData(Z.copyOfRange(e,i,i+o))}return t}static textCompaction(e,t,n){let r=new Int32Array((e[0]-t)*2),s=new Int32Array((e[0]-t)*2),i=0,o=!1;for(;t<e[0]&&!o;){let a=e[t++];if(a<W.TEXT_COMPACTION_MODE_LATCH)r[i]=a/30,r[i+1]=a%30,i+=2;else switch(a){case W.TEXT_COMPACTION_MODE_LATCH:r[i++]=W.TEXT_COMPACTION_MODE_LATCH;break;case W.BYTE_COMPACTION_MODE_LATCH:case W.BYTE_COMPACTION_MODE_LATCH_6:case W.NUMERIC_COMPACTION_MODE_LATCH:case W.BEGIN_MACRO_PDF417_CONTROL_BLOCK:case W.BEGIN_MACRO_PDF417_OPTIONAL_FIELD:case W.MACRO_PDF417_TERMINATOR:t--,o=!0;break;case W.MODE_SHIFT_TO_BYTE_COMPACTION_MODE:r[i]=W.MODE_SHIFT_TO_BYTE_COMPACTION_MODE,a=e[t++],s[i]=a,i++;break}}return W.decodeTextCompaction(r,s,i,n),t}static decodeTextCompaction(e,t,n,r){let s=it.ALPHA,i=it.ALPHA,o=0;for(;o<n;){let a=e[o],l="";switch(s){case it.ALPHA:if(a<26)l=String.fromCharCode(65+a);else switch(a){case 26:l=" ";break;case W.LL:s=it.LOWER;break;case W.ML:s=it.MIXED;break;case W.PS:i=s,s=it.PUNCT_SHIFT;break;case W.MODE_SHIFT_TO_BYTE_COMPACTION_MODE:r.append(t[o]);break;case W.TEXT_COMPACTION_MODE_LATCH:s=it.ALPHA;break}break;
7case it.LOWER:if(a<26)l=String.fromCharCode(97+a);else switch(a){case 26:l=" ";break;case W.AS:i=s,s=it.ALPHA_SHIFT;break;case W.ML:s=it.MIXED;break;case W.PS:i=s,s=it.PUNCT_SHIFT;break;case W.MODE_SHIFT_TO_BYTE_COMPACTION_MODE:r.append(t[o]);break;case W.TEXT_COMPACTION_MODE_LATCH:s=it.ALPHA;break}break;case it.MIXED:if(a<W.PL)l=W.MIXED_CHARS[a];else switch(a){case W.PL:s=it.PUNCT;break;case 26:l=" ";break;case W.LL:s=it.LOWER;break;case W.AL:s=it.ALPHA;break;case W.PS:i=s,s=it.PUNCT_SHIFT;break;case W.MODE_SHIFT_TO_BYTE_COMPACTION_MODE:r.append(t[o]);break;case W.TEXT_COMPACTION_MODE_LATCH:s=it.ALPHA;break}break;case it.PUNCT:if(a<W.PAL)l=W.PUNCT_CHARS[a];else switch(a){case W.PAL:s=it.ALPHA;break;case W.MODE_SHIFT_TO_BYTE_COMPACTION_MODE:r.append(t[o]);break;case W.TEXT_COMPACTION_MODE_LATCH:s=it.ALPHA;break}break;case it.ALPHA_SHIFT:if(s=i,a<26)l=String.fromCharCode(65+a);else switch(a){case 26:l=" ";break;case W.TEXT_COMPACTION_MODE_LATCH:s=it.ALPHA;break}break;case it.PUNCT_SHIFT:if(s=i,a<W.PAL)l=W.PUNCT_CHARS[a];else switch(a){case W.PAL:s=it.ALPHA;break;case W.MODE_SHIFT_TO_BYTE_COMPACTION_MODE:r.append(t[o]);break;case W.TEXT_COMPACTION_MODE_LATCH:s=it.ALPHA;break}break}l!==""&&r.append(l),o++}}static byteCompaction(e,t,n,r,s){let i=new Hi,o=0,a=0,l=!1;switch(e){case W.BYTE_COMPACTION_MODE_LATCH:let d=new Int32Array(6),_=t[r++];for(;r<t[0]&&!l;)switch(d[o++]=_,a=900*a+_,_=t[r++],_){case W.TEXT_COMPACTION_MODE_LATCH:case W.BYTE_COMPACTION_MODE_LATCH:case W.NUMERIC_COMPACTION_MODE_LATCH:case W.BYTE_COMPACTION_MODE_LATCH_6:case W.BEGIN_MACRO_PDF417_CONTROL_BLOCK:case W.BEGIN_MACRO_PDF417_OPTIONAL_FIELD:case W.MACRO_PDF417_TERMINATOR:r--,l=!0;break;default:if(o%5===0&&o>0){for(let C=0;C<6;++C)i.write(Number(Dn(a)>>Dn(8*(5-C))));a=0,o=0}break}r===t[0]&&_<W.TEXT_COMPACTION_MODE_LATCH&&(d[o++]=_);for(let C=0;C<o;C++)i.write(d[C]);break;case W.BYTE_COMPACTION_MODE_LATCH_6:for(;r<t[0]&&!l;){let C=t[r++];if(C<W.TEXT_COMPACTION_MODE_LATCH)o++,a=900*a+C;else switch(C){case W.TEXT_COMPACTION_MODE_LATCH:case W.BYTE_COMPACTION_MODE_LATCH:case W.NUMERIC_COMPACTION_MODE_LATCH:case W.BYTE_COMPACTION_MODE_LATCH_6:case W.BEGIN_MACRO_PDF417_CONTROL_BLOCK:case W.BEGIN_MACRO_PDF417_OPTIONAL_FIELD:case W.MACRO_PDF417_TERMINATOR:r--,l=!0;break}if(o%5===0&&o>0){for(let S=0;S<6;++S)i.write(Number(Dn(a)>>Dn(8*(5-S))));a=0,o=0}}break}return s.append(ie.decode(i.toByteArray(),n)),r}static numericCompaction(e,t,n){let r=0,s=!1,i=new Int32Array(W.MAX_NUMERIC_CODEWORDS);for(;t<e[0]&&!s;){let o=e[t++];if(t===e[0]&&(s=!0),o<W.TEXT_COMPACTION_MODE_LATCH)i[r]=o,r++;else switch(o){case W.TEXT_COMPACTION_MODE_LATCH:case W.BYTE_COMPACTION_MODE_LATCH:case W.BYTE_COMPACTION_MODE_LATCH_6:case W.BEGIN_MACRO_PDF417_CONTROL_BLOCK:case W.BEGIN_MACRO_PDF417_OPTIONAL_FIELD:case W.MACRO_PDF417_TERMINATOR:t--,s=!0;break}(r%W.MAX_NUMERIC_CODEWORDS===0||o===W.NUMERIC_COMPACTION_MODE_LATCH||s)&&r>0&&(n.append(W.decodeBase900toBase10(i,r)),r=0)}return t}static decodeBase900toBase10(e,t){let n=Dn(0);for(let s=0;s<t;s++)n+=W.EXP900[t-s-1]*Dn(e[s]);let r=n.toString();if(r.charAt(0)!=="1")throw new G;return r.substring(1)}}W.TEXT_COMPACTION_MODE_LATCH=900,W.BYTE_COMPACTION_MODE_LATCH=901,W.NUMERIC_COMPACTION_MODE_LATCH=902,W.BYTE_COMPACTION_MODE_LATCH_6=924,W.ECI_USER_DEFINED=925,W.ECI_GENERAL_PURPOSE=926,W.ECI_CHARSET=927,W.BEGIN_MACRO_PDF417_CONTROL_BLOCK=928,W.BEGIN_MACRO_PDF417_OPTIONAL_FIELD=923,W.MACRO_PDF417_TERMINATOR=922,W.MODE_SHIFT_TO_BYTE_COMPACTION_MODE=913,W.MAX_NUMERIC_CODEWORDS=15,W.MACRO_PDF417_OPTIONAL_FIELD_FILE_NAME=0,W.MACRO_PDF417_OPTIONAL_FIELD_SEGMENT_COUNT=1,W.MACRO_PDF417_OPTIONAL_FIELD_TIME_STAMP=2,W.MACRO_PDF417_OPTIONAL_FIELD_SENDER=3,W.MACRO_PDF417_OPTIONAL_FIELD_ADDRESSEE=4,W.MACRO_PDF417_OPTIONAL_FIELD_FILE_SIZE=5,W.MACRO_PDF417_OPTIONAL_FIELD_CHECKSUM=6,W.PL=25,W.LL=27,W.AS=27,W.ML=28,W.AL=28,W.PS=29,W.PAL=29,W.PUNCT_CHARS=`;<>@[\\]_\`~!\r	,:
8-.$/"|*()?{}'`,W.MIXED_CHARS="0123456789&\r	,:#-.$/+%*=^",W.EXP900=Ds()?Wi():[],W.NUMBER_OF_SEQUENCE_CODEWORDS=2;class ze{constructor(){}static decode(e,t,n,r,s,i,o){let a=new Hn(e,t,n,r,s),l=null,d=null,_;for(let R=!0;;R=!1){if(t!=null&&(l=ze.getRowIndicatorColumn(e,a,t,!0,i,o)),r!=null&&(d=ze.getRowIndicatorColumn(e,a,r,!1,i,o)),_=ze.merge(l,d),_==null)throw B.getNotFoundInstance();let M=_.getBoundingBox();if(R&&M!=null&&(M.getMinY()<a.getMinY()||M.getMaxY()>a.getMaxY()))a=M;else break}_.setBoundingBox(a);let C=_.getBarcodeColumnCount()+1;_.setDetectionResultColumn(0,l),_.setDetectionResultColumn(C,d);let S=l!=null;for(let R=1;R<=C;R++){let M=S?R:C-R;if(_.getDetectionResultColumn(M)!==void 0)continue;let L;M===0||M===C?L=new Os(a,M===0):L=new ur(a),_.setDetectionResultColumn(M,L);let X=-1,ue=X;for(let he=a.getMinY();he<=a.getMaxY();he++){if(X=ze.getStartColumn(_,M,he,S),X<0||X>a.getMaxX()){if(ue===-1)continue;X=ue}let le=ze.detectCodeword(e,a.getMinX(),a.getMaxX(),S,X,he,i,o);le!=null&&(L.setCodeword(he,le),ue=X,i=Math.min(i,le.getWidth()),o=Math.max(o,le.getWidth()))}}return ze.createDecoderResult(_)}static merge(e,t){if(e==null&&t==null)return null;let n=ze.getBarcodeMetadata(e,t);if(n==null)return null;let r=Hn.merge(ze.adjustBoundingBox(e),ze.adjustBoundingBox(t));return new fr(n,r)}static adjustBoundingBox(e){if(e==null)return null;let t=e.getRowHeights();if(t==null)return null;let n=ze.getMax(t),r=0;for(let o of t)if(r+=n-o,o>0)break;let s=e.getCodewords();for(let o=0;r>0&&s[o]==null;o++)r--;let i=0;for(let o=t.length-1;o>=0&&(i+=n-t[o],!(t[o]>0));o--);for(let o=s.length-1;i>0&&s[o]==null;o--)i--;return e.getBoundingBox().addMissingRows(r,i,e.isLeft())}static getMax(e){let t=-1;for(let n of e)t=Math.max(t,n);return t}static getBarcodeMetadata(e,t){let n;if(e==null||(n=e.getBarcodeMetadata())==null)return t==null?null:t.getBarcodeMetadata();let r;return t==null||(r=t.getBarcodeMetadata())==null?n:n.getColumnCount()!==r.getColumnCount()&&n.getErrorCorrectionLevel()!==r.getErrorCorrectionLevel()&&n.getRowCount()!==r.getRowCount()?null:n}static getRowIndicatorColumn(e,t,n,r,s,i){let o=new Os(t,r);for(let a=0;a<2;a++){let l=a===0?1:-1,d=Math.trunc(Math.trunc(n.getX()));for(let _=Math.trunc(Math.trunc(n.getY()));_<=t.getMaxY()&&_>=t.getMinY();_+=l){let C=ze.detectCodeword(e,0,e.getWidth(),r,d,_,s,i);C!=null&&(o.setCodeword(_,C),r?d=C.getStartX():d=C.getEndX())}}return o}static adjustCodewordCount(e,t){let n=t[0][1],r=n.getValue(),s=e.getBarcodeColumnCount()*e.getBarcodeRowCount()-ze.getNumberOfECCodeWords(e.getBarcodeECLevel());if(r.length===0){if(s<1||s>Pe.MAX_CODEWORDS_IN_BARCODE)throw B.getNotFoundInstance();n.setValue(s)}else r[0]!==s&&n.setValue(s)}static createDecoderResult(e){let t=ze.createBarcodeMatrix(e);ze.adjustCodewordCount(e,t);let n=new Array,r=new Int32Array(e.getBarcodeRowCount()*e.getBarcodeColumnCount()),s=[],i=new Array;for(let a=0;a<e.getBarcodeRowCount();a++)for(let l=0;l<e.getBarcodeColumnCount();l++){let d=t[a][l+1].getValue(),_=a*e.getBarcodeColumnCount()+l;d.length===0?n.push(_):d.length===1?r[_]=d[0]:(i.push(_),s.push(d))}let o=new Array(s.length);for(let a=0;a<o.length;a++)o[a]=s[a];return ze.createDecoderResultFromAmbiguousValues(e.getBarcodeECLevel(),r,Pe.toIntArray(n),Pe.toIntArray(i),o)}
8static createDecoderResultFromAmbiguousValues(e,t,n,r,s){let i=new Int32Array(r.length),o=100;for(;o-- >0;){for(let a=0;a<i.length;a++)t[r[a]]=s[a][i[a]];try{return ze.decodeCodewords(t,e,n)}catch(a){if(!(a instanceof D))throw a}if(i.length===0)throw D.getChecksumInstance();for(let a=0;a<i.length;a++)if(i[a]<s[a].length-1){i[a]++;break}else if(i[a]=0,a===i.length-1)throw D.getChecksumInstance()}throw D.getChecksumInstance()}static createBarcodeMatrix(e){let t=Array.from({length:e.getBarcodeRowCount()},()=>new Array(e.getBarcodeColumnCount()+2));for(let r=0;r<t.length;r++)for(let s=0;s<t[r].length;s++)t[r][s]=new dr;let n=0;for(let r of e.getDetectionResultColumns()){if(r!=null){for(let s of r.getCodewords())if(s!=null){let i=s.getRowNumber();if(i>=0){if(i>=t.length)continue;t[i][n].setValue(s.getValue())}}}n++}return t}static isValidBarcodeColumn(e,t){return t>=0&&t<=e.getBarcodeColumnCount()+1}static getStartColumn(e,t,n,r){let s=r?1:-1,i=null;if(ze.isValidBarcodeColumn(e,t-s)&&(i=e.getDetectionResultColumn(t-s).getCodeword(n)),i!=null)return r?i.getEndX():i.getStartX();if(i=e.getDetectionResultColumn(t).getCodewordNearby(n),i!=null)return r?i.getStartX():i.getEndX();if(ze.isValidBarcodeColumn(e,t-s)&&(i=e.getDetectionResultColumn(t-s).getCodewordNearby(n)),i!=null)return r?i.getEndX():i.getStartX();let o=0;for(;ze.isValidBarcodeColumn(e,t-s);){t-=s;for(let a of e.getDetectionResultColumn(t).getCodewords())if(a!=null)return(r?a.getEndX():a.getStartX())+s*o*(a.getEndX()-a.getStartX());o++}return r?e.getBoundingBox().getMinX():e.getBoundingBox().getMaxX()}static detectCodeword(e,t,n,r,s,i,o,a){s=ze.adjustCodewordStartColumn(e,t,n,r,s,i);let l=ze.getModuleBitCount(e,t,n,r,s,i);if(l==null)return null;let d,_=fe.sum(l);if(r)d=s+_;else{for(let R=0;R<l.length/2;R++){let M=l[R];l[R]=l[l.length-1-R],l[l.length-1-R]=M}d=s,s=d-_}if(!ze.checkCodewordSkew(_,o,a))return null;let C=jt.getDecodedValue(l),S=Pe.getCodeword(C);return S===-1?null:new hr(s,d,ze.getCodewordBucketNumber(C),S)}static getModuleBitCount(e,t,n,r,s,i){let o=s,a=new Int32Array(8),l=0,d=r?1:-1,_=r;for(;(r?o<n:o>=t)&&l<a.length;)e.get(o,i)===_?(a[l]++,o+=d):(l++,_=!_);return l===a.length||o===(r?n:t)&&l===a.length-1?a:null}static getNumberOfECCodeWords(e){return 2<<e}static adjustCodewordStartColumn(e,t,n,r,s,i){let o=s,a=r?-1:1;for(let l=0;l<2;l++){for(;(r?o>=t:o<n)&&r===e.get(o,i);){if(Math.abs(s-o)>ze.CODEWORD_SKEW_SIZE)return s;o+=a}a=-a,r=!r}return o}static checkCodewordSkew(e,t,n){return t-ze.CODEWORD_SKEW_SIZE<=e&&e<=n+ze.CODEWORD_SKEW_SIZE}static decodeCodewords(e,t,n){if(e.length===0)throw G.getFormatInstance();let r=1<<t+1,s=ze.correctErrors(e,n,r);ze.verifyCodewordCount(e,r);let i=W.decode(e,""+t);return i.setErrorsCorrected(s),i.setErasures(n.length),i}
8static correctErrors(e,t,n){if(t!=null&&t.length>n/2+ze.MAX_ERRORS||n<0||n>ze.MAX_EC_CODEWORDS)throw D.getChecksumInstance();return ze.errorCorrection.decode(e,n,t)}static verifyCodewordCount(e,t){if(e.length<4)throw G.getFormatInstance();let n=e[0];if(n>e.length)throw G.getFormatInstance();if(n===0)if(t<e.length)e[0]=e.length-t;else throw G.getFormatInstance()}static getBitCountForCodeword(e){let t=new Int32Array(8),n=0,r=t.length-1;for(;!((e&1)!==n&&(n=e&1,r--,r<0));)t[r]++,e>>=1;return t}static getCodewordBucketNumber(e){return e instanceof Int32Array?this.getCodewordBucketNumber_Int32Array(e):this.getCodewordBucketNumber_number(e)}static getCodewordBucketNumber_number(e){return ze.getCodewordBucketNumber(ze.getBitCountForCodeword(e))}static getCodewordBucketNumber_Int32Array(e){return(e[0]-e[2]+e[4]-e[6]+9)%9}static toString(e){let t=new cr;for(let n=0;n<e.length;n++){t.format("Row %2d: ",n);for(let r=0;r<e[n].length;r++){let s=e[n][r];s.getValue().length===0?t.format("        ",null):t.format("%4d(%2d)",s.getValue()[0],s.getConfidence(s.getValue()[0]))}t.format("%n")}return t.toString()}}ze.CODEWORD_SKEW_SIZE=2,ze.MAX_ERRORS=3,ze.MAX_EC_CODEWORDS=512,ze.errorCorrection=new Ns;class Ft{decode(e,t=null){let n=Ft.decode(e,t,!1);if(n==null||n.length===0||n[0]==null)throw B.getNotFoundInstance();return n[0]}decodeMultiple(e,t=null){try{return Ft.decode(e,t,!0)}catch(n){throw n instanceof G||n instanceof D?B.getNotFoundInstance():n}}static decode(e,t,n){const r=new Array,s=$e.detectMultiple(e,t,n);for(const i of s.getPoints()){const o=ze.decode(s.getBits(),i[4],i[5],i[6],i[7],Ft.getMinCodewordWidth(i),Ft.getMaxCodewordWidth(i)),a=new K(o.getText(),o.getRawBytes(),void 0,i,_e.PDF_417);a.putMetadata(Be.ERROR_CORRECTION_LEVEL,o.getECLevel());const l=o.getOther();l!=null&&a.putMetadata(Be.PDF417_EXTRA_METADATA,l),r.push(a)}return r.map(i=>i)}static getMaxWidth(e,t){return e==null||t==null?0:Math.trunc(Math.abs(e.getX()-t.getX()))}static getMinWidth(e,t){return e==null||t==null?$.MAX_VALUE:Math.trunc(Math.abs(e.getX()-t.getX()))}static getMaxCodewordWidth(e){return Math.floor(Math.max(Math.max(Ft.getMaxWidth(e[0],e[4]),Ft.getMaxWidth(e[6],e[2])*Pe.MODULES_IN_CODEWORD/Pe.MODULES_IN_STOP_PATTERN),Math.max(Ft.getMaxWidth(e[1],e[5]),Ft.getMaxWidth(e[7],e[3])*Pe.MODULES_IN_CODEWORD/Pe.MODULES_IN_STOP_PATTERN)))}static getMinCodewordWidth(e){return Math.floor(Math.min(Math.min(Ft.getMinWidth(e[0],e[4]),Ft.getMinWidth(e[6],e[2])*Pe.MODULES_IN_CODEWORD/Pe.MODULES_IN_STOP_PATTERN),Math.min(Ft.getMinWidth(e[1],e[5]),Ft.getMinWidth(e[7],e[3])*Pe.MODULES_IN_CODEWORD/Pe.MODULES_IN_STOP_PATTERN)))}reset(){}}class Nr extends w{}Nr.kind="ReaderException";class Bs{constructor(e,t){this.verbose=e===!0,t&&this.setHints(t)}decode(e,t){return t&&this.setHints(t),this.decodeInternal(e)}decodeWithState(e){return(this.readers===null||this.readers===void 0)&&this.setHints(null),this.decodeInternal(e)}setHints(e){this.hints=e;const t=!m(e)&&e.get(z.TRY_HARDER)===!0,n=m(e)?null:e.get(z.POSSIBLE_FORMATS),r=new Array;if(!m(n)){const s=n.some(i=>i===_e.UPC_A||i===_e.UPC_E||i===_e.EAN_13||i===_e.EAN_8||i===_e.CODABAR||i===_e.CODE_39||i===_e.CODE_93||i===_e.CODE_128||i===_e.ITF||i===_e.RSS_14||i===_e.RSS_EXPANDED);s&&!t&&r.push(new jn(e,this.verbose)),n.includes(_e.QR_CODE)&&r.push(new kn),n.includes(_e.DATA_MATRIX)&&r.push(new Mn),n.includes(_e.AZTEC)&&r.push(new Fn),n.includes(_e.PDF_417)&&r.push(new Ft),s&&t&&r.push(new jn(e,this.verbose))}r.length===0&&(t||r.push(new jn(e,this.verbose)),r.push(new kn),r.push(new Mn),r.push(new Fn),r.push(new Ft),t&&r.push(new jn(e,this.verbose))),this.readers=r}reset(){if(this.readers!==null)for(const e of this.readers)e.reset()}decodeInternal(e){if(this.readers===null)throw new Nr("No readers where selected, nothing can be read.");for(const t of this.readers)try{return t.decode(e,this.hints)}catch(n){if(n instanceof Nr)continue}throw new B("No MultiFormat Readers were able to detect the code.")}}class Xi extends Se{constructor(e=null,t=500){const n=new Bs;n.setHints(e),super(n,t)}decodeBitmap(e){return this.reader.decodeWithState(e)}}class $i extends Se{constructor(e=500){super(new Ft,e)}}class zi extends Se{constructor(e=500){super(new kn,e)}}var es;(function(x){x[x.ERROR_CORRECTION=0]="ERROR_CORRECTION",x[x.CHARACTER_SET=1]="CHARACTER_SET",x[x.DATA_MATRIX_SHAPE=2]="DATA_MATRIX_SHAPE",x[x.MIN_SIZE=3]="MIN_SIZE",x[x.MAX_SIZE=4]="MAX_SIZE",x[x.MARGIN=5]="MARGIN",x[x.PDF417_COMPACT=6]="PDF417_COMPACT",x[x.PDF417_COMPACTION=7]="PDF417_COMPACTION",x[x.PDF417_DIMENSIONS=8]="PDF417_DIMENSIONS",x[x.AZTEC_LAYERS=9]="AZTEC_LAYERS",x[x.QR_VERSION=10]="QR_VERSION"})(es||(es={}));var Ot=es;class ts{constructor(e){this.field=e,this.cachedGenerators=[],this.cachedGenerators.push(new Ue(e,Int32Array.from([1])))}buildGenerator(e){const t=this.cachedGenerators;if(e>=t.length){let n=t[t.length-1];const r=this.field;for(let s=t.length;s<=e;s++){const i=n.multiply(new Ue(r,Int32Array.from([1,r.exp(s-1+r.getGeneratorBase())])));t.push(i),n=i}}return t[e]}encode(e,t){if(t===0)throw new I("No error correction bytes");const n=e.length-t;if(n<=0)throw new I("No data bytes provided");const r=this.buildGenerator(t),s=new Int32Array(n);P.arraycopy(e,0,s,0,n);let i=new Ue(this.field,s);i=i.multiplyByMonomial(t,1);const a=i.divide(r)[1].getCoefficients(),l=t-a.length;for(let d=0;d<l;d++)e[n+d]=0;P.arraycopy(a,0,e,n+l,a.length)}}class At{constructor(){}
8static applyMaskPenaltyRule1(e){return At.applyMaskPenaltyRule1Internal(e,!0)+At.applyMaskPenaltyRule1Internal(e,!1)}static applyMaskPenaltyRule2(e){let t=0;const n=e.getArray(),r=e.getWidth(),s=e.getHeight();for(let i=0;i<s-1;i++){const o=n[i];for(let a=0;a<r-1;a++){const l=o[a];l===o[a+1]&&l===n[i+1][a]&&l===n[i+1][a+1]&&t++}}return At.N2*t}static applyMaskPenaltyRule3(e){let t=0;const n=e.getArray(),r=e.getWidth(),s=e.getHeight();for(let i=0;i<s;i++)for(let o=0;o<r;o++){const a=n[i];o+6<r&&a[o]===1&&a[o+1]===0&&a[o+2]===1&&a[o+3]===1&&a[o+4]===1&&a[o+5]===0&&a[o+6]===1&&(At.isWhiteHorizontal(a,o-4,o)||At.isWhiteHorizontal(a,o+7,o+11))&&t++,i+6<s&&n[i][o]===1&&n[i+1][o]===0&&n[i+2][o]===1&&n[i+3][o]===1&&n[i+4][o]===1&&n[i+5][o]===0&&n[i+6][o]===1&&(At.isWhiteVertical(n,o,i-4,i)||At.isWhiteVertical(n,o,i+7,i+11))&&t++}return t*At.N3}static isWhiteHorizontal(e,t,n){t=Math.max(t,0),n=Math.min(n,e.length);for(let r=t;r<n;r++)if(e[r]===1)return!1;return!0}static isWhiteVertical(e,t,n,r){n=Math.max(n,0),r=Math.min(r,e.length);for(let s=n;s<r;s++)if(e[s][t]===1)return!1;return!0}static applyMaskPenaltyRule4(e){let t=0;const n=e.getArray(),r=e.getWidth(),s=e.getHeight();for(let a=0;a<s;a++){const l=n[a];for(let d=0;d<r;d++)l[d]===1&&t++}const i=e.getHeight()*e.getWidth();return Math.floor(Math.abs(t*2-i)*10/i)*At.N4}static getDataMaskBit(e,t,n){let r,s;switch(e){case 0:r=n+t&1;break;case 1:r=n&1;break;case 2:r=t%3;break;case 3:r=(n+t)%3;break;case 4:r=Math.floor(n/2)+Math.floor(t/3)&1;break;case 5:s=n*t,r=(s&1)+s%3;break;case 6:s=n*t,r=(s&1)+s%3&1;break;case 7:s=n*t,r=s%3+(n+t&1)&1;break;default:throw new I("Invalid mask pattern: "+e)}return r===0}static applyMaskPenaltyRule1Internal(e,t){let n=0;const r=t?e.getHeight():e.getWidth(),s=t?e.getWidth():e.getHeight(),i=e.getArray();for(let o=0;o<r;o++){let a=0,l=-1;for(let d=0;d<s;d++){const _=t?i[o][d]:i[d][o];_===l?a++:(a>=5&&(n+=At.N1+(a-5)),a=1,l=_)}a>=5&&(n+=At.N1+(a-5))}return n}}At.N1=3,At.N2=3,At.N3=40,At.N4=10;class Or{constructor(e,t){this.width=e,this.height=t;const n=new Array(t);for(let r=0;r!==t;r++)n[r]=new Uint8Array(e);this.bytes=n}getHeight(){return this.height}getWidth(){return this.width}get(e,t){return this.bytes[t][e]}getArray(){return this.bytes}setNumber(e,t,n){this.bytes[t][e]=n}setBoolean(e,t,n){this.bytes[t][e]=n?1:0}clear(e){for(const t of this.bytes)Z.fill(t,e)}equals(e){if(!(e instanceof Or))return!1;const t=e;if(this.width!==t.width||this.height!==t.height)return!1;for(let n=0,r=this.height;n<r;++n){const s=this.bytes[n],i=t.bytes[n];for(let o=0,a=this.width;o<a;++o)if(s[o]!==i[o])return!1}return!0}toString(){const e=new be;for(let t=0,n=this.height;t<n;++t){const r=this.bytes[t];for(let s=0,i=this.width;s<i;++s)switch(r[s]){case 0:e.append(" 0");break;case 1:e.append(" 1");break;default:e.append("  ");break}e.append(`
9`)}return e.toString()}}class Wn{constructor(){this.maskPattern=-1}getMode(){return this.mode}getECLevel(){return this.ecLevel}getVersion(){return this.version}getMaskPattern(){return this.maskPattern}getMatrix(){return this.matrix}toString(){const e=new be;return e.append(`<<
10`),e.append(" mode: "),e.append(this.mode?this.mode.toString():"null"),e.append(`
11 ecLevel: `),e.append(this.ecLevel?this.ecLevel.toString():"null"),e.append(`
12 version: `),e.append(this.version?this.version.toString():"null"),e.append(`
13 maskPattern: `),e.append(this.maskPattern.toString()),this.matrix?(e.append(`
14 matrix:
15`),e.append(this.matrix.toString())):e.append(`
16 matrix: null
17`),e.append(`>>
18`),e.toString()}setMode(e){this.mode=e}setECLevel(e){this.ecLevel=e}setVersion(e){this.version=e}setMaskPattern(e){this.maskPattern=e}setMatrix(e){this.matrix=e}static isValidMaskPattern(e){return e>=0&&e<Wn.NUM_MASK_PATTERNS}}Wn.NUM_MASK_PATTERNS=8;class at extends w{}at.kind="WriterException";class ke{constructor(){}static clearMatrix(e){e.clear(255)}static buildMatrix(e,t,n,r,s){ke.clearMatrix(s),ke.embedBasicPatterns(n,s),ke.embedTypeInfo(t,r,s),ke.maybeEmbedVersionInfo(n,s),ke.embedDataBits(e,r,s)}static embedBasicPatterns(e,t){ke.embedPositionDetectionPatternsAndSeparators(t),ke.embedDarkD
18otAtLeftBottomCorner(t),ke.maybeEmbedPositionAdjustmentPatterns(e,t),ke.embedTimingPatterns(t)}static embedTypeInfo(e,t,n){const r=new J;ke.makeTypeInfoBits(e,t,r);for(let s=0,i=r.getSize();s<i;++s){const o=r.get(r.getSize()-1-s),a=ke.TYPE_INFO_COORDINATES[s],l=a[0],d=a[1];if(n.setBoolean(l,d,o),s<8){const _=n.getWidth()-s-1;n.setBoolean(_,8,o)}else{const C=n.getHeight()-7+(s-8);n.setBoolean(8,C,o)}}}static maybeEmbedVersionInfo(e,t){if(e.getVersionNumber()<7)return;const n=new J;ke.makeVersionInfoBits(e,n);let r=17;for(let s=0;s<6;++s)for(let i=0;i<3;++i){const o=n.get(r);r--,t.setBoolean(s,t.getHeight()-11+i,o),t.setBoolean(t.getHeight()-11+i,s,o)}}static embedDataBits(e,t,n){let r=0,s=-1,i=n.getWidth()-1,o=n.getHeight()-1;for(;i>0;){for(i===6&&(i-=1);o>=0&&o<n.getHeight();){for(let a=0;a<2;++a){const l=i-a;if(!ke.isEmpty(n.get(l,o)))continue;let d;r<e.getSize()?(d=e.get(r),++r):d=!1,t!==255&&At.getDataMaskBit(t,l,o)&&(d=!d),n.setBoolean(l,o,d)}o+=s}s=-s,o+=s,i-=2}if(r!==e.getSize())throw new at("Not all bits consumed: "+r+"/"+e.getSize())}static findMSBSet(e){return 32-$.numberOfLeadingZeros(e)}static calculateBCHCode(e,t){if(t===0)throw new I("0 polynomial");const n=ke.findMSBSet(t);for(e<<=n-1;ke.findMSBSet(e)>=n;)e^=t<<ke.findMSBSet(e)-n;return e}static makeTypeInfoBits(e,t,n){if(!Wn.isValidMaskPattern(t))throw new at("Invalid mask pattern");const r=e.getBits()<<3|t;n.appendBits(r,5);const s=ke.calculateBCHCode(r,ke.TYPE_INFO_POLY);n.appendBits(s,10);const i=new J;if(i.appendBits(ke.TYPE_INFO_MASK_PATTERN,15),n.xor(i),n.getSize()!==15)throw new at("should not happen but we got: "+n.getSize())}static makeVersionInfoBits(e,t){t.appendBits(e.getVersionNumber(),6);const n=ke.calculateBCHCode(e.getVersionNumber(),ke.VERSION_INFO_POLY);if(t.appendBits(n,12),t.getSize()!==18)throw new at("should not happen but we got: "+t.getSize())}static isEmpty(e){return e===255}static embedTimingPatterns(e){for(let t=8;t<e.getWidth()-8;++t){const n=(t+1)%2;ke.isEmpty(e.get(t,6))&&e.setNumber(t,6,n),ke.isEmpty(e.get(6,t))&&e.setNumber(6,t,n)}}static embedDarkDotAtLeftBottomCorner(e){if(e.get(8,e.getHeight()-8)===0)throw new at;e.setNumber(8,e.getHeight()-8,1)}static embedHorizontalSeparationPattern(e,t,n){for(let r=0;r<8;++r){if(!ke.isEmpty(n.get(e+r,t)))throw new at;n.setNumber(e+r,t,0)}}static embedVerticalSeparationPattern(e,t,n){for(let r=0;r<7;++r){if(!ke.isEmpty(n.get(e,t+r)))throw new at;n.setNumber(e,t+r,0)}}static embedPositionAdjustmentPattern(e,t,n){for(let r=0;r<5;++r){const s=ke.POSITION_ADJUSTMENT_PATTERN[r];for(let i=0;i<5;++i)n.setNumber(e+i,t+r,s[i])}}static embedPositionDetectionPattern(e,t,n){for(let r=0;r<7;++r){const s=ke.POSITION_DETECTION_PATTERN[r];for(let i=0;i<7;++i)n.setNumber(e+i,t+r,s[i])}}static embedPositionDetectionPatternsAndSeparators(e){const t=ke.POSITION_DETECTION_PATTERN[0].length;ke.embedPositionDetectionPattern(0,0,e),ke.embedPositionDetectionPattern(e.getWidth()-t,0,e),ke.embedPositionDetectionPattern(0,e.getWidth()-t,e);const n=8;ke.embedHorizontalSeparationPattern(0,n-1,e),ke.embedHorizontalSeparationPattern(e.getWidth()-n,n-1,e),ke.embedHorizontalSeparationPattern(0,e.getWidth()-n,e);const r=7;ke.embedVerticalSeparationPattern(r,0,e),ke.embedVerticalSeparationPattern(e.getHeight()-r-1,0,e),ke.embedVerticalSeparationPattern(r,e.getHeight()-r,e)}static maybeEmbedPositionAdjustmentPatterns(e,t){if(e.getVersionNumber()<2)return;const n=e.getVersionNumber()-1,r=ke.POSITION_ADJUSTMENT_PATTERN_COORDINATE_TABLE[n];for(let s=0,i=r.length;s!==i;s++){const o=r[s];if(o>=0)for(let a=0;a!==i;a++){const l=r[a];l>=0&&ke.isEmpty(t.get(l,o))&&ke.embedPositionAdjustmentPattern(l-2,o-2,t)}}}}ke.POSITION_DETECTION_PATTERN=Array.from([Int32Array.from([1,1,1,1,1,1,1]),Int32Array.from([1,0,0,0,0,0,1]),Int32Array.from([1,0,1,1,1,0,1]),Int32Array.from([1,0,1,1,1,0,1]),Int32Array.from([1,0,1,1,1,0,1]),Int32Array.from([1,0,0,0,0,0,1]),Int32Array.from([1,1,1,1,1,1,1])]),ke.POSITION_ADJUSTMENT_PATTERN=Array.from([Int32Array.from([1,1,1,1,1]),Int32Array.from([1,0,0,0,1]),Int32Array.from([1,0,1,0,1]),Int32Array.from([1,0,0,0,1]),Int32Array.from([1,1,1,1,1])]),ke.POSITION_ADJUSTMENT_PATTERN_COORDINATE_TABLE=Array.from([Int32Array.from([-1,-1,-1,-1,-1,-1,-1]),Int32Array.from([6,18,-1,-1,-1,-1,-1]),Int32Array.from([6,22,-1,-1,-1,-1,-1]),Int32Array.from([6,26,-1,-1,-1,-1,-1]),Int32Array.from([6,30,-1,-1,-1,-1,-1]),Int32Array.from([6,34,-1,-1,-1,-1,-1]),Int32Array.from([6,22,38,-1,-1,-1,-1]),Int32Array.from([6,24,42,-1,-1,-1,-1]),Int32Array.from([6,26,46,-1,-1,-1,-1]),Int32Array.from([6,28,50,-1,-1,-1,-1]),Int32Array.from([6,30,54,-1,-1,-1,-1]),Int32Array.from([6,32,58,-1,-1,-1,-1]),Int32Array.from([6,34,62,-1,-1,-1,-1]),Int32Array.from([6,26,46,66,-1,-1,-1]),Int32Array.from([6,26,48,70,-1,-1,-1]),Int32Array.from([6,26,50,74,-1,-1,-1]),Int32Array.from([6,30,54,78,-1,-1,-1]),Int32Array.from([6,30,56,82,-1,-1,-1]),Int32Array.from([6,30,58,86,-1,-1,-1]),Int32Array.from([6,34,62,90,-1,-1,-1]),Int32Array.from([6,28,50,72,94,-1,-1]),Int32Array.from([6,26,50,74,98,-1,-1]),Int32Array.from([6,30,54,78,102,-1,-1]),Int32Array.from([6,28,54,80,106,-1,-1]),Int32Array.from([6,32,58,84,110,-1,-1]),Int32Array.from([6,30,58,86,114,-1,-1]),Int32Array.from([6,34,62,90,118,-1,-1]),Int32Array.from([6,26,50,74,98,122,-1]),Int32Array.from([6,30,54,78,102,126,-1]),Int32Array.from([6,26,52,78,104,130,-1]),Int32Array.from([6,30,56,82,108,134,-1]),Int32Array.from([6,34,60,86,112,138,-1]),Int32Array.from([6,30,58,86,114,142,-1]),Int32Array.from([6,34,62,90,118,146,-1]),Int32Array.from([6,30,54,78,102,126,150]),Int32Array.from([6,24,50,76,102,128,154]),Int32Array.from([6,28,54,80,106,132,158]),Int32Array.from([6,32,58,84,110,136,162]),Int32Array.from([6,26,54,82,110,138,166]),Int32Array.from([6,30,58,86,114,142,170])]),ke.TYPE_INFO_COORDINATES=Array.from([Int32Array.from([8,0]),Int32Array.from([8,1]),Int32Array.from([8,2]),Int32Array.from([8,3]),Int32Array.from([8,4]),Int32Array.from([8,5]),Int32Array.from([8,7]),Int32Array.from([8,8]),Int32Array.from([7,8]),Int32Array.from([5,8]),Int32Array.from([4,8]),Int32Array.from([3,8]),Int32Array.from([2,8]),Int32Array.from([1,8]),Int32Array.from([0,8])]),ke.VERSION_INFO_POLY=7973,ke.TYPE_INFO_POLY=1335,ke.TYPE_INFO_MASK_PATTERN=21522;class Yi{constructor(e,t){this.dataBytes=e,this.errorCorrectionBytes=t}getDataBytes(){return this.dataBytes}getErrorCorrectionBytes(){return this.errorCorrectionBytes}}class gt{constructor(){}
18static calculateMaskPenalty(e){return At.applyMaskPenaltyRule1(e)+At.applyMaskPenaltyRule2(e)+At.applyMaskPenaltyRule3(e)+At.applyMaskPenaltyRule4(e)}static encode(e,t,n=null){let r=gt.DEFAULT_BYTE_MODE_ENCODING;const s=n!==null&&n.get(Ot.CHARACTER_SET)!==void 0;s&&(r=n.get(Ot.CHARACTER_SET).toString());const i=this.chooseMode(e,r),o=new J;if(i===Me.BYTE&&(s||gt.DEFAULT_BYTE_MODE_ENCODING!==r)){const he=F.getCharacterSetECIByName(r);he!==void 0&&this.appendECI(he,o)}this.appendModeInfo(i,o);const a=new J;this.appendBytes(e,i,a,r);let l;if(n!==null&&n.get(Ot.QR_VERSION)!==void 0){const he=Number.parseInt(n.get(Ot.QR_VERSION).toString(),10);l=Te.getVersionForNumber(he);const le=this.calculateBitsNeeded(i,o,a,l);if(!this.willFit(le,l,t))throw new at("Data too big for requested version")}else l=this.recommendVersion(t,i,o,a);const d=new J;d.appendBitArray(o);const _=i===Me.BYTE?a.getSizeInBytes():e.length;this.appendLengthInfo(_,l,i,d),d.appendBitArray(a);const C=l.getECBlocksForLevel(t),S=l.getTotalCodewords()-C.getTotalECCodewords();this.terminateBits(S,d);const R=this.interleaveWithECBytes(d,l.getTotalCodewords(),S,C.getNumBlocks()),M=new Wn;M.setECLevel(t),M.setMode(i),M.setVersion(l);const L=l.getDimensionForVersion(),X=new Or(L,L),ue=this.chooseMaskPattern(R,t,l,X);return M.setMaskPattern(ue),ke.buildMatrix(R,t,l,ue,X),M.setMatrix(X),M}static recommendVersion(e,t,n,r){const s=this.calculateBitsNeeded(t,n,r,Te.getVersionForNumber(1)),i=this.chooseVersion(s,e),o=this.calculateBitsNeeded(t,n,r,i);return this.chooseVersion(o,e)}static calculateBitsNeeded(e,t,n,r){return t.getSize()+e.getCharacterCountBits(r)+n.getSize()}static getAlphanumericCode(e){return e<gt.ALPHANUMERIC_TABLE.length?gt.ALPHANUMERIC_TABLE[e]:-1}static chooseMode(e,t=null){if(F.SJIS.getName()===t&&this.isOnlyDoubleByteKanji(e))return Me.KANJI;let n=!1,r=!1;for(let s=0,i=e.length;s<i;++s){const o=e.charAt(s);if(gt.isDigit(o))n=!0;else if(this.getAlphanumericCode(o.charCodeAt(0))!==-1)r=!0;else return Me.BYTE}return r?Me.ALPHANUMERIC:n?Me.NUMERIC:Me.BYTE}static isOnlyDoubleByteKanji(e){let t;try{t=ie.encode(e,F.SJIS)}catch{return!1}const n=t.length;if(n%2!==0)return!1;for(let r=0;r<n;r+=2){const s=t[r]&255;if((s<129||s>159)&&(s<224||s>235))return!1}return!0}static chooseMaskPattern(e,t,n,r){let s=Number.MAX_SAFE_INTEGER,i=-1;for(let o=0;o<Wn.NUM_MASK_PATTERNS;o++){ke.buildMatrix(e,t,n,o,r);let a=this.calculateMaskPenalty(r);a<s&&(s=a,i=o)}return i}static chooseVersion(e,t){for(let n=1;n<=40;n++){const r=Te.getVersionForNumber(n);if(gt.willFit(e,r,t))return r}throw new at("Data too big")}static willFit(e,t,n){const r=t.getTotalCodewords(),i=t.getECBlocksForLevel(n).getTotalECCodewords(),o=r-i,a=(e+7)/8;return o>=a}static terminateBits(e,t){const n=e*8;if(t.getSize()>n)throw new at("data bits cannot fit in the QR Code"+t.getSize()+" > "+n);for(let i=0;i<4&&t.getSize()<n;++i)t.appendBit(!1);const r=t.getSize()&7;if(r>0)for(let i=r;i<8;i++)t.appendBit(!1);const s=e-t.getSizeInBytes();for(let i=0;i<s;++i)t.appendBits((i&1)===0?236:17,8);if(t.getSize()!==n)throw new at("Bits size does not equal capacity")}static getNumDataBytesAndNumECBytesForBlockID(e,t,n,r,s,i){if(r>=n)throw new at("Block ID too large");const o=e%n,a=n-o,l=Math.floor(e/n),d=l+1,_=Math.floor(t/n),C=_+1,S=l-_,R=d-C;if(S!==R)throw new at("EC bytes mismatch");if(n!==a+o)throw new at("RS blocks mismatch");if(e!==(_+S)*a+(C+R)*o)throw new at("Total bytes mismatch");r<a?(s[0]=_,i[0]=S):(s[0]=C,i[0]=R)}static interleaveWithECBytes(e,t,n,r){if(e.getSizeInBytes()!==n)throw new at("Number of bits and data bytes does not match");let s=0,i=0,o=0;const a=new Array;for(let d=0;d<r;++d){const _=new Int32Array(1),C=new Int32Array(1);gt.getNumDataBytesAndNumECBytesForBlockID(t,n,r,d,_,C);const S=_[0],R=new Uint8Array(S);e.toBytes(8*s,R,0,S);const M=gt.generateECBytes(R,C[0]);a.push(new Yi(R,M)),i=Math.max(i,S),o=Math.max(o,M.length),s+=_[0]}if(n!==s)throw new at("Data bytes does not match offset");const l=new J;for(let d=0;d<i;++d)for(const _ of a){const C=_.getDataBytes();d<C.length&&l.appendBits(C[d],8)}for(let d=0;d<o;++d)for(const _ of a){const C=_.getErrorCorrectionBytes();
18d<C.length&&l.appendBits(C[d],8)}if(t!==l.getSizeInBytes())throw new at("Interleaving error: "+t+" and "+l.getSizeInBytes()+" differ.");return l}static generateECBytes(e,t){const n=e.length,r=new Int32Array(n+t);for(let i=0;i<n;i++)r[i]=e[i]&255;new ts(Ne.QR_CODE_FIELD_256).encode(r,t);const s=new Uint8Array(t);for(let i=0;i<t;i++)s[i]=r[n+i];return s}static appendModeInfo(e,t){t.appendBits(e.getBits(),4)}static appendLengthInfo(e,t,n,r){const s=n.getCharacterCountBits(t);if(e>=1<<s)throw new at(e+" is bigger than "+((1<<s)-1));r.appendBits(e,s)}static appendBytes(e,t,n,r){switch(t){case Me.NUMERIC:gt.appendNumericBytes(e,n);break;case Me.ALPHANUMERIC:gt.appendAlphanumericBytes(e,n);break;case Me.BYTE:gt.append8BitBytes(e,n,r);break;case Me.KANJI:gt.appendKanjiBytes(e,n);break;default:throw new at("Invalid mode: "+t)}}static getDigit(e){return e.charCodeAt(0)-48}static isDigit(e){const t=gt.getDigit(e);return t>=0&&t<=9}static appendNumericBytes(e,t){const n=e.length;let r=0;for(;r<n;){const s=gt.getDigit(e.charAt(r));if(r+2<n){const i=gt.getDigit(e.charAt(r+1)),o=gt.getDigit(e.charAt(r+2));t.appendBits(s*100+i*10+o,10),r+=3}else if(r+1<n){const i=gt.getDigit(e.charAt(r+1));t.appendBits(s*10+i,7),r+=2}else t.appendBits(s,4),r++}}static appendAlphanumericBytes(e,t){const n=e.length;let r=0;for(;r<n;){const s=gt.getAlphanumericCode(e.charCodeAt(r));if(s===-1)throw new at;if(r+1<n){const i=gt.getAlphanumericCode(e.charCodeAt(r+1));if(i===-1)throw new at;t.appendBits(s*45+i,11),r+=2}else t.appendBits(s,6),r++}}static append8BitBytes(e,t,n){let r;try{r=ie.encode(e,n)}catch(s){throw new at(s)}for(let s=0,i=r.length;s!==i;s++){const o=r[s];t.appendBits(o,8)}}static appendKanjiBytes(e,t){let n;try{n=ie.encode(e,F.SJIS)}catch(s){throw new at(s)}const r=n.length;for(let s=0;s<r;s+=2){const i=n[s]&255,o=n[s+1]&255,a=i<<8&4294967295|o;let l=-1;if(a>=33088&&a<=40956?l=a-33088:a>=57408&&a<=60351&&(l=a-49472),l===-1)throw new at("Invalid byte sequence");const d=(l>>8)*192+(l&255);t.appendBits(d,13)}}static appendECI(e,t){t.appendBits(Me.ECI.getBits(),4),t.appendBits(e.getValue(),8)}}gt.ALPHANUMERIC_TABLE=Int32Array.from([-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,36,-1,-1,-1,37,38,-1,-1,-1,-1,39,40,-1,41,42,43,0,1,2,3,4,5,6,7,8,9,44,-1,-1,-1,-1,-1,-1,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,-1,-1,-1,-1,-1]),gt.DEFAULT_BYTE_MODE_ENCODING=F.UTF8.getName();class Xn{write(e,t,n,r=null){if(e.length===0)throw new I("Found empty contents");if(t<0||n<0)throw new I("Requested dimensions are too small: "+t+"x"+n);let s=ht.L,i=Xn.QUIET_ZONE_SIZE;r!==null&&(r.get(Ot.ERROR_CORRECTION)!==void 0&&(s=ht.fromString(r.get(Ot.ERROR_CORRECTION).toString())),r.get(Ot.MARGIN)!==void 0&&(i=Number.parseInt(r.get(Ot.MARGIN).toString(),10)));const o=gt.encode(e,s,r);return this.renderResult(o,t,n,i)}writeToDom(e,t,n,r,s=null){typeof e=="string"&&(e=document.querySelector(e));const i=this.write(t,n,r,s);e&&e.appendChild(i)}renderResult(e,t,n,r){const s=e.getMatrix();if(s===null)throw new Tt;const i=s.getWidth(),o=s.getHeight(),a=i+r*2,l=o+r*2,d=Math.max(t,a),_=Math.max(n,l),C=Math.min(Math.floor(d/a),Math.floor(_/l)),S=Math.floor((d-i*C)/2),R=Math.floor((_-o*C)/2),M=this.createSVGElement(d,_);for(let L=0,X=R;L<o;L++,X+=C)for(let ue=0,he=S;ue<i;ue++,he+=C)if(s.get(ue,L)===1){const le=this.createSvgRectElement(he,X,C,C);M.appendChild(le)}return M}createSVGElement(e,t){const n=document.createElementNS(Xn.SVG_NS,"svg");return n.setAttributeNS(null,"height",e.toString()),n.setAttributeNS(null,"width",t.toString()),n}createSvgRectElement(e,t,n,r){const s=document.createElementNS(Xn.SVG_NS,"rect");return s.setAttributeNS(null,"x",e.toString()),s.setAttributeNS(null,"y",t.toString()),s.setAttributeNS(null,"height",n.toString()),s.setAttributeNS(null,"width",r.toString()),s.setAttributeNS(null,"fill","#000000"),s}}Xn.QUIET_ZONE_SIZE=4,Xn.SVG_NS="http://www.w3.org/2000/svg";class Qn{encode(e,t,n,r,s){if(e.length===0)throw new I("Found empty contents");if(t!==_e.QR_CODE)throw new I("Can only encode QR_CODE, but got "+t);if(n<0||r<0)throw new I(`Requested dimensions are too small: ${n}x${r}`);let i=ht.L,o=Qn.QUIET_ZONE_SIZE;s!==null&&(s.get(Ot.ERROR_CORRECTION)!==void 0&&(i=ht.fromString(s.get(Ot.ERROR_CORRECTION).toString())),s.get(Ot.MARGIN)!==void 0&&(o=Number.parseInt(s.get(Ot.MARGIN).toString(),10)));const a=gt.encode(e,i,s);return Qn.renderResult(a,n,r,o)}static renderResult(e,t,n,r){const s=e.getMatrix();if(s===null)throw new Tt;const i=s.getWidth(),o=s.getHeight(),a=i+r*2,l=o+r*2,d=Math.max(t,a),_=Math.max(n,l),C=Math.min(Math.floor(d/a),Math.floor(_/l)),S=Math.floor((d-i*C)/2),R=Math.floor((_-o*C)/2),M=new Ve(d,_);for(let L=0,X=R;L<o;L++,X+=C)for(let ue=0,he=S;ue<i;ue++,he+=C)s.get(ue,L)===1&&M.setRegion(he,X,C,C);return M}}Qn.QUIET_ZONE_SIZE=4;
18class Zi{encode(e,t,n,r,s){let i;if(t===_e.QR_CODE)i=new Qn;else throw new I("No encoder available for format "+t);return i.encode(e,t,n,r,s)}}class Cn extends ut{constructor(e,t,n,r,s,i,o,a){if(super(i,o),this.yuvData=e,this.dataWidth=t,this.dataHeight=n,this.left=r,this.top=s,r+i>t||s+o>n)throw new I("Crop rectangle does not fit within image data.");a&&this.reverseHorizontal(i,o)}getRow(e,t){if(e<0||e>=this.getHeight())throw new I("Requested row is outside the image: "+e);const n=this.getWidth();(t==null||t.length<n)&&(t=new Uint8ClampedArray(n));const r=(e+this.top)*this.dataWidth+this.left;return P.arraycopy(this.yuvData,r,t,0,n),t}getMatrix(){const e=this.getWidth(),t=this.getHeight();if(e===this.dataWidth&&t===this.dataHeight)return this.yuvData;const n=e*t,r=new Uint8ClampedArray(n);let s=this.top*this.dataWidth+this.left;if(e===this.dataWidth)return P.arraycopy(this.yuvData,s,r,0,n),r;for(let i=0;i<t;i++){const o=i*e;P.arraycopy(this.yuvData,s,r,o,e),s+=this.dataWidth}return r}isCropSupported(){return!0}crop(e,t,n,r){return new Cn(this.yuvData,this.dataWidth,this.dataHeight,this.left+e,this.top+t,n,r,!1)}renderThumbnail(){const e=this.getWidth()/Cn.THUMBNAIL_SCALE_FACTOR,t=this.getHeight()/Cn.THUMBNAIL_SCALE_FACTOR,n=new Int32Array(e*t),r=this.yuvData;let s=this.top*this.dataWidth+this.left;for(let i=0;i<t;i++){const o=i*e;for(let a=0;a<e;a++){const l=r[s+a*Cn.THUMBNAIL_SCALE_FACTOR]&255;n[o+a]=4278190080|l*65793}s+=this.dataWidth*Cn.THUMBNAIL_SCALE_FACTOR}return n}getThumbnailWidth(){return this.getWidth()/Cn.THUMBNAIL_SCALE_FACTOR}getThumbnailHeight(){return this.getHeight()/Cn.THUMBNAIL_SCALE_FACTOR}reverseHorizontal(e,t){const n=this.yuvData;for(let r=0,s=this.top*this.dataWidth+this.left;r<t;r++,s+=this.dataWidth){const i=s+e/2;for(let o=s,a=s+e-1;o<i;o++,a--){const l=n[o];n[o]=n[a],n[a]=l}}}invert(){return new bt(this)}}Cn.THUMBNAIL_SCALE_FACTOR=2;class ns extends ut{constructor(e,t,n,r,s,i,o){if(super(t,n),this.dataWidth=r,this.dataHeight=s,this.left=i,this.top=o,e.BYTES_PER_ELEMENT===4){const a=t*n,l=new Uint8ClampedArray(a);for(let d=0;d<a;d++){const _=e[d],C=_>>16&255,S=_>>7&510,R=_&255;l[d]=(C+S+R)/4&255}this.luminances=l}else this.luminances=e;if(r===void 0&&(this.dataWidth=t),s===void 0&&(this.dataHeight=n),i===void 0&&(this.left=0),o===void 0&&(this.top=0),this.left+t>this.dataWidth||this.top+n>this.dataHeight)throw new I("Crop rectangle does not fit within image data.")}getRow(e,t){if(e<0||e>=this.getHeight())throw new I("Requested row is outside the image: "+e);const n=this.getWidth();(t==null||t.length<n)&&(t=new Uint8ClampedArray(n));const r=(e+this.top)*this.dataWidth+this.left;return P.arraycopy(this.luminances,r,t,0,n),t}getMatrix(){const e=this.getWidth(),t=this.getHeight();if(e===this.dataWidth&&t===this.dataHeight)return this.luminances;const n=e*t,r=new Uint8ClampedArray(n);let s=this.top*this.dataWidth+this.left;if(e===this.dataWidth)return P.arraycopy(this.luminances,s,r,0,n),r;for(let i=0;i<t;i++){const o=i*e;P.arraycopy(this.luminances,s,r,o,e),s+=this.dataWidth}return r}isCropSupported(){return!0}crop(e,t,n,r){return new ns(this.luminances,n,r,this.dataWidth,this.dataHeight,this.left+e,this.top+t)}invert(){return new bt(this)}}class Ps extends F{static forName(e){return this.getCharacterSetECIByName(e)}}class rs{}rs.ISO_8859_1=F.ISO8859_1;class Ls{isCompact(){return this.compact}setCompact(e){this.compact=e}getSize(){return this.size}setSize(e){this.size=e}getLayers(){return this.layers}setLayers(e){this.layers=e}getCodeWords(){return this.codeWords}setCodeWords(e){this.codeWords=e}getMatrix(){return this.matrix}setMatrix(e){this.matrix=e}}class Fs{static singletonList(e){return[e]}static min(e,t){return e.sort(t)[0]}}class qi{constructor(e){this.previous=e}getPrevious(){return this.previous}}class Jn extends qi{constructor(e,t,n){super(e),this.value=t,this.bitCount=n}appendTo(e,t){e.appendBits(this.value,this.bitCount)}add(e,t){return new Jn(this,e,t)}addBinaryShift(e,t){return console.warn("addBinaryShift on SimpleToken, this simply returns a copy of this token"),new Jn(this,e,t)}toString(){let e=this.value&(1<<this.bitCount)-1;return e|=1<<this.bitCount,"<"+$.toBinaryString(e|1<<this.bitCount).substring(1)+">"}}class ss extends Jn{constructor(e,t,n){super(e,0,0),this.binaryShiftStart=t,this.binaryShiftByteCount=n}appendTo(e,t){for(let n=0;n<this.binaryShiftByteCount;n++)(n===0||n===31&&this.binaryShiftByteCount<=62)&&(e.appendBits(31,5),this.binaryShiftByteCount>62?e.appendBits(this.binaryShiftByteCount-31,16):n===0?e.appendBits(Math.min(this.binaryShiftByteCount,31),5):e.appendBits(this.binaryShiftByteCount-31,5)),e.appendBits(t[this.binaryShiftStart+n],8)}addBinaryShift(e,t){return new ss(this,e,t)}toString(){return"<"+this.binaryShiftStart+"::"+(this.binaryShiftStart+this.binaryShiftByteCount-1)+">"}}function ji(x,e,t){return new ss(x,e,t)}function gr(x,e,t){return new Jn(x,e,t)}const Ki=["UPPER","LOWER","DIGIT","MIXED","PUNCT"],Bn=0,Rr=1,cn=2,Us=3,An=4,Qi=new Jn(null,0,0),is=[Int32Array.from([0,(5<<16)+28,(5<<16)+30,(5<<16)+29,656318]),Int32Array.from([(9<<16)+480+14,0,(5<<16)+30,(5<<16)+29,656318]),Int32Array.from([(4<<16)+14,(9<<16)+448+28,0,(9<<16)+448+29,932798]),Int32Array.from([(5<<16)+29,(5<<16)+28,656318,0,(5<<16)+30]),Int32Array.from([(5<<16)+31,656380,656382,656381,0])];function Ji(x){for(let e of x)Z.fill(e,-1);return x[Bn][An]=0,x[Rr][An]=0,x[Rr][Bn]=28,x[Us][An]=0,x[cn][An]=0,x[cn][Bn]=15,x}const Vs=Ji(Z.createInt32Array(6,6));class En{constructor(e,t,n,r){this.token=e,this.mode=t,this.binaryShiftByteCount=n,this.bitCount=r}getMode(){return this.mode}getToken(){return this.token}getBinaryShiftByteCount(){return this.binaryShiftByteCount}getBitCount(){return this.bitCount}latchAndAppend(e,t){let n=this.bitCount,r=this.token;if(e!==this.mode){let i=is[this.mode][e];r=gr(r,i&65535,i>>16),n+=i>>16}let s=e===cn?4:5;return r=gr(r,t,s),new En(r,e,0,n+s)}shiftAndAppend(e,t){let n=this.token,r=this.mode===cn?4:5;return n=gr(n,Vs[this.mode][e],r),n=gr(n,t,5),new En(n,this.mode,0,this.bitCount+r+5)}addBinaryShiftChar(e){let t=this.token,n=this.mode,r=this.bitCount;if(this.mode===An||this.mode===cn){let o=is[n][Bn];t=gr(t,o&65535,o>>16),r+=o>>16,n=Bn}let s=this.binaryShiftByteCount===0||this.binaryShiftByteCount===31?18:this.binaryShiftByteCount===62?9:8,i=new En(t,n,this.binaryShiftByteCount+1,r+s);return i.binaryShiftByteCount===2078&&(i=i.endBinaryShift(e+1)),i}endBinaryShift(e){if(this.binaryShiftByteCount===0)return this;let t=this.token;return t=ji(t,e-this.binaryShiftByteCount,this.binaryShiftByteCount),new En(t,this.mode,0,this.bitCount)}
18isBetterThanOrEqualTo(e){let t=this.bitCount+(is[this.mode][e.mode]>>16);return this.binaryShiftByteCount<e.binaryShiftByteCount?t+=En.calculateBinaryShiftCost(e)-En.calculateBinaryShiftCost(this):this.binaryShiftByteCount>e.binaryShiftByteCount&&e.binaryShiftByteCount>0&&(t+=10),t<=e.bitCount}toBitArray(e){let t=[];for(let r=this.endBinaryShift(e.length).token;r!==null;r=r.getPrevious())t.unshift(r);let n=new J;for(const r of t)r.appendTo(n,e);return n}toString(){return de.format("%s bits=%d bytes=%d",Ki[this.mode],this.bitCount,this.binaryShiftByteCount)}static calculateBinaryShiftCost(e){return e.binaryShiftByteCount>62?21:e.binaryShiftByteCount>31?20:e.binaryShiftByteCount>0?10:0}}En.INITIAL_STATE=new En(Qi,Bn,0,0);function eo(x){const e=de.getCharCode(" "),t=de.getCharCode("."),n=de.getCharCode(",");x[Bn][e]=1;const r=de.getCharCode("Z"),s=de.getCharCode("A");for(let C=s;C<=r;C++)x[Bn][C]=C-s+2;x[Rr][e]=1;const i=de.getCharCode("z"),o=de.getCharCode("a");for(let C=o;C<=i;C++)x[Rr][C]=C-o+2;x[cn][e]=1;const a=de.getCharCode("9"),l=de.getCharCode("0");for(let C=l;C<=a;C++)x[cn][C]=C-l+2;x[cn][n]=12,x[cn][t]=13;const d=["\0"," ","�","�","�","�","�","�","\x07","\b","	",`
19`,"\v","\f","\r","\x1B","�","�","�","�","@","\\","^","_","`","|","~","�"];for(let C=0;C<d.length;C++)x[Us][de.getCharCode(d[C])]=C;const _=["\0","\r","\0","\0","\0","\0","!","'","#","$","%","&","'","(",")","*","+",",","-",".","/",":",";","<","=",">","?","[","]","{","}"];for(let C=0;C<_.length;C++)de.getCharCode(_[C])>0&&(x[An][de.getCharCode(_[C])]=C);return x}const os=eo(Z.createInt32Array(5,256));class xr{constructor(e){this.text=e}encode(){const e=de.getCharCode(" "),t=de.getCharCode(`
20`);let n=Fs.singletonList(En.INITIAL_STATE);for(let s=0;s<this.text.length;s++){let i,o=s+1<this.text.length?this.text[s+1]:0;switch(this.text[s]){case de.getCharCode("\r"):i=o===t?2:0;break;case de.getCharCode("."):i=o===e?3:0;break;case de.getCharCode(","):i=o===e?4:0;break;case de.getCharCode(":"):i=o===e?5:0;break;default:i=0}i>0?(n=xr.updateStateListForPair(n,s,i),s++):n=this.updateStateListForChar(n,s)}return Fs.min(n,(s,i)=>s.getBitCount()-i.getBitCount()).toBitArray(this.text)}updateStateListForChar(e,t){const n=[];for(let r of e)this.updateStateForChar(r,t,n);return xr.simplifyStates(n)}updateStateForChar(e,t,n){let r=this.text[t]&255,s=os[e.getMode()][r]>0,i=null;for(let o=0;o<=An;o++){let a=os[o][r];if(a>0){if(i==null&&(i=e.endBinaryShift(t)),!s||o===e.getMode()||o===cn){const l=i.latchAndAppend(o,a);n.push(l)}if(!s&&Vs[e.getMode()][o]>=0){const l=i.shiftAndAppend(o,a);n.push(l)}}}if(e.getBinaryShiftByteCount()>0||os[e.getMode()][r]===0){let o=e.addBinaryShiftChar(t);n.push(o)}}static updateStateListForPair(e,t,n){const r=[];for(let s of e)this.updateStateForPair(s,t,n,r);return this.simplifyStates(r)}static updateStateForPair(e,t,n,r){let s=e.endBinaryShift(t);if(r.push(s.latchAndAppend(An,n)),e.getMode()!==An&&r.push(s.shiftAndAppend(An,n)),n===3||n===4){let i=s.latchAndAppend(cn,16-n).latchAndAppend(cn,1);r.push(i)}if(e.getBinaryShiftByteCount()>0){let i=e.addBinaryShiftChar(t).addBinaryShiftChar(t+1);r.push(i)}}static simplifyStates(e){let t=[];for(const n of e){let r=!0;for(const s of t){if(s.isBetterThanOrEqualTo(n)){r=!1;break}n.isBetterThanOrEqualTo(s)&&(t=t.filter(i=>i!==s))}r&&t.push(n)}return t}}class qe{constructor(){}static encodeBytes(e){return qe.encode(e,qe.DEFAULT_EC_PERCENT,qe.DEFAULT_AZTEC_LAYERS)}static encode(e,t,n){let r=new xr(e).encode(),s=$.truncDivision(r.getSize()*t,100)+11,i=r.getSize()+s,o,a,l,d,_;if(n!==qe.DEFAULT_AZTEC_LAYERS){if(o=n<0,a=Math.abs(n),a>(o?qe.MAX_NB_BITS_COMPACT:qe.MAX_NB_BITS))throw new I(de.format("Illegal value %s for layers",n));l=qe.totalBitsInLayer(a,o),d=qe.WORD_SIZE[a];let le=l-l%d;if(_=qe.stuffBits(r,d),_.getSize()+s>le)throw new I("Data to large for user specified layer");if(o&&_.getSize()>d*64)throw new I("Data to large for user specified layer")}else{d=0,_=null;for(let le=0;;le++){if(le>qe.MAX_NB_BITS)throw new I("Data too large for an Aztec code");if(o=le<=3,a=o?le+1:le,l=qe.totalBitsInLayer(a,o),i>l)continue;(_==null||d!==qe.WORD_SIZE[a])&&(d=qe.WORD_SIZE[a],_=qe.stuffBits(r,d));let Ye=l-l%d;if(!(o&&_.getSize()>d*64)&&_.getSize()+s<=Ye)break}}let C=qe.generateCheckWords(_,l,d),S=_.getSize()/d,R=qe.generateModeMessage(o,a,S),M=(o?11:14)+a*4,L=new Int32Array(M),X;if(o){X=M;for(let le=0;le<L.length;le++)L[le]=le}else{X=M+1+2*$.truncDivision($.truncDivision(M,2)-1,15);let le=$.truncDivision(M,2),Ye=$.truncDivision(X,2);for(let Xe=0;Xe<le;Xe++){let Kt=Xe+$.truncDivision(Xe,15);L[le-Xe-1]=Ye-Kt-1,L[le+Xe]=Ye+Kt+1}}let ue=new Ve(X);for(let le=0,Ye=0;le<a;le++){let Xe=(a-le)*4+(o?9:12);for(let Kt=0;Kt<Xe;Kt++){let hn=Kt*2;for(let Qt=0;Qt<2;Qt++)C.get(Ye+hn+Qt)&&ue.set(L[le*2+Qt],L[le*2+Kt]),C.get(Ye+Xe*2+hn+Qt)&&ue.set(L[le*2+Kt],L[M-1-le*2-Qt]),C.get(Ye+Xe*4+hn+Qt)&&ue.set(L[M-1-le*2-Qt],L[M-1-le*2-Kt]),C.get(Ye+Xe*6+hn+Qt)&&ue.set(L[M-1-le*2-Kt],L[le*2+Qt])}Ye+=Xe*8}if(qe.drawModeMessage(ue,o,X,R),o)qe.drawBullsEye(ue,$.truncDivision(X,2),5);else{qe.drawBullsEye(ue,$.truncDivision(X,2),7);for(let le=0,Ye=0;le<$.truncDivision(M,2)-1;le+=15,Ye+=16)for(let Xe=$.truncDivision(X,2)&1;Xe<X;Xe+=2)ue.set($.truncDivision(X,2)-Ye,Xe),ue.set($.truncDivision(X,2)+Ye,Xe),ue.set(Xe,$.truncDivision(X,2)-Ye),ue.set(Xe,$.truncDivision(X,2)+Ye)}let he=new Ls;return he.setCompact(o),he.setSize(X),he.setLayers(a),he.setCodeWords(S),he.setMatr
vendor: 5,147 bytes, line 20
20ix(ue),he}static drawBullsEye(e,t,n){for(let r=0;r<n;r+=2)for(let s=t-r;s<=t+r;s++)e.set(s,t-r),e.set(s,t+r),e.set(t-r,s),e.set(t+r,s);e.set(t-n,t-n),e.set(t-n+1,t-n),e.set(t-n,t-n+1),e.set(t+n,t-n),e.set(t+n,t-n+1),e.set(t+n,t+n-1)}static generateModeMessage(e,t,n){let r=new J;return e?(r.appendBits(t-1,2),r.appendBits(n-1,6),r=qe.generateCheckWords(r,28,4)):(r.appendBits(t-1,5),r.appendBits(n-1,11),r=qe.generateCheckWords(r,40,4)),r}static drawModeMessage(e,t,n,r){let s=$.truncDivision(n,2);if(t)for(let i=0;i<7;i++){let o=s-3+i;r.get(i)&&e.set(o,s-5),r.get(i+7)&&e.set(s+5,o),r.get(20-i)&&e.set(o,s+5),r.get(27-i)&&e.set(s-5,o)}else for(let i=0;i<10;i++){let o=s-5+i+$.truncDivision(i,5);r.get(i)&&e.set(o,s-7),r.get(i+10)&&e.set(s+7,o),r.get(29-i)&&e.set(o,s+7),r.get(39-i)&&e.set(s-7,o)}}static generateCheckWords(e,t,n){let r=e.getSize()/n,s=new ts(qe.getGF(n)),i=$.truncDivision(t,n),o=qe.bitsToWords(e,n,i);s.encode(o,i-r);let a=t%n,l=new J;l.appendBits(0,a);for(const d of Array.from(o))l.appendBits(d,n);return l}static bitsToWords(e,t,n){let r=new Int32Array(n),s,i;for(s=0,i=e.getSize()/t;s<i;s++){let o=0;for(let a=0;a<t;a++)o|=e.get(s*t+a)?1<<t-a-1:0;r[s]=o}return r}static getGF(e){switch(e){case 4:return Ne.AZTEC_PARAM;case 6:return Ne.AZTEC_DATA_6;case 8:return Ne.AZTEC_DATA_8;case 10:return Ne.AZTEC_DATA_10;case 12:return Ne.AZTEC_DATA_12;default:throw new I("Unsupported word size "+e)}}static stuffBits(e,t){let n=new J,r=e.getSize(),s=(1<<t)-2;for(let i=0;i<r;i+=t){let o=0;for(let a=0;a<t;a++)(i+a>=r||e.get(i+a))&&(o|=1<<t-1-a);(o&s)===s?(n.appendBits(o&s,t),i--):(o&s)===0?(n.appendBits(o|1,t),i--):n.appendBits(o,t)}return n}static totalBitsInLayer(e,t){return((t?88:112)+16*e)*e}}qe.DEFAULT_EC_PERCENT=33,qe.DEFAULT_AZTEC_LAYERS=0,qe.MAX_NB_BITS=32,qe.MAX_NB_BITS_COMPACT=4,qe.WORD_SIZE=Int32Array.from([4,6,6,8,8,8,8,8,8,10,10,10,10,10,10,10,10,10,10,10,10,10,10,12,12,12,12,12,12,12,12,12,12]);class Mr{encode(e,t,n,r){return this.encodeWithHints(e,t,n,r,null)}encodeWithHints(e,t,n,r,s){let i=rs.ISO_8859_1,o=qe.DEFAULT_EC_PERCENT,a=qe.DEFAULT_AZTEC_LAYERS;return s!=null&&(s.has(Ot.CHARACTER_SET)&&(i=Ps.forName(s.get(Ot.CHARACTER_SET).toString())),s.has(Ot.ERROR_CORRECTION)&&(o=$.parseInt(s.get(Ot.ERROR_CORRECTION).toString())),s.has(Ot.AZTEC_LAYERS)&&(a=$.parseInt(s.get(Ot.AZTEC_LAYERS).toString()))),Mr.encodeLayers(e,t,n,r,i,o,a)}static encodeLayers(e,t,n,r,s,i,o){if(t!==_e.AZTEC)throw new I("Can only encode AZTEC, but got "+t);let a=qe.encode(de.getBytes(e,s),i,o);return Mr.renderResult(a,n,r)}static renderResult(e,t,n){let r=e.getMatrix();if(r==null)throw new Tt;let s=r.getWidth(),i=r.getHeight(),o=Math.max(t,s),a=Math.max(n,i),l=Math.min(o/s,a/i),d=(o-s*l)/2,_=(a-i*l)/2,C=new Ve(o,a);for(let S=0,R=_;S<i;S++,R+=l)for(let M=0,L=d;M<s;M++,L+=l)r.get(M,S)&&C.setRegion(L,R,l,l);return C}}c.AbstractExpandedDecoder=$r,c.ArgumentException=T,c.ArithmeticException=Oe,c.AztecCode=Ls,c.AztecCodeReader=Fn,c.AztecCodeWriter=Mr,c.AztecDecoder=oe,c.AztecDetector=Er,c.AztecDetectorResult=et,c.AztecEncoder=qe,c.AztecHighLevelEncoder=xr,c.AztecPoint=Pt,c.BarcodeFormat=_e,c.Binarizer=k,c.BinaryBitmap=V,c.BitArray=J,c.BitMatrix=Ve,c.BitSource=qr,c.BrowserAztecCodeReader=yr,c.BrowserBarcodeReader=Ri,c.BrowserCodeReader=Se,c.BrowserDatamatrixCodeReader=ki,c.BrowserMultiFormatReader=Xi,c.BrowserPDF417Reader=$i,c.BrowserQRCodeReader=zi,c.BrowserQRCodeSvgWriter=Xn,c.CharacterSetECI=F,c.ChecksumException=D,c.Code128Reader=we,c.Code39Reader=De,c.DataMatrixDecodedBitStreamParser=Rn,c.DataMatrixReader=Mn,c.DecodeHintType=z,c.DecoderResult=dt,c.DefaultGridSampler=ar,c.DetectorResult=ot,c.EAN13Reader=Un,c.EncodeHintType=Ot,c.Exception=w,c.FormatException=G,c.GenericGF=Ne,c.GenericGFPoly=Ue,c.GlobalHistogramBinarizer=Ee,c.GridSampler=zn,c.GridSamplerInstance=_n,c.HTMLCanvasElementLuminanceSource=It,c.HybridBinarizer=Ie,c.ITFReader=Re,c.IllegalArgumentException=I,c.IllegalStateException=Tt,c.InvertedLuminanceSource=bt,c.LuminanceSource=ut,c.MathUtils=fe,c.MultiFormatOneDReader=jn,c.MultiFormatReader=Bs,c.MultiFormatWriter=Zi,c.NotFoundException=B,c.OneDReader=wt,c.PDF417DecodedBitStreamParser=W,c.PDF417DecoderErrorCorrection=Ns,c.PDF417Reader=Ft,c.PDF417ResultMetadata=Rs,c.PerspectiveTransform=Yt,c.PlanarYUVLuminanceSource=Cn,c.QRCodeByteMatrix=Or,c.QRCodeDataMask=an,c.QRCodeDecodedBitStreamParser=mt,c.QRCodeDecoderErrorCorrectionLevel=ht,c.QRCodeDecoderFormatInformation=Ht,c.QRCodeEncoder=gt,c.QRCodeEncoderQRCode=Wn,c.QRCodeMaskUtil=At,c.QRCodeMatrixUtil=ke,c.QRCodeMode=Me,c.QRCodeReader=kn,c.QRCodeVersion=Te,c.QRCodeWriter=Qn,c.RGBLuminanceSource=ns,c.RSS14Reader=Ct,c.RSSExpandedReader=re,c.ReaderException=Nr,c.ReedSolomonDecoder=dn,c.ReedSolomonEncoder=ts,c.ReedSolomonException=$t,c.Result=K,c.ResultMetadataType=Be,c.ResultPoint=me,c.StringUtils=de,c.UnsupportedOperationException=ge,c.VideoInputDevice=en,c.WhiteRectangleDetector=Bt,c.WriterException=at,c.ZXingArrays=Z,c.ZXingCharset=Ps,c.ZXingInteger=$,c.ZXingStandardCharsets=rs,c.ZXingStringBuilder=be,c.ZXingStringEncoding=ie,c.ZXingSystem=P,c.createAbstractExpandedDecoder=Ss,Object.defineProperty(c,"__esModule",{value:!0})}
20))})(pr,pr.exports)),pr.exports}var pt=ic();const oc=Object.freeze(Object.defineProperty({__proto__:null},Symbol.toStringTag,{value:"Module"}));var Zs=(function(){function g(u,c,m){if(this.formatMap=new Map([[ve.QR_CODE,pt.BarcodeFormat.QR_CODE],[ve.AZTEC,pt.BarcodeFormat.AZTEC],[ve.CODABAR,pt.BarcodeFormat.CODABAR],[ve.CODE_39,pt.BarcodeFormat.CODE_39],[ve.CODE_93,pt.BarcodeFormat.CODE_93],[ve.CODE_128,pt.BarcodeFormat.CODE_128],[ve.DATA_MATRIX,pt.BarcodeFormat.DATA_MATRIX],[ve.MAXICODE,pt.BarcodeFormat.MAXICODE],[ve.ITF,pt.BarcodeFormat.ITF],[ve.EAN_13,pt.BarcodeFormat.EAN_13],[ve.EAN_8,pt.BarcodeFormat.EAN_8],[ve.PDF_417,pt.BarcodeFormat.PDF_417],[ve.RSS_14,pt.BarcodeFormat.RSS_14],[ve.RSS_EXPANDED,pt.BarcodeFormat.RSS_EXPANDED],[ve.UPC_A,pt.BarcodeFormat.UPC_A],[ve.UPC_E,pt.BarcodeFormat.UPC_E],[ve.UPC_EAN_EXTENSION,pt.BarcodeFormat.UPC_EAN_EXTENSION]]),this.reverseFormatMap=this.createReverseFormatMap(),!oc)throw"Use html5qrcode.min.js without edit, ZXing not found.";this.verbose=c,this.logger=m;var p=this.createZXingFormats(u),h=new Map;h.set(pt.DecodeHintType.POSSIBLE_FORMATS,p),h.set(pt.DecodeHintType.TRY_HARDER,!1),this.hints=h}return g.prototype.decodeAsync=function(u){var c=this;return new Promise(function(m,p){try{m(c.decode(u))}catch(h){p(h)}})},g.prototype.decode=function(u){var c=new pt.MultiFormatReader(this.verbose,this.hints),m=new pt.HTMLCanvasElementLuminanceSource(u),p=new pt.BinaryBitmap(new pt.HybridBinarizer(m)),h=c.decode(p);return{text:h.text,format:Ai.create(this.toHtml5QrcodeSupportedFormats(h.format)),debugData:this.createDebugData()}},g.prototype.createReverseFormatMap=function(){var u=new Map;return this.formatMap.forEach(function(c,m,p){u.set(c,m)}),u},g.prototype.toHtml5QrcodeSupportedFormats=function(u){if(!this.reverseFormatMap.has(u))throw"reverseFormatMap doesn't have ".concat(u);return this.reverseFormatMap.get(u)},g.prototype.createZXingFormats=function(u){for(var c=[],m=0,p=u;m<p.length;m++){var h=p[m];this.formatMap.has(h)?c.push(this.formatMap.get(h)):this.logger.logError("".concat(h," is not supported by")+"ZXingHtml5QrcodeShim")}return c},g.prototype.createDebugData=function(){return{decoderName:"zxing-js"}},g})(),ac=function(g,u,c,m){function p(h){return h instanceof c?h:new c(function(A){A(h)})}return new(c||(c=Promise))(function(h,A){function v(T){try{w(m.next(T))}catch(I){A(I)}}function N(T){try{w(m.throw(T))}catch(I){A(I)}}function w(T){T.done?h(T.value):p(T.value).then(v,N)}w((m=m.apply(g,u||[])).next())})},lc=function(g,u){var c={label:0,sent:function(){if(h[0]&1)throw h[1];return h[1]},trys:[],ops:[]},m,p,h,A;return A={next:v(0),throw:v(1),return:v(2)},typeof Symbol=="function"&&(A[Symbol.iterator]=function(){return this}),A;function v(w){return function(T){return N([w,T])}}function N(w){if(m)throw new TypeError("Generator is already executing.");for(;A&&(A=0,w[0]&&(c=0)),c;)try{if(m=1,p&&(h=w[0]&2?p.return:w[0]?p.throw||((h=p.return)&&h.call(p),0):p.next)&&!(h=h.call(p,w[1])).done)return h;switch(p=0,h&&(w=[w[0]&2,h.value]),w[0]){case 0:case 1:h=w;break;case 4:return c.label++,{value:w[1],done:!1};case 5:c.label++,p=w[1],w=[0];continue;case 7:w=c.ops.pop(),c.trys.pop();continue;default:if(h=c.trys,!(h=h.length>0&&h[h.length-1])&&(w[0]===6||w[0]===2)){c=0;continue}if(w[0]===3&&(!h||w[1]>h[0]&&w[1]<h[3])){c.label=w[1];break}if(w[0]===6&&c.label<h[1]){c.label=h[1],h=w;break}if(h&&c.label<h[2]){c.label=h[2],c.ops.push(w);break}h[2]&&c.ops.pop(),c.trys.pop();continue}w=u.call(g,c)}catch(T){w=[6,T],p=0}finally{m=h=0}if(w[0]&5)throw w[1];return{value:w[0]?w[1]:void 0,done:!0}}},qs=(function(){function g(u,c,m){if(this.formatMap=new Map([[ve.QR_CODE,"qr_code"],[ve.AZTEC,"aztec"],[ve.CODABAR,"codabar"],[ve.CODE_39,"code_39"],[ve.CODE_93,"code_93"],[ve.CODE_128,"code_128"],[ve.DATA_MATRIX,"data_matrix"],[ve.ITF,"itf"],[ve.EAN_13,"ean_13"],[ve.EAN_8,"ean_8"],[ve.PDF_417,"pdf417"],[ve.UPC_A,"upc_a"],[ve.UPC_E,"upc_e"]]),this.reverseFormatMap=this.createReverseFormatMap(),!g.isSupported())throw"Use html5qrcode.min.js without edit, Use BarcodeDetectorDelegate only if it isSupported();";this.verbose=c,this.logger=m;var p=this.createBarcodeDetectorFormats(u);if(this.detector=new BarcodeDetector(p),!this.detector)throw"BarcodeDetector detector not supported"}return g.isSupported=function(){if(!("BarcodeDetector"in window))return!1;var u=new BarcodeDetector({formats:["qr_code"]}
20);return typeof u<"u"},g.prototype.decodeAsync=function(u){return ac(this,void 0,void 0,function(){var c,m;return lc(this,function(p){switch(p.label){case 0:return[4,this.detector.detect(u)];case 1:if(c=p.sent(),!c||c.length===0)throw"No barcode or QR code detected.";return m=this.selectLargestBarcode(c),[2,{text:m.rawValue,format:Ai.create(this.toHtml5QrcodeSupportedFormats(m.format)),debugData:this.createDebugData()}]}})})},g.prototype.selectLargestBarcode=function(u){for(var c=null,m=0,p=0,h=u;p<h.length;p++){var A=h[p],v=A.boundingBox.width*A.boundingBox.height;v>m&&(m=v,c=A)}if(!c)throw"No largest barcode found";return c},g.prototype.createBarcodeDetectorFormats=function(u){for(var c=[],m=0,p=u;m<p.length;m++){var h=p[m];this.formatMap.has(h)?c.push(this.formatMap.get(h)):this.logger.warn("".concat(h," is not supported by")+"BarcodeDetectorDelegate")}return{formats:c}},g.prototype.toHtml5QrcodeSupportedFormats=function(u){if(!this.reverseFormatMap.has(u))throw"reverseFormatMap doesn't have ".concat(u);return this.reverseFormatMap.get(u)},g.prototype.createReverseFormatMap=function(){var u=new Map;return this.formatMap.forEach(function(c,m,p){u.set(c,m)}),u},g.prototype.createDebugData=function(){return{decoderName:"BarcodeDetector"}},g})(),js=function(g,u,c,m){function p(h){return h instanceof c?h:new c(function(A){A(h)})}return new(c||(c=Promise))(function(h,A){function v(T){try{w(m.next(T))}catch(I){A(I)}}function N(T){try{w(m.throw(T))}catch(I){A(I)}}function w(T){T.done?h(T.value):p(T.value).then(v,N)}w((m=m.apply(g,u||[])).next())})},Ks=function(g,u){var c={label:0,sent:function(){if(h[0]&1)throw h[1];return h[1]},trys:[],ops:[]},m,p,h,A;return A={next:v(0),throw:v(1),return:v(2)},typeof Symbol=="function"&&(A[Symbol.iterator]=function(){return this}),A;function v(w){return function(T){return N([w,T])}}function N(w){if(m)throw new TypeError("Generator is already executing.");for(;A&&(A=0,w[0]&&(c=0)),c;)try{if(m=1,p&&(h=w[0]&2?p.return:w[0]?p.throw||((h=p.return)&&h.call(p),0):p.next)&&!(h=h.call(p,w[1])).done)return h;switch(p=0,h&&(w=[w[0]&2,h.value]),w[0]){case 0:case 1:h=w;break;case 4:return c.label++,{value:w[1],done:!1};case 5:c.label++,p=w[1],w=[0];continue;case 7:w=c.ops.pop(),c.trys.pop();continue;default:if(h=c.trys,!(h=h.length>0&&h[h.length-1])&&(w[0]===6||w[0]===2)){c=0;continue}if(w[0]===3&&(!h||w[1]>h[0]&&w[1]<h[3])){c.label=w[1];break}if(w[0]===6&&c.label<h[1]){c.label=h[1],h=w;break}if(h&&c.label<h[2]){c.label=h[2],c.ops.push(w);break}h[2]&&c.ops.pop(),c.trys.pop();continue}w=u.call(g,c)}catch(T){w=[6,T],p=0}finally{m=h=0}if(w[0]&5)throw w[1];return{value:w[0]?w[1]:void 0,done:!0}}},cc=(function(){function g(u,c,m,p){this.EXECUTIONS_TO_REPORT_PERFORMANCE=100,this.executions=0,this.executionResults=[],this.wasPrimaryDecoderUsedInLastDecode=!1,this.verbose=m,c&&qs.isSupported()?(this.primaryDecoder=new qs(u,m,p),this.secondaryDecoder=new Zs(u,m,p)):this.primaryDecoder=new Zs(u,m,p)}return g.prototype.decodeAsync=function(u){return js(this,void 0,void 0,function(){var c;return Ks(this,function(m){switch(m.label){case 0:c=performance.now(),m.label=1;case 1:return m.trys.push([1,,3,4]),[4,this.getDecoder().decodeAsync(u)];case 2:return[2,m.sent()];case 3:return this.possiblyLogPerformance(c),[7];case 4:return[2]}})})},g.prototype.decodeRobustlyAsync=function(u){return js(this,void 0,void 0,function(){var c,m;return Ks(this,function(p){switch(p.label){case 0:c=performance.now(),p.label=1;case 1:return p.trys.push([1,3,4,5]),[4,this.primaryDecoder.decodeAsync(u)];case 2:return[2,p.sent()];case 3:if(m=p.sent(),this.secondaryDecoder)return[2,this.secondaryDecoder.decodeAsync(u)];throw m;case 4:return this.possiblyLogPerformance(c),[7];case 5:return[2]}})})},g.prototype.getDecoder=function(){return this.secondaryDecoder?this.wasPrimaryDecoderUsedInLastDecode===!1?(this.wasPrimaryDecoderUsedInLastDecode=!0,this.primaryDecoder):(this.wasPrimaryDecoderUsedInLastDecode=!1,this.secondaryDecoder):this.primaryDecoder},g.prototype.possiblyLogPerformance=function(u){if(this.verbose){var c=performance.now()-u;this.executionResults.push(c),this.executions++,this.possiblyFlushPerformanceReport()}},g.prototype.possiblyFlushPerformanceReport=function(){if(!(this.executions<this.EXECUTIONS_TO_REPORT_PERFORMANCE)){for(var u=0,c=0,m=this.executionResults;c<m.length;c++){var p=m[c];u+=p}var h=u/this.executionResults.length;console.log("".concat(h," ms for ").concat(this.executionResults.length," last runs.")),this.executions=0,this.executionResults=[]}},g})(),Es=(function(){var g=function(u,c){return g=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(m,p){m.__proto__=p}||function(m,p){for(var h in p)Object.prototype.hasOwnProperty.call(p,h)&&(m[h]=p[h])},g(u,c)};
20return function(u,c){if(typeof c!="function"&&c!==null)throw new TypeError("Class extends value "+String(c)+" is not a constructor or null");g(u,c);function m(){this.constructor=u}u.prototype=c===null?Object.create(c):(m.prototype=c.prototype,new m)}})(),Lr=function(g,u,c,m){function p(h){return h instanceof c?h:new c(function(A){A(h)})}return new(c||(c=Promise))(function(h,A){function v(T){try{w(m.next(T))}catch(I){A(I)}}function N(T){try{w(m.throw(T))}catch(I){A(I)}}function w(T){T.done?h(T.value):p(T.value).then(v,N)}w((m=m.apply(g,u||[])).next())})},Fr=function(g,u){var c={label:0,sent:function(){if(h[0]&1)throw h[1];return h[1]},trys:[],ops:[]},m,p,h,A;return A={next:v(0),throw:v(1),return:v(2)},typeof Symbol=="function"&&(A[Symbol.iterator]=function(){return this}),A;function v(w){return function(T){return N([w,T])}}function N(w){if(m)throw new TypeError("Generator is already executing.");for(;A&&(A=0,w[0]&&(c=0)),c;)try{if(m=1,p&&(h=w[0]&2?p.return:w[0]?p.throw||((h=p.return)&&h.call(p),0):p.next)&&!(h=h.call(p,w[1])).done)return h;switch(p=0,h&&(w=[w[0]&2,h.value]),w[0]){case 0:case 1:h=w;break;case 4:return c.label++,{value:w[1],done:!1};case 5:c.label++,p=w[1],w=[0];continue;case 7:w=c.ops.pop(),c.trys.pop();continue;default:if(h=c.trys,!(h=h.length>0&&h[h.length-1])&&(w[0]===6||w[0]===2)){c=0;continue}if(w[0]===3&&(!h||w[1]>h[0]&&w[1]<h[3])){c.label=w[1];break}if(w[0]===6&&c.label<h[1]){c.label=h[1],h=w;break}if(h&&c.label<h[2]){c.label=h[2],c.ops.push(w);break}h[2]&&c.ops.pop(),c.trys.pop();continue}w=u.call(g,c)}catch(T){w=[6,T],p=0}finally{m=h=0}if(w[0]&5)throw w[1];return{value:w[0]?w[1]:void 0,done:!0}}},yi=(function(){function g(u,c){this.name=u,this.track=c}return g.prototype.isSupported=function(){return this.track.getCapabilities?this.name in this.track.getCapabilities():!1},g.prototype.apply=function(u){var c={};c[this.name]=u;var m={advanced:[c]};return this.track.applyConstraints(m)},g.prototype.value=function(){var u=this.track.getSettings();if(this.name in u){var c=u[this.name];return c}return null},g})(),uc=(function(g){Es(u,g);function u(c,m){return g.call(this,c,m)||this}return u.prototype.min=function(){return this.getCapabilities().min},u.prototype.max=function(){return this.getCapabilities().max},u.prototype.step=function(){return this.getCapabilities().step},u.prototype.apply=function(c){var m={};m[this.name]=c;var p={advanced:[m]};return this.track.applyConstraints(p)},u.prototype.getCapabilities=function(){this.failIfNotSupported();var c=this.track.getCapabilities(),m=c[this.name];return{min:m.min,max:m.max,step:m.step}},u.prototype.failIfNotSupported=function(){if(!this.isSupported())throw new Error("".concat(this.name," capability not supported"))},u})(yi),dc=(function(g){Es(u,g);function u(c){return g.call(this,"zoom",c)||this}return u})(uc),fc=(function(g){Es(u,g);function u(c){return g.call(this,"torch",c)||this}return u})(yi),hc=(function(){function g(u){this.track=u}return g.prototype.zoomFeature=function(){return new dc(this.track)},g.prototype.torchFeature=function(){return new fc(this.track)},g})(),gc=(function(){function g(u,c,m){this.isClosed=!1,this.parentElement=u,this.mediaStream=c,this.callbacks=m,this.surface=this.createVideoElement(this.parentElement.clientWidth),u.append(this.surface)}return g.prototype.createVideoElement=function(u){var c=document.createElement("video");return c.style.width="".concat(u,"px"),c.style.display="block",c.muted=!0,c.setAttribute("muted","true"),c.playsInline=!0,c},g.prototype.setupSurface=function(){var u=this;this.surface.onabort=function(){throw"RenderedCameraImpl video surface onabort() called"},this.surface.onerror=function(){throw"RenderedCameraImpl video surface onerror() called"};var c=function(){var m=u.surface.clientWidth,p=u.surface.clientHeight;u.callbacks.onRenderSurfaceReady(m,p),u.surface.removeEventListener("playing",c)};this.surface.addEventListener("playing",c),this.surface.srcObject=this.mediaStream,this.surface.play()},g.create=function(u,c,m,p){return Lr(this,void 0,void 0,function(){var h,A;return Fr(this,function(v){switch(v.label){case 0:return h=new g(u,c,p),m.aspectRatio?(A={aspectRatio:m.aspectRatio},[4,h.getFirstTrackOrFail().applyConstraints(A)]):[3,2];case 1:v.sent(),v.label=2;case 2:return h.setupSurface(),[2,h]}})})},g.prototype.failIfClosed=function(){if(this.isClosed)throw"The Ren
20deredCamera has already been closed."},g.prototype.getFirstTrackOrFail=function(){if(this.failIfClosed(),this.mediaStream.getVideoTracks().length===0)throw"No video tracks found";return this.mediaStream.getVideoTracks()[0]},g.prototype.pause=function(){this.failIfClosed(),this.surface.pause()},g.prototype.resume=function(u){this.failIfClosed();var c=this,m=function(){setTimeout(u,200),c.surface.removeEventListener("playing",m)};this.surface.addEventListener("playing",m),this.surface.play()},g.prototype.isPaused=function(){return this.failIfClosed(),this.surface.paused},g.prototype.getSurface=function(){return this.failIfClosed(),this.surface},g.prototype.getRunningTrackCapabilities=function(){return this.getFirstTrackOrFail().getCapabilities()},g.prototype.getRunningTrackSettings=function(){return this.getFirstTrackOrFail().getSettings()},g.prototype.applyVideoConstraints=function(u){return Lr(this,void 0,void 0,function(){return Fr(this,function(c){if("aspectRatio"in u)throw"Changing 'aspectRatio' in run-time is not yet supported.";return[2,this.getFirstTrackOrFail().applyConstraints(u)]})})},g.prototype.close=function(){if(this.isClosed)return Promise.resolve();var u=this;return new Promise(function(c,m){var p=u.mediaStream.getVideoTracks(),h=p.length,A=0;u.mediaStream.getVideoTracks().forEach(function(v){u.mediaStream.removeTrack(v),v.stop(),++A,A>=h&&(u.isClosed=!0,u.parentElement.removeChild(u.surface),c())})})},g.prototype.getCapabilities=function(){return new hc(this.getFirstTrackOrFail())},g})(),xc=(function(){function g(u){this.mediaStream=u}return g.prototype.render=function(u,c,m){return Lr(this,void 0,void 0,function(){return Fr(this,function(p){return[2,gc.create(u,this.mediaStream,c,m)]})})},g.create=function(u){return Lr(this,void 0,void 0,function(){var c,m;return Fr(this,function(p){switch(p.label){case 0:if(!navigator.mediaDevices)throw"navigator.mediaDevices not supported";return c={audio:!1,video:u},[4,navigator.mediaDevices.getUserMedia(c)];case 1:return m=p.sent(),[2,new g(m)]}})})},g})(),Qs=function(g,u,c,m){function p(h){return h instanceof c?h:new c(function(A){A(h)})}return new(c||(c=Promise))(function(h,A){function v(T){try{w(m.next(T))}catch(I){A(I)}}function N(T){try{w(m.throw(T))}catch(I){A(I)}}function w(T){T.done?h(T.value):p(T.value).then(v,N)}w((m=m.apply(g,u||[])).next())})},Js=function(g,u){var c={label:0,sent:function(){if(h[0]&1)throw h[1];return h[1]},trys:[],ops:[]},m,p,h,A;return A={next:v(0),throw:v(1),return:v(2)},typeof Symbol=="function"&&(A[Symbol.iterator]=function(){return this}),A;function v(w){return function(T){return N([w,T])}}function N(w){if(m)throw new TypeError("Generator is already executing.");for(;A&&(A=0,w[0]&&(c=0)),c;)try{if(m=1,p&&(h=w[0]&2?p.return:w[0]?p.throw||((h=p.return)&&h.call(p),0):p.next)&&!(h=h.call(p,w[1])).done)return h;switch(p=0,h&&(w=[w[0]&2,h.value]),w[0]){case 0:case 1:h=w;break;case 4:return c.label++,{value:w[1],done:!1};case 5:c.label++,p=w[1],w=[0];continue;case 7:w=c.ops.pop(),c.trys.pop();continue;default:if(h=c.trys,!(h=h.length>0&&h[h.length-1])&&(w[0]===6||w[0]===2)){c=0;continue}if(w[0]===3&&(!h||w[1]>h[0]&&w[1]<h[3])){c.label=w[1];break}if(w[0]===6&&c.label<h[1]){c.label=h[1],h=w;break}if(h&&c.label<h[2]){c.label=h[2],c.ops.push(w);break}h[2]&&c.ops.pop(),c.trys.pop();continue}w=u.call(g,c)}catch(T){w=[6,T],p=0}finally{m=h=0}if(w[0]&5)throw w[1];return{value:w[0]?w[1]:void 0,done:!0}}},_c=(function(){function g(){}return g.failIfNotSupported=function(){return Qs(this,void 0,void 0,function(){return Js(this,function(u){if(!navigator.mediaDevices)throw"navigator.mediaDevices not supported";return[2,new g]})})},g.prototype.create=function(u){return Qs(this,void 0,void 0,function(){return Js(this,function(c){return[2,xc.create(u)]})})},g})(),mc=function(g,u,c,m){function p(h){return h instanceof c?h:new c(function(A){A(h)})}return new(c||(c=Promise))(function(h,A){function v(T){try{w(m.next(T))}catch(I){A(I)}}function N(T){try{w(m.throw(T))}catch(I){A(I)}}function w(T){T.done?h(T.value):p(T.value).then(v,N)}w((m=m.apply(g,u||[])).next())})},pc=function(g,u){var c={label:0,sent:function(){if(h[0]&1)throw h[1];return h[1]},trys:[],ops:[]},m,p,h,A;return A={next:v(0),throw:v(1),return:v(2)},typeof Symbol=="function"&&(A[Symbol.iterator]=function(){return this}),A;function v(w){return function(T){return N([w,T])}}function N(w){if(m)throw new TypeError("Generator is already executing.");for(;A&&(A=0,w[0]&&(c=0)),c;)try{if(m=1,p&&(h=w[0]&2?p.return:w[0]?p.throw||((h=p.return)&&h.call(p),0):p.next)&&!(
20h=h.call(p,w[1])).done)return h;switch(p=0,h&&(w=[w[0]&2,h.value]),w[0]){case 0:case 1:h=w;break;case 4:return c.label++,{value:w[1],done:!1};case 5:c.label++,p=w[1],w=[0];continue;case 7:w=c.ops.pop(),c.trys.pop();continue;default:if(h=c.trys,!(h=h.length>0&&h[h.length-1])&&(w[0]===6||w[0]===2)){c=0;continue}if(w[0]===3&&(!h||w[1]>h[0]&&w[1]<h[3])){c.label=w[1];break}if(w[0]===6&&c.label<h[1]){c.label=h[1],h=w;break}if(h&&c.label<h[2]){c.label=h[2],c.ops.push(w);break}h[2]&&c.ops.pop(),c.trys.pop();continue}w=u.call(g,c)}catch(T){w=[6,T],p=0}finally{m=h=0}if(w[0]&5)throw w[1];return{value:w[0]?w[1]:void 0,done:!0}}},wc=(function(){function g(){}return g.retrieve=function(){if(navigator.mediaDevices)return g.getCamerasFromMediaDevices();var u=MediaStreamTrack;return MediaStreamTrack&&u.getSources?g.getCamerasFromMediaStreamTrack():g.rejectWithError()},g.rejectWithError=function(){var u=rr.unableToQuerySupportedDevices();return g.isHttpsOrLocalhost()||(u=rr.insecureContextCameraQueryError()),Promise.reject(u)},g.isHttpsOrLocalhost=function(){if(location.protocol==="https:")return!0;var u=location.host.split(":")[0];return u==="127.0.0.1"||u==="localhost"},g.getCamerasFromMediaDevices=function(){return mc(this,void 0,void 0,function(){var u,c,m,p,h,A,v;return pc(this,function(N){switch(N.label){case 0:return u=function(w){for(var T=w.getVideoTracks(),I=0,V=T;I<V.length;I++){var D=V[I];D.enabled=!1,D.stop(),w.removeTrack(D)}},[4,navigator.mediaDevices.getUserMedia({audio:!1,video:!0})];case 1:return c=N.sent(),[4,navigator.mediaDevices.enumerateDevices()];case 2:for(m=N.sent(),p=[],h=0,A=m;h<A.length;h++)v=A[h],v.kind==="videoinput"&&p.push({id:v.deviceId,label:v.label});return u(c),[2,p]}})})},g.getCamerasFromMediaStreamTrack=function(){return new Promise(function(u,c){var m=function(h){for(var A=[],v=0,N=h;v<N.length;v++){var w=N[v];w.kind==="video"&&A.push({id:w.id,label:w.label})}u(A)},p=MediaStreamTrack;p.getSources(m)})},g})(),Et;(function(g){g[g.UNKNOWN=0]="UNKNOWN",g[g.NOT_STARTED=1]="NOT_STARTED",g[g.SCANNING=2]="SCANNING",g[g.PAUSED=3]="PAUSED"})(Et||(Et={}));var Cc=(function(){function g(){this.state=Et.NOT_STARTED,this.onGoingTransactionNewState=Et.UNKNOWN}return g.prototype.directTransition=function(u){this.failIfTransitionOngoing(),this.validateTransition(u),this.state=u},g.prototype.startTransition=function(u){return this.failIfTransitionOngoing(),this.validateTransition(u),this.onGoingTransactionNewState=u,this},g.prototype.execute=function(){if(this.onGoingTransactionNewState===Et.UNKNOWN)throw"Transaction is already cancelled, cannot execute().";var u=this.onGoingTransactionNewState;this.onGoingTransactionNewState=Et.UNKNOWN,this.directTransition(u)},g.prototype.cancel=function(){if(this.onGoingTransactionNewState===Et.UNKNOWN)throw"Transaction is already cancelled, cannot cancel().";this.onGoingTransactionNewState=Et.UNKNOWN},g.prototype.getState=function(){return this.state},g.prototype.failIfTransitionOngoing=function(){if(this.onGoingTransactionNewState!==Et.UNKNOWN)throw"Cannot transition to a new state, already under transition"},g.prototype.validateTransition=function(u){switch(this.state){case Et.UNKNOWN:throw"Transition from unknown is not allowed";case Et.NOT_STARTED:this.failIfNewStateIs(u,[Et.PAUSED]);break;case Et.SCANNING:break;case Et.PAUSED:break}},g.prototype.failIfNewStateIs=function(u,c){for(var m=0,p=c;m<p.length;m++){var h=p[m];if(u===h)throw"Cannot transition from ".concat(this.state," to ").concat(u)}},g})(),Ac=(function(){function g(u){this.stateManager=u}return g.prototype.startTransition=function(u){return this.stateManager.startTransition(u)},g.prototype.directTransition=function(u){this.stateManager.directTransition(u)},g.prototype.getState=function(){return this.stateManager.getState()},g.prototype.canScanFile=function(){return this.stateManager.getState()===Et.NOT_STARTED},g.prototype.isScanning=function(){return this.stateManager.getState()!==Et.NOT_STARTED},g.prototype.isStrictlyScanning=function(){return this.stateManager.getState()===Et.SCANNING},g.prototype.isPaused=function(){return this.stateManager.getState()===Et.PAUSED},g})(),Ec=(function(){function g(){}return g.create=function(){return new Ac(new Cc)},g})(),yc=(function(){var g=function(u,c){return g=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(m,p){m.__proto__=p}||function(m,p){for(var h in p)Object.prototype.hasOwnProperty.call(p,h)&&(m[h]=p[h])},g(u,c)};
20return function(u,c){if(typeof c!="function"&&c!==null)throw new TypeError("Class extends value "+String(c)+" is not a constructor or null");g(u,c);function m(){this.constructor=u}u.prototype=c===null?Object.create(c):(m.prototype=c.prototype,new m)}})(),nn=(function(g){yc(u,g);function u(){return g!==null&&g.apply(this,arguments)||this}return u.DEFAULT_WIDTH=300,u.DEFAULT_WIDTH_OFFSET=2,u.FILE_SCAN_MIN_HEIGHT=300,u.FILE_SCAN_HIDDEN_CANVAS_PADDING=100,u.MIN_QR_BOX_SIZE=50,u.SHADED_LEFT=1,u.SHADED_RIGHT=2,u.SHADED_TOP=3,u.SHADED_BOTTOM=4,u.SHADED_REGION_ELEMENT_ID="qr-shaded-region",u.VERBOSE=!1,u.BORDER_SHADER_DEFAULT_COLOR="#ffffff",u.BORDER_SHADER_MATCH_COLOR="rgb(90, 193, 56)",u})(tc),vc=(function(){function g(u,c){this.logger=c,this.fps=nn.SCAN_DEFAULT_FPS,u?(u.fps&&(this.fps=u.fps),this.disableFlip=u.disableFlip===!0,this.qrbox=u.qrbox,this.aspectRatio=u.aspectRatio,this.videoConstraints=u.videoConstraints):this.disableFlip=nn.DEFAULT_DISABLE_FLIP}return g.prototype.isMediaStreamConstraintsValid=function(){return this.videoConstraints?Ei.isMediaStreamConstraintsValid(this.videoConstraints,this.logger):(this.logger.logError("Empty videoConstraints",!0),!1)},g.prototype.isShadedBoxEnabled=function(){return!bn(this.qrbox)},g.create=function(u,c){return new g(u,c)},g})(),ei=(function(){function g(u,c){if(this.element=null,this.canvasElement=null,this.scannerPausedUiElement=null,this.hasBorderShaders=null,this.borderShaders=null,this.qrMatch=null,this.renderedCamera=null,this.qrRegion=null,this.context=null,this.lastScanImageFile=null,this.isScanning=!1,!document.getElementById(u))throw"HTML Element with id=".concat(u," not found");this.elementId=u,this.verbose=!1;var m;typeof c=="boolean"?this.verbose=c===!0:c&&(m=c,this.verbose=m.verbose===!0,m.experimentalFeatures),this.logger=new rc(this.verbose),this.qrcode=new cc(this.getSupportedFormats(c),this.getUseBarCodeDetectorIfSupported(m),this.verbose,this.logger),this.foreverScanTimeout,this.shouldScan=!0,this.stateManagerProxy=Ec.create()}return g.prototype.start=function(u,c,m,p){var h=this;if(!u)throw"cameraIdOrConfig is required";if(!m||typeof m!="function")throw"qrCodeSuccessCallback is required and should be a function.";var A;p?A=p:A=this.verbose?this.logger.log:function(){};var v=vc.create(c,this.logger);this.clearElement();var N=!1;v.videoConstraints&&(v.isMediaStreamConstraintsValid()?N=!0:this.logger.logError("'videoConstraints' is not valid 'MediaStreamConstraints, it will be ignored.'",!0));var w=N,T=document.getElementById(this.elementId);T.clientWidth?T.clientWidth:nn.DEFAULT_WIDTH,T.style.position="relative",this.shouldScan=!0,this.element=T;var I=this,V=this.stateManagerProxy.startTransition(Et.SCANNING);return new Promise(function(D,k){var P=w?v.videoConstraints:I.createVideoConstraints(u);if(!P){V.cancel(),k("videoConstraints should be defined");return}var Y={};(!w||v.aspectRatio)&&(Y.aspectRatio=v.aspectRatio);var H={onRenderSurfaceReady:function(Z,$){I.setupUi(Z,$,v),I.isScanning=!0,I.foreverScan(v,m,A)}};_c.failIfNotSupported().then(function(Z){Z.create(P).then(function($){return $.render(h.element,Y,H).then(function(J){I.renderedCamera=J,V.execute(),D(null)}).catch(function(J){V.cancel(),k(J)})}).catch(function($){V.cancel(),k(rr.errorGettingUserMedia($))})}).catch(function(Z){V.cancel(),k(rr.cameraStreamingNotSupported())})})},g.prototype.pause=function(u){if(!this.stateManagerProxy.isStrictlyScanning())throw"Cannot pause, scanner is not scanning.";this.stateManagerProxy.directTransition(Et.PAUSED),this.showPausedState(),(bn(u)||u!==!0)&&(u=!1),u&&this.renderedCamera&&this.renderedCamera.pause()},g.prototype.resume=function(){if(!this.stateManagerProxy.isPaused())throw"Cannot result, scanner is not paused.";if(!this.renderedCamera)throw"renderedCamera doesn't exist while trying resume()";var u=this,c=function(){u.stateManagerProxy.directTransition(Et.SCANNING),u.hidePausedState()};if(!this.renderedCamera.isPaused()){c();return}this.renderedCamera.resume(function(){c()})},g.prototype.getState=function(){return this.stateManagerProxy.getState()},g.prototype.stop=function(){var u=this;if(!this.stateManagerProxy.isScanning())throw"Cannot stop, scanner is not running or paused.";var c=this.stateManagerProxy.startTransition(Et.NOT_STARTED);this.shouldScan=!1,this.foreverScanTimeout&&clearTimeout(this.foreverScanTimeout);var m=function(){if(u.element){var h=document.getElementById(nn.SHADED_REGION_ELEMENT_ID);h&&u.element.removeChild(h)}},p=this;return this.renderedCamera.close().then(function(){return p.renderedCamera=null,p.element&&(p.element.removeChild(p.canvasElement),p.canvasElement=null),m(),p.qrRegion&&(p.qrRegion=null),p.context&&(p.c
20ontext=null),c.execute(),p.hidePausedState(),p.isScanning=!1,Promise.resolve()})},g.prototype.scanFile=function(u,c){return this.scanFileV2(u,c).then(function(m){return m.decodedText})},g.prototype.scanFileV2=function(u,c){var m=this;if(!u||!(u instanceof File))throw"imageFile argument is mandatory and should be instance of File. Use 'event.target.files[0]'.";if(bn(c)&&(c=!0),!this.stateManagerProxy.canScanFile())throw"Cannot start file scan - ongoing camera scan";return new Promise(function(p,h){m.possiblyCloseLastScanImageFile(),m.clearElement(),m.lastScanImageFile=URL.createObjectURL(u);var A=new Image;A.onload=function(){var v=A.width,N=A.height,w=document.getElementById(m.elementId),T=w.clientWidth?w.clientWidth:nn.DEFAULT_WIDTH,I=Math.max(w.clientHeight?w.clientHeight:N,nn.FILE_SCAN_MIN_HEIGHT),V=m.computeCanvasDrawConfig(v,N,T,I);if(c){var D=m.createCanvasElement(T,I,"qr-canvas-visible");D.style.display="inline-block",w.appendChild(D);var k=D.getContext("2d");if(!k)throw"Unable to get 2d context from canvas";k.canvas.width=T,k.canvas.height=I,k.drawImage(A,0,0,v,N,V.x,V.y,V.width,V.height)}var P=nn.FILE_SCAN_HIDDEN_CANVAS_PADDING,Y=Math.max(A.width,V.width),H=Math.max(A.height,V.height),Z=Y+2*P,$=H+2*P,J=m.createCanvasElement(Z,$);w.appendChild(J);var j=J.getContext("2d");if(!j)throw"Unable to get 2d context from canvas";j.canvas.width=Z,j.canvas.height=$,j.drawImage(A,0,0,v,N,P,P,Y,H);try{m.qrcode.decodeRobustlyAsync(J).then(function(z){p(zs.createFromQrcodeResult(z))}).catch(h)}catch(z){h("QR code parse error, error = ".concat(z))}},A.onerror=h,A.onabort=h,A.onstalled=h,A.onsuspend=h,A.src=URL.createObjectURL(u)})},g.prototype.clear=function(){this.clearElement()},g.getCameras=function(){return wc.retrieve()},g.prototype.getRunningTrackCapabilities=function(){return this.getRenderedCameraOrFail().getRunningTrackCapabilities()},g.prototype.getRunningTrackSettings=function(){return this.getRenderedCameraOrFail().getRunningTrackSettings()},g.prototype.getRunningTrackCameraCapabilities=function(){return this.getRenderedCameraOrFail().getCapabilities()},g.prototype.applyVideoConstraints=function(u){if(u){if(!Ei.isMediaStreamConstraintsValid(u,this.logger))throw"invalid videoConstaints passed, check logs for more details"}else throw"videoConstaints is required argument.";return this.getRenderedCameraOrFail().applyVideoConstraints(u)},g.prototype.getRenderedCameraOrFail=function(){if(this.renderedCamera==null)throw"Scanning is not in running state, call this API only when QR code scanning using camera is in running state.";return this.renderedCamera},g.prototype.getSupportedFormats=function(u){var c=[ve.QR_CODE,ve.AZTEC,ve.CODABAR,ve.CODE_39,ve.CODE_93,ve.CODE_128,ve.DATA_MATRIX,ve.MAXICODE,ve.ITF,ve.EAN_13,ve.EAN_8,ve.PDF_417,ve.RSS_14,ve.RSS_EXPANDED,ve.UPC_A,ve.UPC_E,ve.UPC_EAN_EXTENSION];if(!u||typeof u=="boolean"||!u.formatsToSupport)return c;if(!Array.isArray(u.formatsToSupport))throw"configOrVerbosityFlag.formatsToSupport should be undefined or an array.";if(u.formatsToSupport.length===0)throw"Atleast 1 formatsToSupport is needed.";for(var m=[],p=0,h=u.formatsToSupport;p<h.length;p++){var A=h[p];ec(A)?m.push(A):this.logger.warn("Invalid format: ".concat(A," passed in config, ignoring."))}if(m.length===0)throw"None of formatsToSupport match supported values.";return m},g.prototype.getUseBarCodeDetectorIfSupported=function(u){if(bn(u))return!0;if(!bn(u.useBarCodeDetectorIfSupported))return u.useBarCodeDetectorIfSupported!==!1;if(bn(u.experimentalFeatures))return!0;var c=u.experimentalFeatures;return bn(c.useBarCodeDetectorIfSupported)?!0:c.useBarCodeDetectorIfSupported!==!1},g.prototype.validateQrboxSize=function(u,c,m){var p=this,h=m.qrbox;this.validateQrboxConfig(h);var A=this.toQrdimensions(u,c,h),v=function(w){if(w<nn.MIN_QR_BOX_SIZE)throw"minimum size of 'config.qrbox' dimension value is"+" ".concat(nn.MIN_QR_BOX_SIZE,"px.")},N=function(w){return w>u&&(p.logger.warn("`qrbox.width` or `qrbox` is larger than the width of the root element. The width will be truncated to the width of root element."),w=u),w};v(A.width),v(A.height),A.width=N(A.width)},g.prototype.validateQrboxConfig=function(u){if(typeof u!="number"&&typeof u!="function"&&(u.width===void 0||u.height===void 0))throw"Invalid instance of QrDimensions passed for 'config.qrbox'. Both 'width' and 'height' should be set."},g.prototype.toQrdimensions=function(u,c,m){if(typeof m=="number")return{width:m,height:m};if(typeof m=="function")try{return m(u,c)}catch(p){throw new Error("qrbox config was passed as a function but it failed with unknown error"+p)}return m},g.prototype.setupUi=function(u,c,m){m.isShadedBoxEnabled()&&this.validateQrboxSize(u,c,m);var p=bn(m.qrbox)?{width:u,height:c}:m.qrbox;this.validateQrboxConfig(p);var h=this.toQrdimensions(u,c,p);h.height>c&&this.logger.warn("[Html5Qrcode] config.qrbox has height that isgreater than the height of the video stream. Shading will be ignored");var A=m.isShadedBoxEnabled()&&h.height<=c,v={x:0,y:0,width:u,height:c}
20,N=A?this.getShadedRegionBounds(u,c,h):v,w=this.createCanvasElement(N.width,N.height),T={willReadFrequently:!0},I=w.getContext("2d",T);I.canvas.width=N.width,I.canvas.height=N.height,this.element.append(w),A&&this.possiblyInsertShadingElement(this.element,u,c,h),this.createScannerPausedUiElement(this.element),this.qrRegion=N,this.context=I,this.canvasElement=w},g.prototype.createScannerPausedUiElement=function(u){var c=document.createElement("div");c.innerText=rr.scannerPaused(),c.style.display="none",c.style.position="absolute",c.style.top="0px",c.style.zIndex="1",c.style.background="rgba(9, 9, 9, 0.46)",c.style.color="#FFECEC",c.style.textAlign="center",c.style.width="100%",u.appendChild(c),this.scannerPausedUiElement=c},g.prototype.scanContext=function(u,c){var m=this;return this.stateManagerProxy.isPaused()?Promise.resolve(!1):this.qrcode.decodeAsync(this.canvasElement).then(function(p){return u(p.text,zs.createFromQrcodeResult(p)),m.possiblyUpdateShaders(!0),!0}).catch(function(p){m.possiblyUpdateShaders(!1);var h=rr.codeParseError(p);return c(h,nc.createFrom(h)),!1})},g.prototype.foreverScan=function(u,c,m){var p=this;if(this.shouldScan&&this.renderedCamera){var h=this.renderedCamera.getSurface(),A=h.videoWidth/h.clientWidth,v=h.videoHeight/h.clientHeight;if(!this.qrRegion)throw"qrRegion undefined when localMediaStream is ready.";var N=this.qrRegion.width*A,w=this.qrRegion.height*v,T=this.qrRegion.x*A,I=this.qrRegion.y*v;this.context.drawImage(h,T,I,N,w,0,0,this.qrRegion.width,this.qrRegion.height);var V=function(){p.foreverScanTimeout=setTimeout(function(){p.foreverScan(u,c,m)},p.getTimeoutFps(u.fps))};this.scanContext(c,m).then(function(D){!D&&u.disableFlip!==!0?(p.context.translate(p.context.canvas.width,0),p.context.scale(-1,1),p.scanContext(c,m).finally(function(){V()})):V()}).catch(function(D){p.logger.logError("Error happend while scanning context",D),V()})}},g.prototype.createVideoConstraints=function(u){if(typeof u=="string")return{deviceId:{exact:u}};if(typeof u=="object"){var c="facingMode",m="deviceId",p={user:!0,environment:!0},h="exact",A=function(k){if(k in p)return!0;throw"config has invalid 'facingMode' value = "+"'".concat(k,"'")},v=Object.keys(u);if(v.length!==1)throw"'cameraIdOrConfig' object should have exactly 1 key,"+" if passed as an object, found ".concat(v.length," keys");var N=Object.keys(u)[0];if(N!==c&&N!==m)throw"Only '".concat(c,"' and '").concat(m,"' ")+" are supported for 'cameraIdOrConfig'";if(N===c){var w=u.facingMode;if(typeof w=="string"){if(A(w))return{facingMode:w}}else if(typeof w=="object")if(h in w){if(A(w["".concat(h)]))return{facingMode:{exact:w["".concat(h)]}}}else throw"'facingMode' should be string or object with"+" ".concat(h," as key.");else{var T=typeof w;throw"Invalid type of 'facingMode' = ".concat(T)}}else{var I=u.deviceId;if(typeof I=="string")return{deviceId:I};if(typeof I=="object"){if(h in I)return{deviceId:{exact:I["".concat(h)]}};throw"'deviceId' should be string or object with"+" ".concat(h," as key.")}else{var V=typeof I;throw"Invalid type of 'deviceId' = ".concat(V)}}}var D=typeof u;throw"Invalid type of 'cameraIdOrConfig' = ".concat(D)},g.prototype.computeCanvasDrawConfig=function(u,c,m,p){if(u<=m&&c<=p){var h=(m-u)/2,A=(p-c)/2;return{x:h,y:A,width:u,height:c}}else{var v=u,N=c;return u>m&&(c=m/u*c,u=m),c>p&&(u=p/c*u,c=p),this.logger.log("Image downsampled from "+"".concat(v,"X").concat(N)+" to ".concat(u,"X").concat(c,".")),this.computeCanvasDrawConfig(u,c,m,p)}},g.prototype.clearElement=function(){if(this.stateManagerProxy.isScanning())throw"Cannot clear while scan is ongoing, close it first.";var u=document.getElementById(this.elementId);u&&(u.innerHTML="")},g.prototype.possiblyUpdateShaders=function(u){this.qrMatch!==u&&(this.hasBorderShaders&&this.borderShaders&&this.borderShaders.length&&this.borderShaders.forEach(function(c){c.style.backgroundColor=u?nn.BORDER_SHADER_MATCH_COLOR:nn.BORDER_SHADER_DEFAULT_COLOR}),this.qrMatch=u)},g.prototype.possiblyCloseLastScanImageFile=function(){this.lastScanImageFile&&(URL.revokeObjectURL(this.lastScanImageFile),this.lastScanImageFile=null)},g.prototype.createCanvasElement=function(u,c,m){var p=u,h=c,A=document.createElement("canvas");
20return A.style.width="".concat(p,"px"),A.style.height="".concat(h,"px"),A.style.display="none",A.id=bn(m)?"qr-canvas":m,A},g.prototype.getShadedRegionBounds=function(u,c,m){if(m.width>u||m.height>c)throw"'config.qrbox' dimensions should not be greater than the dimensions of the root HTML element.";return{x:(u-m.width)/2,y:(c-m.height)/2,width:m.width,height:m.height}},g.prototype.possiblyInsertShadingElement=function(u,c,m,p){if(!(c-p.width<1||m-p.height<1)){var h=document.createElement("div");h.style.position="absolute";var A=(c-p.width)/2,v=(m-p.height)/2;if(h.style.borderLeft="".concat(A,"px solid rgba(0, 0, 0, 0.48)"),h.style.borderRight="".concat(A,"px solid rgba(0, 0, 0, 0.48)"),h.style.borderTop="".concat(v,"px solid rgba(0, 0, 0, 0.48)"),h.style.borderBottom="".concat(v,"px solid rgba(0, 0, 0, 0.48)"),h.style.boxSizing="border-box",h.style.top="0px",h.style.bottom="0px",h.style.left="0px",h.style.right="0px",h.id="".concat(nn.SHADED_REGION_ELEMENT_ID),c-p.width<11||m-p.height<11)this.hasBorderShaders=!1;else{var N=5,w=40;this.insertShaderBorders(h,w,N,-N,null,0,!0),this.insertShaderBorders(h,w,N,-N,null,0,!1),this.insertShaderBorders(h,w,N,null,-N,0,!0),this.insertShaderBorders(h,w,N,null,-N,0,!1),this.insertShaderBorders(h,N,w+N,-N,null,-N,!0),this.insertShaderBorders(h,N,w+N,null,-N,-N,!0),this.insertShaderBorders(h,N,w+N,-N,null,-N,!1),this.insertShaderBorders(h,N,w+N,null,-N,-N,!1),this.hasBorderShaders=!0}u.append(h)}},g.prototype.insertShaderBorders=function(u,c,m,p,h,A,v){var N=document.createElement("div");N.style.position="absolute",N.style.backgroundColor=nn.BORDER_SHADER_DEFAULT_COLOR,N.style.width="".concat(c,"px"),N.style.height="".concat(m,"px"),p!==null&&(N.style.top="".concat(p,"px")),h!==null&&(N.style.bottom="".concat(h,"px")),v?N.style.left="".concat(A,"px"):N.style.right="".concat(A,"px"),this.borderShaders||(this.borderShaders=[]),this.borderShaders.push(N),u.appendChild(N)},g.prototype.showPausedState=function(){if(!this.scannerPausedUiElement)throw"[internal error] scanner paused UI element not found";this.scannerPausedUiElement.style.display="block"},g.prototype.hidePausedState=function(){if(!this.scannerPausedUiElement)throw"[internal error] scanner paused UI element not found";this.scannerPausedUiElement.style.display="none"},g.prototype.getTimeoutFps=function(u){return 1e3/u},g})(),ti;(function(g){g[g.STATUS_DEFAULT=0]="STATUS_DEFAULT",g[g.STATUS_SUCCESS=1]="STATUS_SUCCESS",g[g.STATUS_WARNING=2]="STATUS_WARNING",g[g.STATUS_REQUESTING_PERMISSION=3]="STATUS_REQUESTING_PERMISSION"})(ti||(ti={}));function bc(g){const u=(g||"").trim();if(!u)return null;try{const p=new URL(u).searchParams.get("table_num")?.trim();if(p)return p}catch{}try{const p=new URL(u,"https://thapl.local").searchParams.get("table_num")?.trim();if(p)return p}catch{}const c=u.match(/[?&#]table_num=([^&#\s]+)/i)||u.match(/(?:^|[?&\s])table_num=([^&#\s]+)/i);if(c?.[1])try{return decodeURIComponent(c[1]).trim()||null}catch{return c[1].trim()||null}return null}const Ic={class:"table-qr"},Sc={key:0,class:"table-qr__status"},Tc={key:1,class:"table-qr__error"},Nc={class:"table-qr__frame"},Oc=Le({__name:"TableQrScanner",emits:["scan"],setup(g,{emit:u}){const c=u,m=`table-qr-reader-${Math.random().toString(36).slice(2,9)}`,p=Ae(null),h=Ae(""),A=Ae("starting");let v=null,N=!1,w="";const T=async()=>{if(v){try{v.isScanning&&await v.stop()}catch{}try{v.clear()}catch{}v=null}},I=async P=>{if(N)return;const Y=bc(P);if(Y&&Y!==w){N=!0,w=Y;try{await T()}finally{c("scan",Y),N=!1}}},V=async()=>{const P=await ei.getCameras();return P?.length?P.find(H=>/back|rear|environment|задн/i.test(H.label||""))?.id||P[0].id:null},D=async()=>{if(h.value="",A.value="starting",await T(),await wr(),!navigator.mediaDevices?.getUserMedia){A.value="error",h.value="Этот браузер не умеет работать с камерой.";return}try{(await navigator.mediaDevices.getUserMedia({audio:!1,video:{facingMode:{ideal:"environment"}}})).getTracks().forEach(H=>H.stop())}catch{try{(await navigator.mediaDevices.getUserMedia({audio:!1,video:!0}
20)).getTracks().forEach(Z=>Z.stop())}catch(H){A.value="error",h.value=H?.name==="NotAllowedError"||H?.name==="PermissionDeniedError"?"Доступ к камере запрещён. Разрешите камеру для этого сайта в настройках браузера и нажмите «Повторить».":"Не удалось получить доступ к камере. Проверьте, что камера не занята другим приложением.";return}}if(await wr(),await new Promise(Y=>requestAnimationFrame(()=>Y(null))),!document.getElementById(m)){A.value="error",h.value="Не удалось инициализировать сканер. Нажмите «Повторить».";return}try{const Y=await V();if(!Y){A.value="error",h.value="Камера не найдена на устройстве.";return}A.value="ready",await wr(),v=new ei(m,{verbose:!1}),await v.start(Y,{fps:10,qrbox:(H,Z)=>{const $=Math.min(Math.floor(H*.72),Math.floor(Z*.72),280);return{width:Math.max($,160),height:Math.max($,160)}},aspectRatio:1.333},H=>{I(H).catch(()=>{})},()=>{})}catch(Y){A.value="error",h.value=Y?.name==="NotAllowedError"?"Доступ к камере запрещён. Разрешите камеру в настройках браузера.":`Не удалось открыть камеру${Y?.message?`: ${Y.message}`:""}. Введите номер стола вручную.`,await T()}},k=()=>{w="",D().catch(()=>{})};return Nn(()=>{window.setTimeout(()=>{D().catch(()=>{})},250)}),Ar(()=>{T().catch(()=>{})}),(P,Y)=>{const H=st;return E(),O("div",Ic,[f(A)==="starting"?(E(),O("div",Sc,"Запрос доступа к камере…")):f(h)?(E(),O("div",Tc,[b("p",null,te(f(h)),1),q(H,{theme:"secondary",class:"table-qr__retry",onClick:k},{default:se(()=>[...Y[0]||(Y[0]=[ne(" Повторить ",-1)])]),_:1})])):Q("",!0),ui(b("div",Nc,[b("div",{id:m,ref_key:"readerEl",ref:p,class:"table-qr__reader"},null,512),Y[1]||(Y[1]=b("p",{class:"table-qr__hint"},"Наведите камеру на QR-код стола",-1))],512),[[di,f(A)==="ready"]])])}}}),Rc=Fe(Oc,[["__scopeId","data-v-01dd34c3"]]),Mc={class:"info row"},kc={key:0,class:"info__col col col-md-4 col-sm-6"},Dc={class:"info__value h5-title h6-title-md"},Bc={key:1,class:"info__col col col-md-4 col-sm-6"},Pc={class:"info__value h5-title h6-title-md"},Lc={class:"info row"},Fc={key:0,class:"info__col col col-md-12 col-sm-12"},Uc={class:"info__value h5-title"},Vc=Le({__name:"Organization",props:{organization:{type:Object,default:()=>({})}},emits:["return"],setup(g,{emit:u}){const c=u,m=Xt(),p=Vt(),{isPreorderAvailable:h,isPreorderOpen:A}=He(p),v=rt(),N=()=>{m.setAddressModalClosed(!0),v.closeModal()},w=()=>{m.setCurrentAddress(null),c("return")};return(T,I)=>{const V=st;return E(),O(xe,null,[b("div",Mc,[g.organization.takeaway_time?(E(),O("div",kc,[I[0]||(I[0]=b("p",{class:"text-s c-gray"},"Время приготовления",-1)),b("h5",Dc,te(f(fi)(g.organization.takeaway_time.toString())),1)])):Q("",!0),g.organization.min_order?(E(),O("div",Bc,[I[1]||(I[1]=b("p",{class:"text-s c-gray"},"Заказ от",-1)),b("h5",Pc,te(("formatPrice"in T?T.formatPrice:f(Wt))(g.organization.min_order)),1)])):Q("",!0)]),b("div",Lc,[g.organization.schedule?(E(),O("div",Fc,[I[2]||(I[2]=b("p",{class:"text-s"},"Прием заказов",-1)),b("h5",Uc,te(g.organization.schedule),1)])):Q("",!0)]),b("div",{class:"location__cta",onClick:N},[g.organization.is_open?(E(),ae(V,{key:0},{default:se(()=>[...I[3]||(I[3]=[ne("Перейти к заказу",-1)])]),_:1})):f(h)&&f(A)?(E(),ae(V,{key:1},{default:se(()=>[...I[4]||(I[4]=[ne("Сделать предзаказ",-1)])]),_:1})):(E(),ae(V,{key:2},{default:se(()=>[...I[5]||(I[5]=[ne("Посмотреть меню",-1)])]),_:1})),q(V,{theme:"secondary",onClick:Jt(w,["stop"])},{default:se(()=>[...I[6]||(I[6]=[ne("Выбрать другой адрес",-1)])]),_:1})])],64)}}}),Gc=Fe(Vc,[["__scopeId","data-v-4abde072"]]),Hc={class:"info row"},Wc={key:0,class:"info__col col col-md-4 col-sm-6"},Xc={class:"info__value h5-title h6-title-md"},$c={key:1,class:"info__col col col-md-4 col-sm-6"},zc={class:"info__value h5-title h6-title-md"},Yc={key:2,class:"info__col col col-md-4 col-sm-6"},Zc={key:0,class:"info__value h5-title h6-title-md"},qc={key:1,class:"info__value h5-title h6-title-md"},jc={key:3,class:"info__col col col-md-4 col-sm-6"},Kc={class:"info__value h5-title h6-title-md"},Qc={class:"info row"},Jc={key:0,class:"info__col col col-md-12 col-sm-12"},e1={class:"info__value h5-title h6-title-md"},t1=Le({__name:"Zone",emits:["return"],setup(g,{emit:u}){const c=u,m=Xt(),p=Vt(),h=rt(),{zone:A,workingTime:v,minOrderPrice:N}=He(m),{isPreorderAvailable:w,isPreorderOpen:T}=He(p),I=()=>{m.setAddressModalClosed(!0),h.closeModal()},V=()=>{m.setCurrentAddress(null),c("return")};return(D,k)=>{const P=Sn,Y=st;return E(),O(xe,null,[b("div",Hc,[f(A).max_time?(E(),O("div",Wc,[k[0]||(k[0]=b("p",{class:"text-s c-gray"},"Время доставки",-1)),b("h5",Xc,[f(A).organization.is_high_load_state?(E(),ae(P,{key:0,name:"high-load"})):Q("",!0),ne(" "+te(f(fi)(f(A).max_time)),1)])])):Q("",!0),f(N)?(E(),O("div",$c,[k[1]||(k[1]=b("p",{class:"text-s c-gray"},"Заказ от",-1)),b("h5",zc,te(f(Wt)(f(N))),1)])):Q("",!0),f(A).delivery_price?(E(),O("div",Yc,[k[2]||(k[2]=b("p",{class:"text-s c-gray"},"Стоимость доставки",-1)),f(A).delivery_fee_rates?.length?(E(),O("h5",Zc,te("от "+f(Wt)(Math.min(f(A)?.delivery_price,...f(A).delivery_fee_rates.map(H=>H.price)))),1)):(E(),O("h5",qc,te(f(Wt)(f(A).delivery_price)),1))])):Q("",!0),f(A).free_delivery_min_price?(E(),O("div",jc,[k[3]||(k[3]=b("p",{class:"text-s c-gray"},"Бесплатная доcтавка",-1)),b("h5",Kc," от "+te(f(Wt)(f(A).free_delivery_min_price)),1)])):Q("",!0)]),b("div",Qc,[f(A).zone_schedule?(E(),O("div",Jc,[k[4]||(k[4]=b("p",{class:"text-s c-gray"},"Прием заказов",-1)),b("h5",e1,te(f(A).zone_schedule),1)])):Q("",!0)]),b("div",{class:"location__cta",onClick:I},[f(A).is_open?(E(),ae(Y,{key:0},{default:se(()=>
20[...k[5]||(k[5]=[ne("Перейти к заказу",-1)])]),_:1})):f(w)&&f(T)?(E(),ae(Y,{key:1},{default:se(()=>[...k[6]||(k[6]=[ne("Сделать предзаказ",-1)])]),_:1})):(E(),ae(Y,{key:2},{default:se(()=>[...k[7]||(k[7]=[ne("Посмотреть меню",-1)])]),_:1})),q(Y,{theme:"secondary",onClick:Jt(V,["stop"])},{default:se(()=>[...k[8]||(k[8]=[ne("Выбрать другой адрес",-1)])]),_:1})])],64)}}}),n1=Fe(t1,[["__scopeId","data-v-11ce2e0b"]]),r1={class:"location"},s1={class:"text-m"},i1={class:"location__info"},o1=Le({__name:"Details",props:{coordinates:{type:Array,default:()=>[]},marker:{type:String,default:""},organization:{type:Object,default:null}},emits:["return"],setup(g,{emit:u}){const c=u,m=Xt(),{zone:p}=He(m),h=rt(),A=pe(()=>h.modal.includes("address"));return(v,N)=>{const w=Oo,T=No,I=Gc,V=n1;return E(),O("div",r1,[f(A)?(E(),ae(T,{key:0,center:g.coordinates,zoom:15,height:"240px"},{default:se(()=>[q(w,{coordinates:g.coordinates},{default:se(()=>[b("div",s1,te(g.marker),1)]),_:1},8,["coordinates"])]),_:1},8,["center"])):Q("",!0),b("div",i1,[g.organization?(E(),ae(I,{key:0,organization:g.organization,onReturn:N[0]||(N[0]=D=>c("return"))},null,8,["organization"])):(E(),ae(V,{key:1,onReturn:N[1]||(N[1]=D=>c("return"))}))])])}}}),vi=Fe(o1,[["__scopeId","data-v-6f2b481b"]]),a1=3,l1=1e3;function ni(g,u,c,m){const p=Number(g);if(!Number.isFinite(p))return m;const h=Math.round(p);return h<u?u:h>c?c:h}function c1(){const u=Vt().app_settings?.geo_address_suggest;return{minChars:ni(u?.min_chars,2,10,a1),debounceMs:ni(u?.debounce_ms,300,5e3,l1)}}function u1(){const{$env:g}=yt(),u=g.useRegions;return u===!0||u==="true"||u===1||u==="1"}function bi(){if(!u1())return;const g=Xt(),u=g.region?Number(g.region):NaN;return Number.isFinite(u)&&u>0?u:void 0}function d1(g){const u=String(g.title||""),c=String(g.subtitle||""),p=(String(g.address||"")||[u,c].filter(Boolean).join(", ")).replace(/^Россия,\s*/i,"").replace(/,\s*Россия$/i,"");return{title:u.replace(/,\s*Россия$/i,""),subtitle:c,value:p,uri:g.uri||void 0}}function f1(g){if(!g.ok||g.lat==null||g.lng==null)return null;const u=String(g.address||"").replace(/^Россия,\s*/i,"").replace(/,\s*Россия$/i,"");return{lat:g.lat,lon:g.lng,name:u,description:"",fullText:u,precision:g.precision}}function h1(){const g=Ae([]),u=Ae(!1),c=Ae(null),{minChars:m,debounceMs:p}=c1();let h=null,A=null;const v=()=>{g.value=[],c.value=null,u.value=!1},N=()=>{h&&(clearTimeout(h),h=null),A?.abort(),A=null,u.value=!1},w=async I=>{const V=I.trim();if(V.length<m){v();return}A?.abort(),A=new AbortController,u.value=!0,c.value=null;try{const D=bi(),k={text:V};D!=null&&(k.region_id=D);const Y=(await kt("service/geo-suggest",{method:"POST",headers:Dt(),body:k,signal:A.signal}))?.results||[];g.value=Y.map(d1)}catch(D){if(D?.name==="AbortError"||D?.cause?.name==="AbortError")return;c.value="Не удалось загрузить подсказки",g.value=[]}finally{u.value=!1}},T=I=>{const V=I.trim();if(h&&clearTimeout(h),V.length<m){N(),v();return}h=setTimeout(()=>{w(V)},p)};return Ar(()=>{N()}),{items:g,pending:u,error:c,search:T,clear:v,cancel:N,minChars:m}}function Ii(){const g=Ae(!1),u=Ae(null);return{geocode:async m=>{g.value=!0,u.value=null;const p=String(m.address||m.text||"").trim();if(!p)return u.value="Не удалось определить адрес",g.value=!1,null;try{const h=bi(),A={address:p};h!=null&&(A.region_id=h);const v=await kt("service/geocode",{method:"POST",headers:Dt(),body:A});if(!v?.ok)return u.value=v?.message||"Уточните адрес",null;const N=f1(v);return N||(u.value=v?.message||"Адрес не найден. Уточните адрес",null)}catch{return u.value="Не удалось определить адрес",null}finally{g.value=!1}},pending:g,error:u}}const g1={class:"delivery"},x1={key:0,class:"delivery__list"},_1=Le({__name:"Delivery",props:{geocoderSuggestionObj:{type:Object,default:null}},emits:["setSearch"],setup(g,{emit:u}){const c=gn();xn();const m=ir(),p=Xt(),h=Vt(),{app_settings:{default_phone:A,tg:v,support_link:N}}=h,{zone:w,userAddress:T,currentAddress:I}=He(p),V=u,D=g,k=pe(()=>N?{link:N,message:"Написать в поддержку"}:v?{link:N,message:"Написать в Телеграм"}:null),P=Ae({requested:!1,found:!1,latitude:null,longitude:null,text:""});xt(()=>D.geocoderSuggestionObj,async j=>{!j?.lat||!j?.lon||await Y({latitude:j.lat,longitude:j.lon,name:j.name,description:j.description||"",fullText:j.fullText},!1)});const Y=async({latitude:j,longitude:z,name:G,description:ce,fullText:F,apt:ge,entrance:ie,floor:de,door_code:be,id:Ve},B=!0)=>{B&&V("setSearch",F);const Ee=await p.checkZone({latitude:j,longitude:z});if(!Ee.found){p.setCurrentAddress(null),P.value={requested:!0,found:!0,latitude:null,longitude:null,text:""};return}p.setCurrentAddress({type:Pn.Delivery,name:G,latitude:j,longitude:z,org_id:Ee.organization.id,description:ce,fullText:F,apt:ge,entrance:ie,floor:de,door_code:be}),Ee.organization.has_spec_prices&&(m.getCatalog(),c.fetchCartProducts()),P.value={requested:!0,found:!0,latitude:j,longitude:z,text:F}};Nn(()=>
20{if(I.value&&I.value?.type===Pn.Delivery){const j=I.value,{latitude:z,longitude:G,name:ce,description:F="",fullText:ge="",apt:ie,entrance:de,floor:be,door_code:Ve}=j;Y({latitude:z,longitude:G,name:ce,description:F,fullText:ge,apt:ie,entrance:de,floor:be,door_code:Ve})}}),xt(()=>I.value,j=>{j||(P.value={requested:!1,found:!1,latitude:null,longitude:null,text:""})});const{geocode:H}=Ii(),Z=async({latitude:j,longitude:z})=>{const G=await H({ll:`${z},${j}`});if(!G){J({code:500}),$.value=!1;return}try{await Y({latitude:j,longitude:z,name:G.name,description:G.description||"",fullText:G.fullText})}catch{J({code:500}),$.value=!1}},{geolocationLoading:$,geolocationFailure:J}=Ro({onGeolocationSuccess:Z});return(j,z)=>{const G=Ci,ce=vi,F=st,ge=li;return E(),O("div",g1,[f(P).requested?f(w).found?(E(),ae(ce,{key:1,coordinates:[f(P).latitude,f(P).longitude],marker:f(P).text,onReturn:z[0]||(z[0]=ie=>V("setSearch",""))},null,8,["coordinates","marker"])):(E(),ae(ge,{key:2,title:"Плохие новости"},{content:se(()=>[ne(" По выбранному адресу мы не доставляем заказы"+te(f(k)?", но вы можете написать нам.":".")+" Возможно, мы его добавим в будущем в зону доставки. ",1)]),action:se(()=>[f(k)?(E(),ae(F,{key:0,href:f(rn)(f(k)?.link),target:"_blank"},{default:se(()=>[ne(te(f(k)?.message),1)]),_:1},8,["href"])):Q("",!0)]),_:1})):(E(),O("ul",x1,[(E(!0),O(xe,null,je(f(T),(ie,de)=>(E(),ae(G,{key:de,title:ie.name,description:[ie.description],onClick:be=>Y(ie)},null,8,["title","description","onClick"]))),128))]))])}}}),m1=Fe(_1,[["__scopeId","data-v-cbeb31ce"]]),p1={class:"takeaway"},w1={key:0,class:"takeaway__list"},C1=Le({__name:"Takeaway",props:{search:String},emits:["setSearch"],setup(g,{emit:u}){const c=gn(),{$log:m}=yt(),p=Xt(),h=ir(),{restaurants:A,takeawayOrganization:v,currentAddress:N}=He(p),w=g,T=u,I=pe(()=>{const k=w.search?.trim().toLowerCase();return k&&k.length>=2?A.value.filter(P=>P.title.toLowerCase().includes(k)):A.value}),V=Ae(null),D=async k=>{const P=await p.setTakeawayOrganization({id:k.id});P&&(V.value={...k},T("setSearch",k.title),p.setCurrentAddress({type:"takeaway",name:k.title,org_id:k.id}),P.has_spec_prices&&(h.getCatalog(),c.fetchCartProducts()))};return Nn(()=>{if(N.value?.type===Pn.Takeaway){const k=A.value.find(P=>P.id===N.value?.org_id);k&&D(k)}A.value.length&&A.value.length===1&&D(A.value[0])}),xt(()=>N.value,k=>{k||(V.value=null)}),(k,P)=>{const Y=Ci,H=vi;return E(),O("div",p1,[f(V)?(E(),ae(H,{key:1,organization:f(v),coordinates:[f(V).lat,f(V).lng],marker:f(V).title,onReturn:P[0]||(P[0]=Z=>T("setSearch",""))},null,8,["organization","coordinates","marker"])):(E(),O("ul",w1,[(E(!0),O(xe,null,je(f(I),(Z,$)=>(E(),ae(Y,{key:$,title:Z.title,address:Z.address,description:[Z.phone,Z.working_hours],onClick:J=>D(Z)},null,8,["title","address","description","onClick"]))),128))]))])}}}),A1=Fe(C1,[["__scopeId","data-v-023828c9"]]),E1=({setFieldValue:g,setErrors:u,disabled:c})=>{const m=Ae(null),p=Ae(!1),{items:h,pending:A,search:v,clear:N,cancel:w,minChars:T}=h1(),{geocode:I,error:V}=Ii(),D=P=>{if(c?.value){w(),N(),p.value=!1;return}m.value=null,v(P),p.value=P.trim().length>=T},k=async P=>{g&&g("search",P.value),p.value=!1,N();const Y=await I({text:P.value});if(!Y){u({search:V.value||"Адрес не найден. Уточните адрес"}),v(P.value),p.value=P.value.trim().length>=T;return}u({search:void 0}),m.value=Y};return xt(()=>c?.value,P=>{P&&(w(),N(),p.value=!1)}),{geocoderSuggestionObj:m,suggestions:h,suggestPending:A,suggestionsVisible:p,onSearchInput:D,selectSuggestion:k}},y1={class:"address__head"},v1={class:"h2-title"},b1={key:0,class:"address__search"},I1=["onClick"],S1={class:"address__suggest-title"},T1={key:0,class:"address__suggest-sub"},N1={key:1,class:"address__suggest-hint"},O1={key:1,class:"address__search"},R1={class:"address__table-actions"},M1=Le({__name:"AddressModal",setup(g){const u=rt(),c=gn(),m=ir(),p=Vt(),h=Xt(),{currentAddress:A}=He(h),{app_settings:v}=He(p),{$env:N}=yt(),w=Ur(N.orderToTable),T=uo(N.orderToTable),I=Ae(w?[{id:3,label:"К столу"}]:[{id:1,label:"Доставка"},{id:2,label:"Самовывоз"},...T?[{id:3,label:"К столу"}]:[]]),V=pe(()=>w||N.takeawayOnly?!1:v.value.takeaway_enabled),D=Ae(w?3:N.takeawayOnly?2:1),k=Se=>{D.value=Se,H("search",""),H("table",""),j.value=!1,h.setCurrentAddress(null)},{errors:P,setErrors:Y,setFieldValue:H,validate:Z}=$n({initialValues:{search:"",table:""}}
20),{value:$}=vn("search"),{value:J}=vn("table"),j=Ae(!1),z=Ae(0),G=()=>{z.value+=1,j.value=!0},ce=()=>{j.value=!1},F=async Se=>{if(!Se)return;const K=await h.setToTable({table_num:Se});if(K?.error===404){h.setCurrentAddress(null),J.value="",yn(K,"Стол не найден");return}K&&(h.setCurrentAddress({type:"totable",name:K?.title,org_id:K?.organization?.id,table_id:K?.id,table_num:K?.num}),K?.organization?.has_spec_prices&&(m.getCatalog(),c.fetchCartProducts()),j.value=!1,h.setAddressModalClosed(!0),u.closeModal())},ge=async Se=>{await F(Se)},ie=pe(()=>D.value===1?"Укажите новый адрес":D.value===2?"Найти ресторан":D.value===3?"Введите номер стола":""),de=Se=>{H("search",Se),A.value&&h.setCurrentAddress(null),Y({search:void 0}),It(Se)},be=Se=>{H("table",Se),A.value&&h.setCurrentAddress(null)},Ve=Ae(null),B=pe(()=>D.value===2||D.value===3),{geocoderSuggestionObj:Ee,suggestions:Ie,suggestPending:ut,suggestionsVisible:bt,onSearchInput:It,selectSuggestion:en}=E1({disabled:B,setFieldValue:H,setErrors:Y}),nt=async()=>{J.value.length&&await F(J.value)};return Nn(()=>{const Se=A.value?.type;Se&&(D.value=Se===Pn.ToTable?3:Se===Pn.Delivery?1:2)}),xt(()=>A.value?.type,()=>{const Se=A.value?.type;Se&&(D.value=Se===Pn.ToTable?3:Se===Pn.Delivery?1:2)}),(Se,K)=>{const Ce=wi,_e=Tn,Ke=st,Be=Rc,dt=or,ft=m1,Ue=A1,Oe=vt;return E(),ae(Oe,{name:"address",size:"large","z-index":5e3},{default:se(()=>[b("div",{class:ct(["address",[`_type-${f(D)}`]])},[b("div",y1,[b("div",v1,[f(D)===1?(E(),O(xe,{key:0},[ne("Куда доставить?")],64)):f(D)===2?(E(),O(xe,{key:1}
20,[ne("Откуда заберете?")],64)):f(D)===3?(E(),O(xe,{key:2},[ne("К столу")],64)):Q("",!0)]),f(V)?(E(),ae(Ce,{key:0,class:"address__toggle",list:f(I),value:f(D),onOnChange:k},null,8,["list","value"])):Q("",!0)]),f(D)!=3?(E(),O("div",b1,[q(_e,{ref_key:"searchRef",ref:Ve,name:"address",type:"text",placeholder:f(ie),icon:"search","icon-position":"left",value:f($),error:f(P).search,onOnChange:de},null,8,["placeholder","value","error"]),f(bt)&&f(Ie).length?(E(),O("ul",{key:0,class:"address__suggest",onMousedown:K[0]||(K[0]=Jt(()=>{},["prevent"]))},[(E(!0),O(xe,null,je(f(Ie),(Ne,$t)=>(E(),O("li",{key:$t,class:"address__suggest-item",onClick:Tt=>f(en)(Ne)},[b("span",S1,te(Ne.title),1),Ne.subtitle?(E(),O("span",T1,te(Ne.subtitle),1)):Q("",!0)],8,I1))),128))],32)):f(bt)&&f(ut)?(E(),O("div",N1," Поиск… ")):Q("",!0)])):(E(),O("div",O1,[f(j)?(E(),O(xe,{key:1},[q(dt,null,{default:se(()=>[(E(),ae(Be,{key:f(z),onScan:ge}))]),_:1}),q(Ke,{class:"address__button-qr",theme:"secondary",onClick:ce},{default:se(()=>[...K[5]||(K[5]=[ne(" Ввести номер стола ",-1)])]),_:1})],64)):(E(),O(xe,{key:0},[q(_e,{value:f(J),name:"address",type:"text","icon-position":"left",placeholder:f(ie),onOnChange:be},null,8,["value","placeholder"]),b("div",R1,[f(J).length!=0?(E(),ae(Ke,{key:0,class:"address__button-table","icon-left":"like",onClick:nt},{default:se(()=>[...K[3]||(K[3]=[ne(" Готово ",-1)])]),_:1})):Q("",!0),q(Ke,{class:"address__button-qr",theme:"secondary",onClick:G},{default:se(()=>[...K[4]||(K[4]=[ne(" Сканировать QR ",-1)])]),_:1})])],64))])),f(D)===1?(E(),ae(ft,{key:2,class:"address__delivery","geocoder-suggestion-obj":f(Ee),onSetSearch:K[1]||(K[1]=Ne=>f(H)("search",Ne))},null,8,["geocoder-suggestion-obj"])):Q("",!0),f(D)===2?(E(),ae(Ue,{key:3,class:"address__delivery",search:f($),onSetSearch:K[2]||(K[2]=Ne=>f(H)("search",Ne))},null,8,["search"])):Q("",!0)],2)]),_:1})}}}),k1=Fe(M1,[["__scopeId","data-v-a8ec0844"]]),D1={class:"closed"},B1={class:"closed__cta"},P1={class:"closed__cta"},L1=Le({__name:"ClosedModal",setup(g){const{$env:u}=yt(),c=rt(),m=Vt(),{isPreorderAvailable:p,isPreorderOpen:h}=He(m);return(A,v)=>{const N=st,w=vt;return E(),ae(w,{name:"closed"},{default:se(()=>[b("div",D1,[v[6]||(v[6]=b("div",{class:"h2-title"},"Закрыто",-1)),f(p)&&f(h)?(E(),O(xe,{key:0},[v[3]||(v[3]=b("p",{class:"text-m"}," Сейчас мы закрыты, но вы можете оставить предзаказ на любую предпочтительную дату и время — мы с радостью исполним. ",-1)),b("div",B1,[q(N,{onClick:v[0]||(v[0]=T=>f(c).closeModal())},{default:se(()=>[...v[2]||(v[2]=[ne("Оставить предзаказ",-1)])]),_:1})])],64)):(E(),O(xe,{key:1},[v[5]||(v[5]=b("p",{class:"text-m"},"Сейчас мы закрыты, оформите заказ в рабочее время",-1)),b("div",P1,[q(N,{onClick:v[1]||(v[1]=T=>f(c).closeModal())},{default:se(()=>[...v[4]||(v[4]=[ne("Закрыть",-1)])]),_:1})])],64))])]),_:1})}}}),F1=Fe(L1,[["__scopeId","data-v-70adc323"]]),U1={class:"closed"},V1={class:"closed__cta"},G1=Le({__name:"OrgNotFoundModal",setup(g){const{$env:u}=yt(),c=rt();return(m,p)=>{const h=st,A=vt;return E(),ae(A,{name:"orgnotfound"},{default:se(()=>[b("div",U1,[p[2]||(p[2]=b("div",{class:"h2-title"},"Не доставляем",-1)),p[3]||(p[3]=b("p",{class:"text-m"},"К сожалению мы не можем доставить по этому адресу. Выберите другой адрес",-1)),b("div",V1,[q(h,{onClick:p[0]||(p[0]=v=>f(c).setModal({name:"address",keepPrevious:!0}))},{default:se(()=>[...p[1]||(p[1]=[ne("Сменить адрес",-1)])]),_:1})])])]),_:1})}}}),H1=Fe(G1,[["__scopeId","data-v-c0e73f62"]]),W1={class:"contact"},X1={class:"text-m text-sm-s fw-500 c-gray"},$1=["onClick"],z1={key:1,class:"h2-title h6-title-sm"},Y1=["href","target"],Z1={key:0,class:"contact__restaurants restaurants"},q1={key:0,class:"restaurants__more"},j1={key:1,class:"restaurants__single"},K1={key:2,class:"restaurants__all"},Q1={class:"restaurants__list"},J1={class:"text-m text-sm-s fw-500"},e0={key:0,class:"text-m text-sm-s fw-500 c-gray text-xs"},t0={class:"restaurants__contact-row fw-500 c-gray"},n0={key:0,class:"text-s"},r0={key:1,class:"text-s"},s0=Le({__name:"ContactModal",setup(g){const{$env:u,$log:c}=yt(),m=fo(),p=Xt();Vt();const{contacts:h,restaurantList:A}=He(m),{zone:v,takeawayOrganization:N}=He(p);function w(Y){return/^(https?:\/\/|www\.)[^\s/$.?#].[^\s]*$/i.test(Y)}function T(Y,H,Z){const $=Z?encodeURIComponent(Z):"";switch(Y){case"phone":return`tel:${H.replace(/\s/g,"")}`;case"email":return`mailto:${H}`;case"telegram":{const J=`https://t.me/${H.replace("@","")}`;return $?`${J}?text=${$}`:J}case"whatsapp":{const J=`https://wa.me/${H.replace(/[^0-9]/g,"")}`;return $?`${J}?text=${$}`:J}case"vk":return`https://vk.com/${H}`;case"instagram":return`https://instagram.com/${H.replace("@","")}`;case"facebook":return/^https?:\/\//i.test(H)?H:`https://facebook.com/${H.replace("@","")}`;case"max":return`https://max.ru/${H}`;case"url":return H;case"text":return null}}const I=xn(null);function V(){return p.currentAddress?.type===Pn.Delivery?v.value?.organization:N.value}function D(Y){navigator.clipboard.writeText(Y),I.success("Скопировано")}function k(Y){const H=V();return Y.map(Z=>{let $=Z.text||Z.value,J=Z.value;Z.type==="phone"&&Z.replace_with_organization&&H?.phone&&($=H.phone,J=H.phone);const j=T(Z.type,J,Z.message);return{label:Z.label,value:j,text:$,copyOnClick:Z.copy_on_click??
20!1,copyValue:J}}).filter(Z=>Z.text)}const P=pe(()=>{if(!h.value)return[];const Y=h.value.custom_contacts;if(Y&&Y.length>0)return k(Y);const{phone:H,telegram:Z,facebook:$,instagram:J,vk:j,contacts_email:z,wu:G,support_link:ce,partners_link:F}=h.value;return[{label:"Телефон",value:`tel:${(H||"").replace(/\s/g,"")}`,text:H},{label:"Поддержка",value:w(ce)?rn(ce):`tel:${(ce||"").replace(/\s/g,"")}`,text:w(ce)?nr(ce):ce},{label:"Телеграм",value:rn(Z),text:nr(Z)},{label:"WhatsApp",value:rn(G),text:nr(G)},{label:"ВКонтакте",value:rn(j),text:nr(j)},{label:"Электронная почта",value:`mailto:${z}`,text:z},{label:"Фейсбук",value:rn($),text:nr($)},{label:"Инстаграм",value:rn(J),text:nr(J)},{label:"Поставщикам",value:`mailto:${F}`,text:F}].filter(ie=>ie.value&&ie.text)});return(Y,H)=>{const Z=st,$=oi,J=vt,j=or;return E(),ae(j,null,{default:se(()=>[q(J,{name:"contacts",position:"aside",height:"fill"},{default:se(()=>[b("div",W1,[H[4]||(H[4]=b("div",{class:"contact__head visible-sm"},[b("div",{class:"h4-title"},"Контакты")],-1)),b("ul",{class:ct(["contact__list",[f(h)?.restaurants_count&&"_has-restaurants"]])},[(E(!0),O(xe,null,je(f(P),(z,G)=>(E(),O("li",{key:G},[b("span",X1,te(z.label),1),z.copyOnClick?(E(),O("a",{key:0,href:"#",class:"h2-title h6-title-sm _link",onClick:Jt(ce=>D(z.copyValue||z.text),["prevent"])},te(z.text),9,$1)):z.value?(E(),O("a",{key:2,href:z.value,target:z.text?"_blank":void 0,class:ct(["h2-title h6-title-sm",[z.text&&"_link"]])},te(z.text),11,Y1)):(E(),O("span",z1,te(z.text),1))]))),128))],2),f(h)?.restaurants_count&&f(A)?.length?(E(),O("div",Z1,[f(u).useRegions?(E(),O("div",q1,[q(Z,{theme:"secondary",to:"/restaurants"},{default:se(()=>[...H[0]||(H[0]=[ne("Все рестораны на карте",-1)])]),_:1})])):f(h).restaurants_count===1?(E(),O("div",j1,[H[1]||(H[1]=b("span",{class:"text-m text-sm-s fw-500 c-gray"},"Адрес",-1)),q($,{to:`/restaurants/${f(A)[0].id}`,class:"h2-title h6-title-sm"},{default:se(()=>[ne(te(f(A)[0].address),1)]),_:1},8,["to"])])):(E(),O("div",K1,[H[3]||(H[3]=b("span",{class:"text-m text-sm-s fw-500 c-gray"},"Рестораны",-1)),b("ul",Q1,[(E(!0),O(xe,null,je(f(A),z=>(E(),O("li",{key:z.id},[q($,{to:`/restaurants/${z.id}`,class:"restaurants__box"},{default:se(()=>[b("span",J1,te(z.title||z.address),1),H[2]||(H[2]=b("br",null,null,-1)),z.address&&z.title?(E(),O("span",e0,te(z.address),1)):Q("",!0),b("div",t0,[z.phone?(E(),O("span",n0,te(z.phone),1)):Q("",!0),z.working_hours?(E(),O("span",r0,te(z.working_hours),1)):Q("",!0)])]),_:2},1032,["to"])]))),128))])]))])):Q("",!0)])]),_:1})]),_:1})}}}),i0=Fe(s0,[["__scopeId","data-v-d2057a94"]]),o0={class:"product"},a0={class:"product__scrolling-wrap"},l0={class:"product__scrolling"},c0={class:"product__title h4-title"},u0={key:0,class:"text-s fw-500 c-gray"},d0={key:0,class:"product__weight text-s c-gray"},f0={class:"product__media visible-lg"},h0={class:"product__image"},g0={class:"product__description text-s"},x0={key:2,ref:"productsizes",class:"product__sizes"},_0=["onClick"],m0={class:"product__size-content"},p0={class:"product__size-info"},w0={class:"size__name"},C0={class:"size__price"},A0={class:"h6-title"},E0={class:"product__modifier-list"},y0=["onClick"],v0={class:"mod-option__name"},b0={key:0,class:"mod-option__price"},I0={key:4,class:"product__suggest _lg"},S0={key:0,class:"product__cta"},T0={key:0,class:"product__cta-disabled text-l fw-500 c-red"},N0={class:"product__old-price"},O0={key:2,class:"product__suggest"},ri="product",R0=Le({__name:"ProductModal",setup(g){const u=Vt(),{app_settings:c}=He(u),{$env:m,$log:p}=yt(),h=rt(),A=gn(),{productsCountInCartTotal:v}=He(A),{modal:N,modalParams:w}=He(h),T=Ae(null),I=Ae(null),V=Ae(!1),D={slidesPerView:"auto",spaceBetween:16,threshold:3,preventClicks:!0,touchEventsTarget:"container",freeMode:{enabled:!0,sticky:!1},mousewheel:{forceToAxis:!0,releaseOnEdges:!0,sensitivity:.7}},k=pe(()=>I.value||T.value),P=pe(()=>{const ee=k.value?.title||"",oe=k.value?.seo_data?.img_alt,fe=k.value?.seo_data?.img_title;return{alt:oe?oe.replace(/\[title\]/g,ee):ee,title:fe?fe.replace(/\[title\]/g,ee):ee}}),Y=Ae(0),H=(ee,oe)=>{Y.value=oe},Z=pe(()=>{const ee=k.value;return ee?!!(ee.gallery?.length&&m.galleryShow):!1}),$=(ee,oe,fe)=>{const We=[];return fe?We.push({url:ee,caption:null,videoUrl:fe}):ee&&We.push({url:ee,caption:null}),oe&&oe.length>0&&oe.forEach(me=>{We.push({url:me.image,caption:me.title})}),We},J=pe(()=>!Ee.value?.isGift),j=Ae([]),z=ee=>j.value.filter(oe=>oe.groupID===ee).reduce((oe,fe)=>oe+(fe.q||0),0),G=(ee,oe)=>j.value.find(fe=>fe.id===ee&&fe.groupID===oe)?.q||0,ce=(ee,oe,fe)=>{const We=Number.isFinite(ee?.min_items)?ee.min_items:0,me=Number.isFinite(ee?.max_items)?ee.max_items:1/0,ot=Math.max(We,Math.min(me,fe||0)),et=j.value.findIndex(Bt=>
20Bt.id===ee.id&&Bt.groupID===oe);et>=0?ot<=0?j.value.splice(et,1):j.value[et]={...j.value[et],q:ot}:ot>0&&j.value.push({...ee,groupID:oe,q:ot})},F=(ee,oe,fe)=>{const We=G(ee.id,fe),me=ge(oe,fe,ee);if(me<=0)return;const ot=Math.min(We+1,me);me<=We||ot===We||ce(ee,fe,ot)},ge=(ee,oe,fe)=>{const We=Number.isFinite(ee?.max_items)?ee.max_items:1/0,me=Number.isFinite(fe?.max_items)?fe.max_items:1/0,ot=z(oe),et=G(fe.id,oe);if(Number.isFinite(We)&&ot>=We)return et;const Bt=Number.isFinite(We)?Math.max(0,We-(ot-et)):1/0;return Math.min(me,Number.isFinite(Bt)?et+Bt:1/0)},ie=(ee,oe,fe,We)=>{const me=Number.isFinite(ee?.min_items)?ee.min_items:0,ot=ge(oe,fe,ee),et=Math.max(me,Math.min(We||0,ot));ce(ee,fe,et)},{productPriceLabel:de}=Do({product:k,modifierGroups:j,selectedSizeIndex:Y}),be=pe(()=>{const ee=k.value?.sizes;if(Array.isArray(ee)&&ee.length>0){const oe=Math.min(Math.max(Y.value,0),ee.length-1),fe=ee[oe];if(fe&&typeof fe.id=="number")return{id:fe.id,title:fe.title,price:fe.price}}}),{zoneData:Ve}=pi(),B=Ae([0,0,0]),Ee=pe(()=>w.value&&w.value[ri]),Ie=()=>{const ee=B.value.filter(We=>We).join("."),oe=T.value?.options?.find(We=>We.id===ee)?.catalog_item_id.toString();if(!oe)return;const fe=T.value?.children?.find(We=>We.id.toString()===oe);fe&&(I.value={...fe},wr(()=>{Tt()}))},ut=(ee,oe)=>{B.value[ee]=oe,Ie(),_e()},bt=pe(()=>{const ee=k.value?.modifier_groups||[];return Ve.value.organization?.modifiers_stop_list?ee.map(oe=>({...oe,items:oe.items.filter(fe=>!Ve.value.organization?.modifiers_stop_list.includes(fe.id))}
20)):ee}),It=pe(()=>bt.value.filter(ee=>ee.items.length)),en=pe(()=>{const ee=k.value?.id;if(ee&&Ve.value.organization?.prohibited_to_sell?.includes(ee))return!0;let oe=!1;const fe=k.value?.modifier_groups,We=Ve.value.organization?.modifiers_stop_list;return fe?.length&&We?.length&&fe?.forEach(me=>{me.min_items!==0&&(oe=me.items.map(et=>et.id).every(et=>We.includes(et)))}),oe}),nt=Ae([]),Se=Ae(!1),K=(ee,oe,fe,We)=>{j.value.some(et=>et.id===ee.id&&et.groupID===oe);const ot=!!j.value.find(et=>et.groupID===oe);{ot?j.value=j.value.map(et=>et.groupID===oe?{...ee,groupID:oe,q:1}:et):j.value=[...j.value,{...ee,groupID:oe,q:1}];return}},Ce=()=>{const ee=[];return It.value.length&&It.value.forEach((oe,fe)=>{const me=j.value.filter(ot=>ot.groupID===fe).reduce((ot,et)=>ot+(et.q||0),0);(me>oe.max_items||me<oe.min_items)&&ee.push(fe)}),ee.length===0&&(Se.value=!1),nt.value=[...ee],ee},_e=()=>{j.value=[],nt.value=[],Se.value=!1},Ke=pe(()=>!!Ce().length),Be=Ae(null),dt=()=>{Se.value=!0;let ee;window.innerWidth<768?ee=document.querySelector(".modal._active .modal__content"):ee=document.querySelector(".modal._active .product__scrolling-wrap");const oe=Be.value.getBoundingClientRect(),fe=ee.getBoundingClientRect(),We=oe.top-fe.top+ee.scrollTop;ho(We,300,ee)},ft=pe(()=>k.value?.id?v.value(k.value?.id):0),Ue=async ee=>{if(!N.value.includes("product"))return;j.value=[],nt.value=[],Se.value=!1,V.value=!0;const oe=await kt("catalog/get-item-data",{method:"GET",headers:Dt(),params:{id:ee}}).catch(yn);oe?(T.value={...oe},Tt(),oe.variants?.length&&(B.value=oe.variants.map(fe=>fe.variants[0].id),Ie()),T.value?.sizes?.length&&(Y.value=0),window&&window.dataLayer&&window.dataLayer.push({ecommerce:{currencyCode:"RUB",detail:{products:[{id:oe.id,name:oe.title,price:oe.price}]}}})):h.closeAllModals(),V.value=!1},Oe=Ae(null),Ne=Ae(500),$t=Ae(null),Tt=xs(()=>{Ne.value=500,$t.value=null,wr(()=>{if(!Oe.value)return;let ee=Oe.value.querySelector("img");if(ee&&!ee.complete){ee.addEventListener("load",()=>{const fe=ee.offsetHeight;Ne.value=fe?fe+20+16:500});return}const oe=Oe.value.querySelector(".slider.product__slider img");if(oe){ee=oe;const fe=ee?.offsetHeight;if(Ne.value=fe?fe+20+40:500,ee){const We=ee.offsetWidth+176;$t.value=We||null}}else{const fe=ee?.offsetHeight;if(Ne.value=fe?fe+20+16:500,ee){const We=ee.offsetWidth+40;$t.value=We||null}}})},100,{leading:!0}),dn=()=>{Tt()};return Nn(()=>{Tt(),window.addEventListener("resize",Tt,!0)}),Ar(()=>{window.removeEventListener("resize",Tt,!0)}),xt(()=>Ee.value,async(ee,oe)=>{ee?ee.id&&(ee.critical&&(T.value={...ee.critical},I.value=null),await Ue(ee.id),window&&window.dataLayer&&A.sendCartAnalytics({action:"click",body:{catalog_item_id:T.value?.id,count:1,modifiers:[],price:T.value?.price,category:T.value?.category_item?.title},product:T.value})):setTimeout(()=>{T.value=null,I.value=null},250)},{deep:!0}),xt(()=>Oe.value,ee=>{ee&&Tt()}),(ee,oe)=>{const fe=Cs,We=To,me=_i,ot=ps,et=Io,Bt=Vr,zn=Mo,Yt=wi,ar=As,_n=st,Pt=ws,Er=So,Fn=Gr,yr=mi,wt=ko,we=vt;return E(),ae(we,{name:ri,size:"x-large",padding:!1},{default:se(()=>[b("div",o0,[(E(),ae(fe,{key:0,loading:f(V),position:"overlay"},null,8,["loading"])),f(T)&&f(k)?(E(),O("div",{key:1,class:ct(["product__wrapper",f(T).suggest?.length&&"_withSuggest"])},[b("div",{style:Cr(f($t)?{flexBasis:`${f($t)}px`}:{}),class:"product__media hidden-lg"},[b("div",{ref_key:"imageRef",ref:Oe,class:ct(["product__image",{product__image__slider:f(k).gallery&&f(k).gallery.length>0}])},[f(Z)?(E(),ae(We,{key:0,class:"product__slider",slides:$(f(k).image,f(k).gallery,f(k).video_url),"seo-image-attrs":f(P),onLoad:dn},null,8,["slides","seo-image-attrs"])):f(k).video_url?(E(),ae(me,mr({key:1},f(P),{src:f(k).image,"video-url":f(k).video_url,fill:!1,active:"",loop:"",onReady:dn}),null,16,["src","video-url"])):(E(),ae(ot,mr({key:2},f(P),{src:f(k).image,onLoad:dn}),null,16,["src"])),f(m).useFavourites?(E(),ae(et,{key:3,product:f(k)},null,8,["product"])):Q("",!0)],2)],4),b("div",{class:"product__body",style:Cr({maxHeight:"521px",flexBasis:`calc(100% - ${f($t)}px)`})},[b("div",a0,[b("div",l0,[b("div",c0,[q(Bt,{text:f(k).title},null,8,["text"]),oe[0]||(oe[0]=ne("  ",-1)),q(zn,{product:f(k)},null,8,["product"]),f(ft)?(E(),O("div",u0,"  (В корзине уже "+te(f(ft))+") ",1)):Q("",!0)]),f(k).packing_weights.split(" ")[0][0]!=="0"?(E(),O("div",d0,te(f(k).packing_weights),1)):Q("",!0),b("div",f0,[b("div",h0,[f(Z)?(E(),ae(We,{key:0,class:"product__slider","seo-image-attrs":f(P),slides:$(f(k).image,f(k).gallery,f(k).video_url)},null,8,["seo-image-attrs","slides"])):f(k).video_url?(E(),ae(me,mr({key:1},f(P),{src:f(k).image,"video-url":f(k).video_url,fill:!1,active:"",loop:"",onReady:dn}),null,16,["src","video-url"])):(E(),ae(ot,mr({key:2},f(P),{src:f(k).image,onLoad:dn}),null,16,["src"])),f(m).useFavourites?(E(),ae(et,{key:3,product:f(k)},null,8,["product"])):Q("",!0)])]),b("div",g0,te(f(k).description),1),f(T).variants?.length?(E(!0),O(xe,{key:1},je(f(T).variants,(De,Re)=>
20(E(),ae(Yt,{key:Re,autosize:!0,label:f(T).title,list:De.variants.map(Ge=>({id:Ge.id,label:Ge.title})),value:f(B)[Re],class:"product__options",size:"small",onOnChange:Ge=>ut(Re,Ge)},null,8,["label","list","value","onOnChange"]))),128)):Q("",!0),f(k)?.sizes?.length?(E(),O("div",x0,[oe[1]||(oe[1]=b("div",{class:"h6-title"},"Выберите размер",-1)),(E(!0),O(xe,null,je(f(k).sizes,(De,Re)=>(E(),O("div",{key:De.id,class:ct(["product__size",f(Y)===Re&&"_selected"]),onClick:Ge=>H(De,Re)},[b("div",m0,[b("div",p0,[b("span",w0,te(De.title),1),b("span",C0,te(f(Wt)(De.price,0,!1)),1)]),q(ar,{checked:f(Y)===Re,name:"size_radio",type:"radio",class:"size__radio"},null,8,["checked"])])],10,_0))),128))],512)):Q("",!0),f(It)?.length?(E(),O("div",{key:3,ref_key:"productModifiers",ref:Be,class:"product__modifiers"},[(E(!0),O(xe,null,je(f(It),(De,Re)=>(E(),O("div",{key:Re,class:"product__modifier"},[b("div",A0,te(De.title),1),b("div",{class:ct([[f(Se)&&f(nt).includes(Re)&&"c-red _error"],"product__modifier-note text-xs c-gray"])},[De.min_items===0?(E(),O(xe,{key:0},[ne(" Опционально, максимум "+te(De.max_items)+" "+te(f(Gs)(De.max_items,"ингредиент","ингредиента","ингредиентов")),1)],64)):De.min_items===De.max_items?(E(),O(xe,{key:1},[ne(" Нужно выбрать "+te(De.min_items)+" "+te(f(Gs)(De.min_items,"ингредиент","ингредиента","ингредиентов")),1)],64)):(E(),O(xe,{key:2},[ne(" Нужно выбрать от "+te(De.min_items)+" до "+te(De.max_items)+" ингредиентов ",1)],64))],2),b("div",E0,[(E(!0),O(xe,null,je(De.items,Ge=>(E(),O("div",{key:Ge.id,class:"product__modifier-option mod-option text-m",onClick:sn=>De.max_items===1&&K(Ge,Re,!0,De)},[b("span",v0,te(Ge.title),1),Ge.price?(E(),O("span",b0,[Ge.price>0?(E(),O(xe,{key:0},[ne("+")],64)):Q("",!0),ne(te(f(Wt)(Ge.price,0,!1)),1)])):Q("",!0),De.max_items===1?(E(),ae(ar,{key:1,checked:f(j).some(sn=>sn.id===Ge.id&&sn.groupID===Re),error:f(nt).includes(Re),name:`mod_radio_${Re}`,type:"radio",class:"mod-option__radio"},null,8,["checked","error","name"])):(E(),O(xe,{key:2},[G(Ge.id,Re)===0?(E(),ae(_n,{key:0,theme:"secondary",size:"small",class:"mod-option__add",onClick:Jt(sn=>F(Ge,De,Re),["stop","prevent"])},{default:se(()=>[...oe[2]||(oe[2]=[ne(" + ",-1)])]),_:1},8,["onClick"])):(E(),ae(Pt,{key:1,value:G(Ge.id,Re),"min-value":Ge.min_items??0,"max-value":ge(De,Re,Ge),step:1,"input-disabled":!0,size:"small",theme:"primary",onOnChange:sn=>ie(Ge,De,Re,sn)},null,8,["value","min-value","max-value","onOnChange"]))],64))],8,y0))),128))])]))),128))],512)):Q("",!0),q(Er,{product:f(k),class:"card__stat"},null,8,["product"]),f(T)&&f(T).suggest?.length?(E(),O("div",I0,[oe[3]||(oe[3]=b("div",{class:"product__suggest-title h6-title"},"Рекомендуем попробовать",-1)),q(yr,{params:D,class:"product__suggest-list"},{default:se(()=>[(E(!0),O(xe,null,je(f(T).suggest,(De,Re)=>(E(),ae(f(ds),{key:Re},{default:se(()=>[q(Fn,{"is-display-mode":!0,product:De},null,8,["product"])]),_:2},1024))),128))]),_:1})])):Q("",!0)])]),f(c).disable_order?Q("",!0):(E(),O("div",S0,[f(en)?(E(),O("p",T0," К сожалению эта позиция недоступна ")):f(J)?(E(),ae(wt,{key:1,modifiers:f(j),product:f(k),productpricepm:" х "+f(de),"should-emit":f(Ke),"name-options":f(B).map((De,Re)=>f(T)?.variants?.[Re]?.variants?.find(Ge=>Ge.id===De)?.title).filter(Boolean),"size-obj":f(be),"btn-theme":"primary",size:"mediummodal",onOnBeforeAdd:dt},{default:se(()=>[ne(" В корзину • "+te(f(de))+" ",1),f(T).old_price?(E(),O(xe,{key:0},[oe[4]||(oe[4]=ne(" •  ",-1)),b("span",N0,te(f(Wt)(f(k).old_price)),1)],64)):Q("",!0)]),_:1},8,["modifiers","product","productpricepm","should-emit","name-options","size-obj"])):Q("",!0)]))],4)],2)):Q("",!0),f(T)&&f(T).suggest?.length?(E(),O("div",O0,[oe[5]||(oe[5]=b("div",{class:"product__suggest-title h6-title"},"Рекомендуем попробовать",-1)),q(yr,{params:D,class:"product__suggest-list"},{default:se(()=>[(E(!0),O(xe,null,je(f(T).suggest,(De,Re)=>
20(E(),ae(f(ds),{key:Re},{default:se(()=>[q(Fn,{"is-display-mode":!0,product:De},null,8,["product"])]),_:2},1024))),128))]),_:1})])):Q("",!0)])]),_:1})}}}),M0=Fe(R0,[["__scopeId","data-v-2656e176"]]),k0=g=>g.replace(/<[^>]*(>|$)|&nbsp;|&zwnj;|&raquo;|&laquo;|&gt;/g,""),D0={class:"container search__wrapper"},B0={class:"search__top"},P0={class:"search__scroller"},L0={class:"search__grid row"},F0=Le({__name:"SearchOverlay",setup(g){const u=rt();ir();const{$env:c}=yt(),m=Ae(""),p=Ae(!1),h=Ae([]),A=N=>{m.value=N,v()},v=xs(async()=>{const N=k0(m.value.trim());if(N.length>=2){p.value=!0;const w=await kt("catalog/search",{method:"GET",headers:Dt(),params:{query:N}});w&&(h.value=w),p.value=!1}},500);return xt(()=>u.searchActive,N=>{N?hs():gs()}),(N,w)=>{const T=Tn,I=Sn,V=Bo;return E(),O("div",{class:ct(["search",[f(u).searchActive&&"_active"]])},[b("div",D0,[b("div",B0,[q(T,{name:"search",type:"search",icon:"search","icon-position":"left",value:f(m),onOnChange:A},null,8,["value"]),b("div",{class:"search__close",onClick:w[0]||(w[0]=D=>f(u).setSearchActive(!1))},[q(I,{name:"close"})])]),b("div",P0,[b("div",L0,[(E(!0),O(xe,null,je(f(h),D=>(E(),O("div",{key:D.id,class:"col col-6 col-sm-12"},[q(V,{product:D},null,8,["product"])]))),128))])])])],2)}}}),U0=Fe(F0,[["__scopeId","data-v-6eb103b9"]]),V0={class:"sub__inputs"},G0={class:"sub__inputs"},H0={class:"sub__text text-s"},W0=["href"],X0=["href"],$0=Le({__name:"SubModal",setup(g){const u=Vt(),{app_settings:c}=He(u),{user:m}=He(u),p=xn(),{errors:h,setFieldValue:A,validate:v}=$n({initialValues:{email:m.value.email||""}}),{value:N,meta:w}=vn("email",V=>Ln(V)?hi(V)?!0:"Проверьте адрес электронной почты":!0),T=Ae(!1),I=async()=>{T.value=!0;const{valid:V,errors:D}=await v();if(!V||N.value===""){T.value=!1,p.error("Проверьте введенную почту");return}T.value=!0;const k=await kt("service/subscribe",{method:"POST",headers:Dt(),body:{email:N.value}}).catch(P=>yn(P,"Ошибка, проверьте заполненные поля"));T.value=!1,go(xo.SubscribeNewsletter),k&&p.success("Вы подписались на нашу рассылку")};return(V,D)=>{const k=Tn,P=st,Y=vt;return f(c).show_subscription_block?(E(),ae(Y,{key:0,name:"sub"},{default:se(()=>[D[4]||(D[4]=b("h2",{class:"sub__title h2-title"},"Подпишись",-1)),D[5]||(D[5]=b("div",{class:"sub__text text-s"},"Получайте специальные новости от нас и предложения первыми",-1)),b("div",V0,[q(k,{error:f(h).email,value:f(N),name:"email",placeholder:"",onOnChange:D[0]||(D[0]=H=>f(A)("email",H))},null,8,["error","value"])]),b("div",G0,[q(P,{block:!0,loading:f(T),onClick:I},{default:se(()=>[...D[1]||(D[1]=[ne(" Подписаться",-1)])]),_:1},8,["loading"])]),b("div",H0,[D[2]||(D[2]=ne(" Нажимая на кнопку “Подписаться”, вы даете согласие на ",-1)),f(c).user_agreement_link?(E(),O("a",{key:0,href:("buildLink"in V?V.buildLink:f(rn))(f(c).user_agreement_link),target:"_blank"},"обработку персональных данных ",8,W0)):Q("",!0),D[3]||(D[3]=ne(" и соглашаетесь с ",-1)),f(c).privacy_link?(E(),O("a",{key:1,href:("buildLink"in V?V.buildLink:f(rn))(f(c).privacy_link),target:"_blank"},"политикой конфиденциальности ",8,X0)):Q("",!0)])]),_:1})):Q("",!0)}}}),z0=Fe($0,[["__scopeId","data-v-93f06ed3"]]),Y0={key:0,class:"normal"},Z0={class:"title"},q0={class:"h2-title"},j0={class:"info text-m"},K0={class:"normal__cta"},Q0=Le({__name:"NormalModal",setup(g){const u=Xt(),{$env:c}=yt(),m=pe(()=>{const A=u?.zone.max_time,v=u?.takeawayOrganization.takeaway_time;if(A)return["доставки","доставим"];if(v)return["приготовления","приготовим"]}),p=pe(()=>{const A=u?.zone.max_time,v=u?.takeawayOrganization.takeaway_time;return A||v}),h=rt();return(A,v)=>{const N=Sn,w=st,T=vt,I=or;return E(),ae(I,null,{default:se(()=>[q(T,{name:"normal",size:"x-normal"},{default:se(()=>[f(p)?(E(),O("div",Y0,[b("div",Z0,[q(N,{filled:!0,name:"clock"}),b("div",q0,"Время "+te(f(m)[0]),1)]),b("p",j0," Сейчас у нас обычное время "+te(f(m)[0])+". Мы "+te(f(m)[1])+" ваш заказ через "+te(f(p))+" минут. Будем рады принять ваш заказ! ",1),b("div",K0,[q(w,{onClick:v[0]||(v[0]=V=>f(h).closeModal())},{default:se(()=>[...v[1]||(v[1]=[ne("Закрыть",-1)])]),_:1})])])):Q("",!0)]),_:1})]),_:1})}}}),J0=Fe(Q0,[["__scopeId","data-v-5f533541"]]),eu={key:0,class:"highload"},tu={class:"title"},nu={class:"info text-m"},ru={class:"c-primary"},su={class:"highload__cta"},iu=Le({__name:"HighloadModal",setup(g){const u=Xt(),{$env:c}=yt(),m=pe(()=>{const A=u?.zone.max_time,v=u?.takeawayOrganization.takeaway_time;if(A)return["доставки","доставим","доставить"];if(v)return["приготовления","приготовим","приготовить"]}),p=pe(()=>{const A=u?.zone.max_time,v=u?.takeawayOrganization.takeaway_time;return A||v}),h=rt();return(A,v)=>{const N=Sn,w=st,T=vt,I=or;return E(),ae(I,null,{default:se(()=>[q(T,{name:"highload",size:"x-normal"},{default:se(()=>[f(p)?(E(),O("div",eu,[b("div",tu,[q(N,{filled:!0,name:"high-load"}),v[1]||(v[1]=b("div",{class:"h2-title"},"Высокая нагрузка",-1))]),b("p",nu,[ne(" Уважаемый клиент, сейчас у нас высокая загруженность. В связи с этим время "+te(f(m)[0])+" увеличено до ",1),b("span",ru,te(f(p))+" минут",1),ne(". Мы сделаем все возможное, чтобы оперативно "+te(f(m)[2])+" ваш заказ. Спасибо за понимание. ",1)]),b("div",su,[q(w,{onClick:v[0]||(v[0]=V=>f(h).closeModal())},{default:se(()=>[...v[2]||(v[2]=[ne("Закрыть",-1)])]),_:1})])])):Q("",!0)]),_:1})]),_:1})}}}),ou=Fe(iu,[["__scopeId","data-v-1963c353"]]),au={class:"stop"},lu={class:"title"},cu={class:"stop__cta"},uu=Le({__name:"StopModal",setup(g){const u=rt();return(c,m)=>{const p=Sn,h=st,A=vt;return E(),ae(A,{name:"stop",size:"x-normal"},{default:se(()=>[b("div",au,[b("div",lu,[q(p,{filled:!0,name:"pause"}),m[1]||(m[1]=b("div",{class:"h2-title"},"Мы на паузе",-1))]),m[3]||(m[3]=b("p",{class:"info text-m"}," Мы временно не принимаем новые заказы. Приносим извинения за возможные неудобства и надеемся на ваше понимание. Постараемся открыться как можно быстрее, чтобы принять ваш заказ. Спасибо за ваше терпение! ",-1)),b("div",cu,[q(h,{onClick:m[0]||(m[0]=v=>f(u).closeModal())},{default:se(()=>[...m[2]||(m[2]=[ne("Закрыть",-1)])]),_:1})])])]),_:1})}}}),du=Fe(uu,[["__scopeId","data-v-bbfbc239"]]),fu={class:"editCards__modal"},hu={class:"editCards__card-list"},gu={class:"editCards__card-info"},xu={class:"editCards__card-label"},_u=["onClick"],mu=Le({__name:"CardsModal",setup(g){const u=xn(null),c=rt();xt(()=>c.modal?.[0],w=>{w==="cards"&&(h.value=null)});const m=pe(()=>c.modalParams[c.modal?.[0]]??{}),p=pe(()=>m.value.cards||[]),h=Ae(null),A=w=>{h.value===w?h.value=null:h.value=w},v=async w=>{try{if((await kt("profile/delete-card",{method:"POST",headers:Dt(),body:{id:w.id}})).success){const I=p.value.findIndex(V=>V.id===w.id);I!==-1&&p.value.splice(I,1),u.success("Карта успешно удалена.")}else u.error("Не удалось удалить карту. Попробуйте позже.")}
20catch{u.error("Что-то пошло не так. Обратитесь в поддержку.")}},N=w=>{switch(w.toLowerCase()){case"visa":return"visa";case"mastercard":return"master-card";case"mir":return"mir";default:return"card"}};return(w,T)=>{const I=Sn,V=st,D=vt;return E(),ae(D,{name:"cards",size:"normal"},{default:se(()=>[b("div",fu,[T[0]||(T[0]=b("div",{class:"editCards__modal-title h2-title"},"Настройка карт",-1)),b("ul",hu,[(E(!0),O(xe,null,je(p.value,k=>(E(),O("li",{key:k.id,class:"editCards__card-item"},[b("div",gu,[q(I,{filled:!0,name:N(k.payment_system),class:"editCards__card-icon"},null,8,["name"]),b("span",xu,"• "+te(k.pan.slice(-4)),1)]),q(V,{class:"editCards__card-delete",theme:"gray",size:h.value===k.id?"circlet":"circle","icon-centre":h.value===k.id?"":"close","icon-size":"16","data-expanded":h.value===k.id,onClick:P=>A(k.id)},{default:se(()=>[h.value===k.id?(E(),O("span",{key:0,class:"editCards__delete-text",onClick:P=>v(k)}," Удалить карту ",8,_u)):Q("",!0)]),_:2},1032,["size","icon-centre","data-expanded","onClick"])]))),128))])])]),_:1})}}}),pu=Fe(mu,[["__scopeId","data-v-6de84ceb"]]),wu={class:"timesModal__modal"},Cu={class:"timesModal__buttons"},Au=Le({__name:"SelecttimeModal",setup(g){const u=rt(),c=pe(()=>u.modalParams[u.modal?.[0]]??{}),m=pe(()=>c.value.remainingIntervals||[]),p=pe(()=>c.value.deliveryTimeOptions||[]),h=A=>{+p.value[0].id==1&&p.value.length===4?p.value.splice(p.value.length-1,0,A):+p.value[0].id==1&&p.value.length===5?p.value.splice(p.value.length-2,1,A):p.value.length===3?p.value.splice(p.value.length-1,0,A):p.value.splice(p.value.length-2,1,A),c.value.deliveryTime=A.id,u.closeModal()};return xt(()=>u.modal?.[0],A=>{A==="selecttime"&&(c.value.deliveryTime=p.value[0]?.id||0)}),(A,v)=>{const N=st,w=vt;return E(),ae(w,{name:"selecttime",size:"m-large"},{default:se(()=>[b("div",wu,[v[0]||(v[0]=b("div",{class:"timesModal__title h2-title"},"Другое время",-1)),b("div",Cu,[(E(!0),O(xe,null,je(m.value,(T,I)=>(E(),ae(N,{key:I,theme:"gray",label:T.label,class:"timesModal__button",onClick:V=>h(T)},{default:se(()=>[ne(te(T.label),1)]),_:2},1032,["label","onClick"]))),128))])])]),_:1})}}}),Eu=Fe(Au,[["__scopeId","data-v-50bdb600"]]),yu={class:"review__head"},vu={class:"h3-title"},bu={key:0,class:"text-m c-gray"},Iu=Le({__name:"ReviewHead",props:{title:String,description:String},setup(g){return(u,c)=>(E(),O("div",yu,[b("h3",vu,te(g.title),1),g.description?(E(),O("p",bu,te(g.description),1)):Q("",!0)]))}}),Su=Fe(Iu,[["__scopeId","data-v-b49e27fa"]]);let Tu=(g=21)=>crypto.getRandomValues(new Uint8Array(g)).reduce((u,c)=>(c&=63,c<36?u+=c.toString(36):c<62?u+=(c-26).toString(36).toUpperCase():c>62?u+="-":u+="_",u),"");const Nu=g=>new Promise(u=>{const c=new FileReader;c.onloadend=()=>u(c.result),c.readAsDataURL(g)}),Ou=g=>new Promise(u=>{const c=new FileReader;c.onloadend=()=>u(c.result),c.readAsBinaryString(g)}),Ru=g=>{if(g===0)return null;const u=1024;return Math.round(g/(u*u)*100)/100},Mu="image/jpeg,image/png,image/gif,image/webp,image/bmp,image/heic,image/heif,.jpg,.jpeg,.png,.gif,.webp,.bmp,.heic,.heif",ku=[".jpg",".jpeg",".png",".gif",".webp",".bmp",".heic",".heif"],Du=["image/svg+xml"],ys=g=>{const u=g.type.toLowerCase();if(u)return Du.includes(u)?!1:u.startsWith("image/");const c=g.name.toLowerCase().match(/\.[^.]+$/)?.[0]??"";return ku.includes(c)},Bu={key:0,class:"uploader__list"},Pu={key:0,class:"preview__error"},Lu=["onClick"],Fu={key:1,class:"preview__image"},Uu=["src","alt"],Vu={class:"preview__title"},Gu=["accept","multiple"],Hu={class:"uploader__icon"},si=5,Wu=Le({__name:"Uploader",props:{maxFiles:{},attached:{type:Boolean,default:!1}},emits:["onChange"],setup(g,{emit:u}){const c=xn(),m=g,p=u,h=Ae([]),A=Ae(null),v=()=>{A.value&&(A.value.value="",A.value.click())},N=async T=>{const I=T.target,V=I.files;if(!V?.length)return;const D=Array.from(V),k=D.filter(ys);if(k.length<D.length&&c.error("Можно прикрепить только изображения (JPG, PNG, GIF, WEBP)"),!k.length){I.value="";return}const P=k.slice(0,m.maxFiles);k.length>m.maxFiles&&c.error(`Можно выбрать максимум ${m.maxFiles} изображений`);const Y=[],H=P.map($=>{const j={id:Tu(10),file:$,name:$.name,encodedImage:null,error:null}
20,z=Ru($.size);return z&&z>si&&(j.error=`Размер изображения превышает ${si}Мб`),Y.push(j),Nu($)});await Promise.all(H).then($=>{$.forEach((J,j)=>{Y[j].encodedImage=J})});const Z=P.map($=>Ou($));await Promise.all(Z).then($=>{$.forEach((J,j)=>{Y[j].binary=J})}),h.value=Y,I.value=""},w=T=>{h.value=h.value.filter(I=>I.id!==T)};return xt(()=>h.value,T=>{p("onChange",T.filter(I=>!I.error))}),(T,I)=>{const V=Sn;return E(),O("div",{class:ct(["uploader",[g.attached&&"_attached"]])},[f(h).length>0?(E(),O("div",Bu,[(E(!0),O(xe,null,je(f(h),(D,k)=>(E(),O("div",{key:k,class:"preview"},[D.error?(E(),O("div",Pu,te(D.error),1)):Q("",!0),b("div",{class:"preview__remove",onClick:P=>w(D.id)},[q(V,{name:"close"})],8,Lu),D.encodedImage?(E(),O("div",Fu,[b("img",{src:D.encodedImage,alt:D.name||""},null,8,Uu)])):Q("",!0),b("div",Vu,te(D.name),1)]))),128))])):(E(),O("div",{key:1,class:"uploader__box",role:"button",tabindex:"0",onClick:v},[b("input",{ref_key:"fileInputRef",ref:A,class:"uploader__input",type:"file",accept:f(Mu),multiple:g.maxFiles>1,tabindex:"-1",onChange:N},null,40,Gu),b("span",Hu,[q(V,{name:"upload"})]),I[0]||(I[0]=b("span",{class:"uploader__label text-m"},"Прикрепить изображение",-1))]))],2)}}}),Xu=Fe(Wu,[["__scopeId","data-v-040b2fc1"]]),$u={class:"review"},zu={key:1,class:"review__after-head"},Yu={key:2,class:"review__lead text-m c-gray"},Zu={class:"review__section"},qu={class:"review__product-media"},ju={class:"review__product-title h6-title"},Ku={class:"text-m"},Qu={key:2,class:"review__reaction"},Ju={key:3,class:"review__details"},ed={key:0,class:"review__feedback-wrap"},td=["onMouseenter","onClick"],nd={class:"review__feedback"},rd={class:"review__feedback-field"},sd={key:0,class:"review__details"},id={key:0,class:"review__accent review__accent--compact"},od={class:"text-m"},ad={key:1,class:"review__answers"},ld=["aria-pressed","onClick"],cd={class:"review__option-title text-m"},ud={key:2,class:"review__feedback-wrap"},dd={class:"review__feedback"},fd={class:"review__feedback-field"},hd={key:3,class:"review__footer"},gd=Le({__name:"ReviewGroup",props:{question:{},last:{type:Boolean},hasQuestionnaire:{type:Boolean},defaultQuestionText:{}},emits:["onNext"],setup(g,{emit:u}){const c=g,m=u,p=xn(),h=pe(()=>c.question.catalog_item),A=pe(()=>c.question.answers?.length??0),v=pe(()=>A.value>0),N=pe(()=>"Оцените заказ"),w=pe(()=>c.last?c.question.question:""),T=pe(()=>(c.defaultQuestionText||"").trim()),{errors:I,setFieldValue:V,resetForm:D,validateField:k}=$n({initialValues:{comment:""}}),P=Ae(!c.last),Y=Ae(""),H=Ae(!1),Z=Ae(!!c.last),$=Ae([]),J=Ae([]),j=Ae(0),z=Ae(0),G=pe(()=>z.value||j.value),ce=pe(()=>c.last&&!c.hasQuestionnaire&&j.value>0&&j.value<5),F=K=>{const Ce=Math.min(5,Math.max(1,Math.trunc(K)));j.value=Ce},ge=pe(()=>c.last||Z.value&&!c.last),ie=pe(()=>c.last?4:1),de=pe(()=>c.question.has_comment&&Z.value),be=pe(()=>{const K=c.question.max_answers;return typeof K=="boolean"?K?1:null:typeof K=="number"&&Number.isFinite(K)&&K>0?Math.trunc(K):null}),Ve=pe(()=>be.value===1&&v.value),B=pe(()=>{const K=be.value;return K!==null&&K>1?K:null}),Ee=pe(()=>Y.value==="dislike"&&(H.value||Z.value)),Ie=pe(()=>c.last||Ee.value),{value:ut}=vn("comment",K=>Z.value&&ce.value?Ln(K).length>=2?!0:"Введите комментарий":!0),bt=pe(()=>j.value<1||j.value>5?!1:c.hasQuestionnaire||j.value===5?!0:Ln(ut.value).length>=2),It=()=>{Y.value="",$.value=[],J.value=[],j.value=0,z.value=0,H.value=!1,Z.value=!!c.last,P.value=!c.last,D({values:{comment:""}})};xt(()=>[c.question.id,c.question.cart_id,c.last],()=>It(),{immediate:!0}),xt(j,()=>{c.last&&k("comment")});const en=K=>{Y.value=K};xt(()=>Y.value,K=>{if(!K)return;if(K==="like"){Se();return}const Ce=c.question.has_comment;if(!v.value&&!Ce){Se();return}P.value=!1,v.value&&(H.value=!0),Ce&&(Z.value=!0)});const nt=({id:K})=>{if(Ve.value){$.value=$.value.includes(K)?[]:[K];return}if($.value.includes(K)){$.value=$.value.filter(_e=>_e!==K);return}const Ce=B.value;if(Ce!==null&&$.value.length>=Ce){p.error(`Можно выбрать не более ${Ce} вариантов`);return}$.value=[...$.value,K]},Se=()=>{if(c.last){if(j.value<1||j.value>5){p.error("Поставьте оценку от 1 до 5");return}if(j.value<5&&!c.hasQuestionnaire&&Ln(ut.value).length<2){p.error("Введите комментарий");return}}if(!Y.value&&!c.last){p.error("Выберите ответ");return}if(J.value.some(Ce=>Ce.error)){p.error("Исправьте ошибки в прикреплённых изображениях");return}if(J.value.some(Ce=>Ce.file&&!ys(Ce.file))){p.error("Можно прикрепить только изображения (JPG, PNG, GIF, WEBP)");return}const K={question_id:c.question.id,user_comment:ut.value,is_like:Y.value==="like",answers:$.value.length>0?$.value:[]};
20if(c.last&&(K.rating=j.value),c.question.cart_id!=null&&(K.cart_item_id=Number(c.question.cart_id)),J.value.length>0){K.uploads=J.value.map(_e=>({..._e,encodedImage:_e.encodedImage?"protected":null}));const Ce=J.value[0].id;Ce&&(K.photo_id=Ce)}m("onNext",K)};return(K,Ce)=>{const _e=Su,Ke=ps,Be=Vr,dt=st,ft=Tn,Ue=Xu;return E(),O("div",$u,[g.last?(E(),ae(_e,{key:0,title:f(N)},null,8,["title"])):Q("",!0),K.$slots.afterHead?(E(),O("div",zu,[_s(K.$slots,"afterHead",{},void 0,!0)])):Q("",!0),f(w)?(E(),O("p",Yu,te(f(w)),1)):Q("",!0),b("section",Zu,[b("div",{class:ct(["review__stage",{"review__stage--reactions":f(P),"review__stage--details":!f(P)}])},[f(h)?(E(),O("div",{key:0,class:ct(["review__product",{"review__product--compact":!f(P)}])},[b("div",qu,[q(Ke,{src:f(h).image,alt:f(h).title},null,8,["src","alt"])]),b("div",ju,[q(Be,{text:f(h).title},null,8,["text"])])],2)):g.last?Q("",!0):(E(),O("div",{key:1,class:ct(["review__accent",{"review__accent--compact":!f(P)}])},[b("span",Ku,te(g.question.question),1)],2)),f(P)?(E(),O("div",Qu,[q(dt,{"icon-left":"dislike",theme:"muted",onClick:Ce[0]||(Ce[0]=Jt(Oe=>en("dislike"),["stop"]))},{default:se(()=>[ne(te(f(h)?"Плохо":"Нет"),1)]),_:1}),q(dt,{"icon-left":"like",onClick:Ce[1]||(Ce[1]=Jt(Oe=>en("like"),["stop"]))},{default:se(()=>[ne(te(f(h)?"Вкусно":"Да"),1)]),_:1})])):Q("",!0),g.last?(E(),O("div",Ju,[f(de)?(E(),O("div",ed,[b("div",{class:"review__stars",role:"group","aria-label":"Оценка заказа",onMouseleave:Ce[2]||(Ce[2]=Oe=>z.value=0)},[(E(),O(xe,null,je(5,Oe=>b("button",{key:Oe,type:"button",class:ct(["review__star",{_active:f(G)>=Oe,_preview:f(z)>0&&f(z)>=Oe}]),onMouseenter:Ne=>z.value=Oe,onClick:Ne=>F(Oe)}," ★ ",42,td)),64))],32),b("div",nd,[b("div",rd,[q(ft,{type:"textarea",rows:"3",value:f(ut),clearable:!1,error:f(I).comment,onOnChange:Ce[3]||(Ce[3]=Oe=>f(V)("comment",Oe))},null,8,["value","error"])]),f(ge)?(E(),ae(Ue,{key:0,attached:"","max-files":f(ie),onOnChange:Ce[4]||(Ce[4]=Oe=>J.value=Oe)},null,8,["max-files"])):Q("",!0)])])):Q("",!0)])):(E(),ae(gi,{key:4,name:"review-details"},{default:se(()=>[f(P)?Q("",!0):(E(),O("div",sd,[f(h)&&f(T)?(E(),O("div",id,[b("span",od,te(f(T)),1)])):Q("",!0),f(H)?(E(),O("div",ad,[(E(!0),O(xe,null,je(g.question.answers,Oe=>(E(),O("button",{key:Oe.id,type:"button",class:ct(["review__option",{_active:f($).includes(Oe.id)}]),"aria-pressed":f($).includes(Oe.id),onClick:Ne=>nt(Oe)},[b("span",cd,te(Oe.title),1)],10,ld))),128))])):Q("",!0),f(de)?(E(),O("div",ud,[b("div",dd,[b("div",fd,[q(ft,{type:"textarea",rows:"3",value:f(ut),clearable:!1,error:f(I).comment,onOnChange:Ce[5]||(Ce[5]=Oe=>f(V)("comment",Oe))},null,8,["value","error"])]),f(ge)?(E(),ae(Ue,{key:0,attached:"","max-files":f(ie),onOnChange:Ce[6]||(Ce[6]=Oe=>J.value=Oe)},null,8,["max-files"])):Q("",!0)])])):Q("",!0)]))]),_:1}))],2)]),f(Ie)?(E(),O("footer",hd,[g.last?Q("",!0):(E(),ae(dt,{key:0,type:"button",onClick:Jt(Se,["stop"])},{default:se(()=>[...Ce[7]||(Ce[7]=[ne("Продолжить",-1)])]),_:1})),g.last?(E(),ae(dt,{key:1,type:"button",disabled:!f(bt),onClick:Jt(Se,["stop"])},{default:se(()=>[...Ce[8]||(Ce[8]=[ne(" Оставить отзыв ",-1)])]),_:1},8,["disabled"])):Q("",!0)])):Q("",!0)])}}}),xd=Fe(gd,[["__scopeId","data-v-de205cef"]]),_d={class:"review"},md={key:0,class:"review__wrapper-questions"},pd={class:"review__visit-date"},wd={key:1,class:"review__error text-m"},ii="review",Cd=Le({__name:"ReviewModal",setup(g){const u=xn(),c=rt(),m=Po(),{modalParams:p,modal:h}=He(c),A=Ae([]),v=Ae(""),N=Ae(0),w=Ae([]),T=Ae(!1),I=Ae(!1),V=Ae(!1),D=Ae(!1),k=Ae(!1),P=Ae(""),Y=Ae(""),H=Ae(new Date),Z=Ae(""),$=pe(()=>new Date),J=pe(()=>{const K=new Date;return K.setFullYear(K.getFullYear()-2),K}),j=K=>{if(!K)return"";const Ce=Br(K);return Ce.isValid()?Ce.format("YYYY-MM-DD"):""},z=pe(()=>({id:999,question:"Мы обрабатываем все отзывы, чтобы постоянно улучшать качество работы",has_comment:!0,max_answers:null,answers:[],cart_id:null})),G=pe(()=>p.value&&p.value[ii]),ce=pe(()=>G.value?.source==="receipt"),F=pe(()=>Hs(G.value?.uuid)),ge=pe(()=>Hs(G.value?.terminal_group)),ie=pe(()=>ce.value&&!F.value),de=K=>{P.value=K,Y.value=""};xt(H,()=>{Z.value=""});const be=K=>K.id??K.cartItem?.id,Ve=K=>{if(A.value.length===0)return;const Ce=A.value.findIndex((_e,Ke)=>Ke>N.value);w.value.push(K),Ce!==-1?N.value=Ce:T.value=!0},B=()=>{A.value=[],w.value=[],N.value=0,T.value=!1,D.value=!1,V.value=!1,k.value=!1,P.value="",Y.value="",H.value=new Date,Z.value=""},Ee=()=>{B(),T.value=!0,k.value=!0},Ie=async()=>{const K=G.value?.id;if(!(!K||!h.value.includes("review"))){V.value=!0,D.value=!1;try{const Ce=await kt("order/get-order-questionnaire",{method:"GET",headers:Dt(),params:{id:K}});if(!Ce?.order?.cart)throw new Error("empty questionnaire");const _e=Ce.order.cart.map(Ke=>{const Be=be(Ke),ft=Ce.items_questionary?.find(Ue=>Number(Ue.cart_id)===Number(Be))??Ce.default_question;return ft?.id?{...ft,cart_id:Be??null,catalog_item:Ke.catalog_item}:null}
20).filter(Boolean);A.value=[...Ce.additional_questions??[],..._e],v.value=Ce.default_question?.question??"",N.value=0,T.value=A.value.length===0,w.value=[],k.value=!0}catch{D.value=!0,A.value=[],v.value="",k.value=!1,u.error("Не удалось загрузить опрос")}finally{V.value=!1}}},ut=K=>K.map(({uploads:Ce,..._e})=>_e),bt=(K,Ce)=>{Ce.forEach((_e,Ke)=>{_e.file&&K.append(`common_photo_${Ke+1}`,_e.file)})},It=async(K,Ce)=>{const _e=F.value||P.value.trim();if(!_e){Y.value="Введите номер заказа",u.error("Введите номер заказа");return}const Ke=j(H.value);if(!Ke){Z.value="Укажите дату посещения",u.error("Укажите дату посещения");return}Z.value="";const Be=K.rating?Math.trunc(K.rating):void 0,dt=K.user_comment??"";let ft;if(Ce.length>0){const Ue=new FormData;Ue.append("uuid",_e),ge.value&&Ue.append("terminal_group",ge.value),Ue.append("common_comment",dt),Ue.append("visit_date",Ke),Be&&Ue.append("rating",String(Be)),bt(Ue,Ce),ft=await kt("review/send",{method:"POST",headers:Dt(),body:Ue}).catch(Oe=>yn(Oe,"Ошибка, обратитесь к администратору"))}else{const Ue={uuid:_e,common_comment:dt,visit_date:Ke,...ge.value?{terminal_group:ge.value}:{},...Be?{rating:Be}:{}};ft=await kt("review/send",{method:"POST",headers:Dt(),body:Ue}).catch(Oe=>yn(Oe,"Ошибка, обратитесь к администратору"))}ft&&(u.success("Спасибо за отзыв!"),c.closeAllModals())},en=async(K,Ce,_e)=>{const Ke=G.value?.id,Be=ut(w.value),dt=_e.length>0||Ce.length>0;let ft;if(dt){const Ue=new FormData;Ue.append("order_id",String(Ke)),Ue.append("common_comment",K.user_comment??""),Ue.append("answers",JSON.stringify(Be)),K.rating&&Ue.append("rating",String(Math.trunc(K.rating))),_e.forEach(({photoId:Oe,file:Ne})=>{Ue.append(`file_${Oe}`,Ne),Ue.append(Oe,Ne)}),bt(Ue,Ce),ft=await kt("order/send-questionnaire",{method:"POST",headers:Dt(),body:Ue}).catch(Oe=>yn(Oe,"Ошибка, обратитесь к администратору"))}else{const Ue={order_id:Ke,common_comment:K.user_comment,answers:Be,...K.rating?{rating:Math.trunc(K.rating)}:{}};ft=await kt("order/send-questionnaire",{method:"POST",headers:Dt(),body:Ue}).catch(Oe=>yn(Oe,"Ошибка, обратитесь к администратору"))}ft&&(c.markReviewSubmitted(Number(Ke)),m.getOrders().catch(()=>{}),u.success("Спасибо за отзыв!"),c.closeAllModals())},nt=async K=>{if(!h.value.includes("review")||!ce.value&&!G.value?.id)return;if([...w.value.flatMap(Be=>Be.uploads??[]),...K.uploads??[]].some(Be=>Be.file&&!ys(Be.file))){u.error("Можно прикрепить только изображения (JPG, PNG, GIF, WEBP)");return}I.value=!0;const _e=[];w.value.forEach(Be=>{const dt=Be.uploads?.[0]?.file;dt&&Be.photo_id&&_e.push({photoId:String(Be.photo_id),file:dt})});const Ke=(K.uploads??[]).filter(Be=>Be.file);try{if(ce.value){await It(K,Ke);return}await en(K,Ke,_e)}finally{I.value=!1}},Se=()=>{const K=h.value.includes("review"),Ce=G.value;if(!K||!Ce){B();return}if(Ce.id){Ie();return}if(Ce.source==="receipt"){(!k.value||!T.value)&&Ee();return}B()};return xt(()=>[h.value.includes("review"),G.value],()=>Se(),{immediate:!0}),(K,Ce)=>{const _e=xd,Ke=Tn,Be=bo,dt=Cs,ft=st,Ue=vt;return E(),ae(Ue,{name:ii},{default:se(()=>[b("div",_d,[f(k)?(E(),O(xe,{key:0},[f(T)?(E(),O(xe,{key:1},[q(_e,{question:f(z),last:!0,"has-questionnaire":f(A).length>0,onOnNext:nt},_o({_:2},[f(ce)?{name:"afterHead",fn:se(()=>[f(ie)?(E(),ae(Ke,{key:0,value:f(P),label:"Номер заказа",error:f(Y),clearable:!1,onOnChange:de},null,8,["value","error"])):Q("",!0),b("div",pd,[Ce[2]||(Ce[2]=b("div",{class:"ui-label"},"Дата посещения",-1)),q(Be,{modelValue:f(H),"onUpdate:modelValue":Ce[0]||(Ce[0]=Oe=>mo(H)?H.value=Oe:null),"text-input":"",teleport:"body","min-date":f(J),"max-date":f($),error:f(Z)},null,8,["modelValue","min-date","max-date","error"])])]),key:"0"}:void 0]),1032,["question","has-questionnaire"]),f(I)?(E(),ae(dt,{key:0,position:"overlay"})):Q("",!0)],64)):(E(),O("div",md,[(E(!0),O(xe,null,je(f(A),(Oe,Ne)=>(E(),O(xe,{key:`${Ne}-${Oe.id}-${Oe.cart_id??""}`},[Ne===f(N)?(E(),ae(_e,{key:0,question:Oe,"default-question-text":f(v),onOnNext:Ve},null,8,["question","default-question-text"])):Q("",!0)],64))),128))]))],64)):f(D)?(E(),O("div",wd,[Ce[4]||(Ce[4]=b("p",null,"Не удалось загрузить опрос",-1)),q(ft,{theme:"secondary",onClick:Ce[1]||(Ce[1]=Oe=>f(c).closeAllModals())},{default:se(()=>[...Ce[3]||(Ce[3]=[ne("Закрыть",-1)])]),_:1})])):f(h).includes("review")&&f(V)?(E(),ae(dt,{key:2,position:"overlay",loading:!0})):Q("",!0)])]),_:1})}}}),Ad=Fe(Cd,[["__scopeId","data-v-3dacf2e1"]]),Ed={class:"marketing"},yd={class:"marketing__title h2-title"},vd={class:"marketing__description text-m"},bd={class:"marketing__apps"},Id=Le({__name:"MarketingModal",setup(g){const u=rt(),{modal:c}=He(u),m=ms("marketing-seen",3600*24*7),p=Vt(),{app_settings:h}=He(p);return xt(()=>c.value,(A,v)=>{!A.length&&v.includes("marketing")&&(m.value="true")}),(A,v)=>{const N=ai,w=vt;return E(),ae(w,{name:"marketing",position:"center"},{default:se(()=>[b("div",Ed,[b("div",yd,te(f(h).site_settings.mobile_app_popup_t
20itle),1),b("div",vd,te(f(h).site_settings.mobile_app_popup_text),1),b("ul",bd,[q(N)])])]),_:1})}}}),Sd=Fe(Id,[["__scopeId","data-v-76916ef9"]]),Td={class:"auth__form"},Nd={class:"auth__cta"},Od={class:"auth__social"},Rd=["href"],Md=["href"],kd=Le({__name:"Phone",emits:["change-view"],setup(g,{emit:u}){const c=Vt(),{app_settings:m}=He(c),{$env:p}=yt(),h=p.botAuth,A=Ae(!1),v=Ae(!1),N=Ae(!1);let w=null;function T(){N.value=!0,w&&clearTimeout(w),w=setTimeout(()=>{N.value=!1,w=null},2e3)}function I(F){if(!A.value){if(v.value){D("change-view",F);return}T()}}const V=F=>{F.target.closest("a")||(v.value=!v.value)},D=u,{errors:k,setErrors:P,setFieldValue:Y,validate:H}=$n({initialValues:{phone:""}}),{value:Z,meta:$}=vn("phone",F=>{const{valid:ge,phone_error_text:ie}=po(F);return ge||ie}),J=pe(()=>!$.dirty||Object.keys(k.value).length!==0),j=pe(()=>J.value||A.value),z=F=>{F.keyCode===13&&!j.value&&(F.preventDefault(),F.stopPropagation(),ce())},G=F=>{const ge=F.toString()==="8"?"+7 (":F.replace(/^8/,"");Y("phone",ge)},ce=async()=>{if(A.value)return;if(!v.value){T();return}const{valid:F,errors:ge}=await H();if(!F)return;A.value=!0;const ie=await kt("user/get-code",{method:"POST",headers:Dt(),body:{phone:"+7"+us(Z.value),key:"1"}}).catch(yn);A.value=!1,ie&&(c.setPhone(Z.value),D("change-view","code"))};return Ar(()=>{w&&clearTimeout(w)}),(F,ge)=>{const ie=Tn,de=st,be=As;return E(),O(xe,null,[ge[8]||(ge[8]=b("h4",{class:"auth__title h2-title"},"Вход на сайт",-1)),b("div",Td,[q(ie,{name:"phone",type:"tel",placeholder:"+7",value:f(Z),mask:"+7 (###) ###-##-##",error:f(k).phone,onOnChange:G,onKeyup:z},null,8,["value","error"]),b("div",Nd,[q(de,{class:ct(["auth__consent-btn",{_inactive:!f(v)&&!f(J)}]),block:!0,disabled:f(j),loading:f(A),onClick:ce},{default:se(()=>[...ge[2]||(ge[2]=[ne(" Выслать код ",-1)])]),_:1},8,["class","disabled","loading"])]),f(h)?(E(),O(xe,{key:0},[ge[5]||(ge[5]=b("div",{class:"auth__divider"},[b("span",null,"или")],-1)),b("div",Od,[q(de,{theme:"secondary",class:ct(["auth__consent-btn auth__social-btn",{_inactive:!f(v)}]),block:!0,disabled:f(A),onClick:ge[0]||(ge[0]=Ve=>I("bot-tg"))},{default:se(()=>[...ge[3]||(ge[3]=[ne(" Telegram ",-1)])]),_:1},8,["class","disabled"]),q(de,{theme:"secondary",class:ct(["auth__consent-btn auth__social-btn",{_inactive:!f(v)}]),block:!0,disabled:f(A),onClick:ge[1]||(ge[1]=Ve=>I("bot-max"))},{default:se(()=>[...ge[4]||(ge[4]=[ne(" MAX ",-1)])]),_:1},8,["class","disabled"])])],64)):Q("",!0),b("div",{class:ct(["auth__note text-s",{_highlight:f(N)}]),onClick:V},[q(be,{checked:f(v)},null,8,["checked"]),ge[6]||(ge[6]=ne(" Продолжая, вы соглашаетесь со ",-1)),f(m).privacy_link?(E(),O("a",{key:0,href:("buildLink"in F?F.buildLink:f(rn))(f(m).privacy_link),target:"_blank"}," сбором и обработкой персональных данных ",8,Rd)):(E(),O(xe,{key:1},[ne("сбором и обработкой персональных данных ")],64)),ge[7]||(ge[7]=ne(" и ",-1)),f(m).user_agreement_link?(E(),O("a",{key:2,href:("buildLink"in F?F.buildLink:f(rn))(f(m).user_agreement_link),target:"_blank"}," пользовательским соглашением ",8,Md)):(E(),O(xe,{key:3},[ne("пользовательским соглашением ")],64))],2)])],64)}}}),Dd=Fe(kd,[["__scopeId","data-v-cd0b0c90"]]),Bd=["inputmode","value","onPaste","onKeydown","onInput"],ls=4,Pd=Le({__name:"CodeInput",props:{value:{type:String,default:""},error:{type:Boolean,default:!1},allowLetters:{type:Boolean,default:!1}},emits:["onChange"],setup(g,{expose:u,emit:c}){const m=Array.from({length:ls}).fill(""),p=/^[a-zA-Z]+$/,h=g,A=c,v=Ae(m),N=Ae([]);u({inputRefs:N}),xt(()=>h.value,D=>{D||(v.value=m,N.value[0].focus())});const w=(D,k)=>{const P=[...v.value];P[D]=h.allowLetters?k.toUpperCase():k.replace(/[^\d]$/,""),A("onChange",P.join("")),v.value=P},T=(D,k)=>{w(k,D),k<N.value.length-1?N.value[k+1].focus({cursor:"all"}):k!==N.value.length-1&&N.value[k].blur()},I=(D,k)=>{const P=D.key;D.ctrlKey||D.metaKey||(P==="Backspace"?v.value[k]?w(k,""):k>0&&(w(k-1,""),N.value[k-1].focus()):(!h.allowLetters&&isNaN(+P)||h.allowLetters&&isNaN(+P)&&!p.test(P))&&D.preventDefault())},V=D=>{D.preventDefault();const k=D?.clipboardData?.getData("text/plain"),P=k&&Array.from(String(k));P&&P.length===ls&&P.forEach((Y,H)=>{w(H,Y),H===ls-1&&N.value[H].focus()})};return(D,k)=>(E(),O("div",{class:ct(["digits",[g.error&&"_error"]])},[(E(!0),O(xe,null,je(f(v),(P,Y)=>(E(),O("input",mr({key:Y,ref_for:!0,ref_key:"inputRefs",ref:N,class:"digit",maxlength:"1",inputmode:g.allowLetters?"text":"numeric",type:"text",value:P},{ref_for:!0},D.$attrs,{onPaste:H=>Y===0?V(H):null,onKeydown:H=>I(H,Y),onInput:H=>T(H.target.value,Y)}),null,16,Bd))),128))],2))}}),Ld=Fe(Pd,[["__scopeId","data-v-ac625d82"]]),Fd={class:"auth__title h2-title"},Ud={key:0,class:"c-red"},Vd={key:1},Gd={class:"auth__form"},Hd={key:0,class:"auth__note text-s"},Wd={key:1,class:"auth__note text-s"},Xd={class:"auth__code"},$d={class:"auth__cta"},zd=Le({__name:"Code",emits:["change-view"],setup(g,{expose:u,emit:c}
20){const m=Vt(),p=Xt(),h=rt(),{$env:A}=yt(),{phone:v}=He(m),N=Ae(null),w=Ae(!1),T=Ae(!1),{app_settings:I}=He(m),V=c;u({codeInputRef:T});const{errors:D,setErrors:k,setFieldValue:P,validate:Y}=$n({initialValues:{code:""}}),{value:H,meta:Z,resetField:$}=vn("code",ge=>ge.length===4),J=ge=>{P("code",ge),N.value=null,Y()},j=Ae(120);xi(()=>{j.value!==0&&(j.value=j.value-1)},1e3);const z=pe(()=>Z.valid?!1:j.value!==0),G=ge=>{ge.keyCode===13&&(ge.preventDefault(),ge.stopPropagation(),F())},ce=async()=>{j.value=120,N.value=!1,w.value=!0,await kt("user/get-code",{method:"POST",headers:Dt(),body:{phone:"+7"+us(v.value),key:"1"}}).catch(yn),w.value=!1},F=async()=>{const{valid:ge,errors:ie}=await Y();if(!ge){j.value===0&&(ce(),$());return}w.value=!0;const de=await kt("user/check-code",{method:"POST",headers:Dt(),body:{code:H.value,phone:"+7"+us(v.value)}}).catch(be=>{N.value=be.data.message,$()});if(w.value=!1,de){m.setSession(de),de.user&&(Ur(A.orderToTable)||p.getStoredAddresses());const be=m.app_settings.registration_enabled,Ve=de.user.show_register_form;h.closeModal(),be&&Ve&&h.setModal({name:"register",params:{closable:!1},keepPrevious:!0})}};return Nn(()=>{setTimeout(()=>{const ge=T.value?.inputRefs,ie=ge&&ge[0];ie&&ie.focus()})}),(ge,ie)=>{const de=Ld,be=st;return E(),O(xe,null,[b("h2",Fd,[f(N)?(E(),O("span",Ud,"Неверный код")):(E(),O("span",Vd,"Введите код"))]),b("div",Gd,[f(I).auth_by_call?(E(),O("div",Hd,[ne(" Запрос авторизации на номер телефона "+te(f(v)),1),ie[2]||(ie[2]=b("br",null,null,-1)),b("b",null,te(f(I).call_auth_message),1),ie[3]||(ie[3]=b("br",null,null,-1)),b("a",{class:"c-primary",href:"#",onClick:ie[0]||(ie[0]=Jt(Ve=>V("change-view","phone"),["prevent"]))},"Изменить номер")])):(E(),O("div",Wd,[ne(" Код отправлен смс-сообщением на номер телефона "+te(f(v)),1),ie[4]||(ie[4]=b("br",null,null,-1)),b("a",{class:"c-primary",href:"#",onClick:ie[1]||(ie[1]=Jt(Ve=>V("change-view","phone"),["prevent"]))},"Изменить номер")])),b("div",Xd,[q(de,{ref_key:"codeInputRef",ref:T,name:"code",type:"text",value:f(H),error:!!f(N),onOnChange:J,onKeyup:G},null,8,["value","error"])]),b("div",$d,[q(be,{block:!0,loading:f(w),disabled:f(z),onClick:F},{default:se(()=>[f(Z).valid?(E(),O(xe,{key:0},[ne(" Войти ")],64)):f(j)>0?(E(),O(xe,{key:1},[ne(" Обновить код через "+te(f(wo)(f(j))),1)],64)):(E(),O(xe,{key:2},[ne("Получить новый код")],64))]),_:1},8,["loading","disabled"])])])],64)}}}),Yd=Fe(zd,[["__scopeId","data-v-77a77b2d"]]);class sr extends Error{code;constructor(u,c="unknown"){super(u),this.name="BotAuthError",this.code=c}}function un(g){return g!=null&&typeof g=="object"?g:null}function In(g,u){if(!g)return null;for(const c of u){const m=g[c];if(typeof m=="string"&&m.trim().length>0)return m.trim()}return null}function Zd(g){const u=un(g),c=un(u?.data)??un(u?.result)??u;if(!c)return null;const m=In(c,["nonce"]);if(!m)return null;const p=c.expires_in??c.expiresIn,h=typeof p=="number"&&Number.isFinite(p)?Math.max(0,Math.round(p)):180;return{nonce:m,expires_in:h,telegram_deep_link:In(c,["telegram_deep_link","telegramDeepLink"]),max_deep_link:In(c,["max_deep_link","maxDeepLink"]),max_start_hint:In(c,["max_start_hint","maxStartHint"])}}function qd(g){const u=un(g),c=un(u?.data)??un(u?.result)??u;if(!c)return null;const m=c.state;if(typeof m!="string"||!["pending","ready","expired","not_found","error"].includes(m))return null;const h={state:m},A=c.user_id??c.userId;typeof A=="number"&&Number.isFinite(A)&&(h.user_id=Math.trunc(A));const v=In(c,["error"]);return v&&(h.error=v),h}function jd(g){const u=un(g),c=un(u?.data)??un(u?.result)??u;if(!c)return null;const m=In(c,["access_token","accessToken"]),p=In(c,["refresh_token","refreshToken"]),h=In(c,["user_token","userToken"])??m,A=un(c.user)??un(u?.user);return!A||!h?null:{access_token:m,refresh_token:p,user_token:h,user:A,raw:g}}function Kd(g){return g.state==="pending"||g.state==="ready"?null:g.state==="expired"?"Ссылка истекла. Попробуйте войти ещё раз.":g.
20state==="not_found"?"Сессия входа не найдена. Попробуйте ещё раз.":g.state==="error"?"Не удалось подтвердить вход. Попробуйте ещё раз.":"Не удалось войти. Попробуйте ещё раз."}function Qd(g,u,c){if(g==="telegram")return u.telegram_deep_link;if(u.max_deep_link)return u.max_deep_link;const m=c.trim();if(!m)return null;const p=new URL(m.includes("://")?m:`https://${m}`);return p.searchParams.set("start",u.nonce),p.toString()}function Jd(g){return`https://api.qrserver.com/v1/create-qr-code/?size=200x200&data=${encodeURIComponent(g)}`}function ef(g){return g.trim().toLowerCase()==="user_not_found"?"Пользователь не найден. Попробуйте войти по SMS.":g}function cs(g){const u=un(g?.data),c=In(u,["message","error","detail"])??(g instanceof Error?g.message:null)??"Ошибка запроса",m=ef(c);return new sr(m)}function tf(){async function g(){try{const m=await kt("user/bot-auth-start",{method:"POST",headers:Dt(),body:{}}),p=Zd(m);if(!p)throw new sr("Некорректный ответ старта bot-auth","invalid_response");return p}catch(m){throw cs(m)}}async function u(m){try{const p=await kt("user/bot-auth-status",{method:"GET",headers:Dt(),query:{nonce:m}}),h=qd(p);if(!h)throw new sr("Некорректный ответ статуса bot-auth","invalid_response");return h}catch(p){throw cs(p)}}async function c(m){try{const p=await kt("user/bot-auth-finish",{method:"POST",headers:Dt(),body:{nonce:m}}),h=jd(p);if(!h)throw new sr("Некорректный ответ завершения bot-auth","invalid_response");return h}catch(p){throw cs(p)}}return{start:g,pollStatus:u,finish:c}}function Dr(g=200,u=29,c="white"){const m=g/u,p=[],h=c==="gray"?"#e8e8e8":"#fff",A=()=>Math.random();function v(T,I){for(let V=0;V<7;V++)for(let D=0;D<7;D++){const k=D===0||D===6||V===0||V===6,P=D>=2&&D<=4&&V>=2&&V<=4;let Y=k||P;A()<.22&&(Y=!Y),Y&&p.push(`<rect x="${(T+D)*m}" y="${(I+V)*m}" width="${m}" height="${m}" fill="#1a1a1a"/>`)}A()>.4&&p.push(`<rect x="${(T+3)*m}" y="${I*m}" width="${m*2}" height="${m}" fill="${h}"/>`)}v(0,0),v(u-7,0),v(0,u-7);const N=(T,I)=>T<8&&I<8||T>=u-8&&I<8||T<8&&I>=u-8;for(let T=0;T<u;T++)for(let I=0;I<u;I++)N(I,T)||A()>.48&&p.push(`<rect x="${I*m}" y="${T*m}" width="${m}" height="${m}" fill="#1a1a1a"/>`);const w=`<svg xmlns="http://www.w3.org/2000/svg" width="${g}" height="${g}" viewBox="0 0 ${g} ${g}">
21    <rect width="100%" height="100%" fill="${h}"/>
22    ${p.join("")}
23    <rect x="${g*.35}" y="${g*.42}" width="${g*.3}" height="${g*.08}" fill="${h}" opacity="0.95"/>
24  </svg>`;return`data:image/svg+xml,${encodeURIComponent(w)}`}const nf={class:"auth__title h2-title"},rf={class:"auth__form"},sf=["src"],of=["src"],af=["src","alt"],lf={key:1,class:"auth__error text-s"},cf={key:2,class:"auth__status text-s"},uf={class:"auth__actions"},df=1e4,ff="Ссылка истекла. Попробуйте войти ещё раз.",hf=Le({__name:"BotWait",props:{channel:{}},emits:["success","back"],setup(g,{emit:u}){const c=g,m=u,p=tf(),h=Ae(null),A=Ae(null),v=Ae("Подключение..."),N=Ae(null),w=Ae(!1),T=Ae(!1),I=Ae(!1),V=Ae(Dr()),D=Ae(Dr(200,29,"gray"));let k=null,P=null;const Y=pe(()=>A.value?Jd(A.value):null),H=pe(()=>c.channel==="telegram"?"QR-код для входа в Telegram":"QR-код для входа в MAX"),Z=pe(()=>!N.value||I.value),$=pe(()=>Z.value&&!I.value&&(!A.value||!T.value));function J(){T.value=!0}function j(){T.value=!0}function z(){k&&(clearInterval(k),k=null),P&&(clearTimeout(P),P=null)}function G(B){I.value=!1,N.value=B,z()}function ce(B=ff){I.value=!0,N.value=B,D.value=Dr(200,29,"gray"),z()}async function F(){if(h.value)try{const B=await p.pollStatus(h.value.nonce);if(B.state==="pending"){N.value=null,v.value="Ждём подтверждения...";return}if(B.state==="ready"){w.value=!0,N.value=null,v.value="Завершаем вход...",z();try{const Ie=await p.finish(h.value.nonce);m("success",Ie)}catch(Ie){const ut=Ie instanceof sr?Ie.message:"Не удалось завершить вход";G(ut)}finally{w.value=!1}return}if(B.state==="expired"){ce();return}const Ee=Kd(B);Ee&&G(Ee)}catch{}}function ge(){F().catch(()=>{})}function ie(){if(z(),!h.value)return;ge(),k=xi(ge,df);const B=Math.max(5e3,(h.value.expires_in+2)*1e3);P=setTimeout(()=>{ce()},B)}async function de(){w.value=!0,N.value=null,I.value=!1,v.value="Подключение...",h.value=null,A.value=null,T.value=!1,V.value=Dr();try{const B=await p.start(),Ee=Qd(c.channel,B,"");if(!Ee){G(c.channel==="telegram"?"Telegram-бот не настроен. Используйте вход по SMS.":"Бот MAX не настроен. Используйте вход по SMS или Telegram.");return}
24h.value=B,A.value=Ee,v.value="Ждём подтверждения...",window.open(Ee,"_blank","noopener,noreferrer"),ie()}catch(B){const Ee=B instanceof sr?B.message:"Не удалось начать вход";G(Ee)}finally{w.value=!1}}function be(){de().catch(()=>{})}function Ve(){be()}return xt(()=>c.channel,()=>{be()}),Nn(be),Ar(()=>{z()}),(B,Ee)=>{const Ie=Cs,ut=st;return E(),O(xe,null,[b("h2",nf,te(g.channel==="telegram"?"Подтверди вход в Telegram":"Подтверди вход в MAX"),1),b("div",rf,[Ee[4]||(Ee[4]=b("p",{class:"auth__desc text-s"}," Отсканируйте QR-код или откройте бота по ссылке, затем подтвердите вход в мессенджере. ",-1)),f(Z)?(E(),O("div",{key:0,class:ct(["auth__qr-wrap",{_expired:f(I)}])},[f($)?(E(),O("img",{key:0,class:"auth__qr auth__qr--placeholder",src:f(V),width:"200",height:"200",alt:"","aria-hidden":"true"},null,8,sf)):Q("",!0),f($)?(E(),ae(Ie,{key:1,class:"auth__qr-loader",position:"overlay",size:"medium",loading:!0})):Q("",!0),f(I)?(E(),O("img",{key:2,class:"auth__qr auth__qr--placeholder auth__qr--expired",src:f(D),width:"200",height:"200",alt:"","aria-hidden":"true"},null,8,of)):Q("",!0),f(Y)&&!f(I)?ui((E(),O("img",{key:3,class:"auth__qr",src:f(Y),width:"200",height:"200",alt:f(H),onLoad:J,onError:j},null,40,af)),[[di,!f($)]]):Q("",!0)],2)):Q("",!0),f(N)?(E(),O("p",lf,te(f(N)),1)):(E(),O("p",cf,te(f(v)),1)),b("div",uf,[f(A)?(E(),ae(ut,{key:0,href:f(I)?void 0:f(A),target:"_blank",rel:"noopener noreferrer",block:!0,disabled:f(I)||f(w)},{default:se(()=>[...Ee[1]||(Ee[1]=[ne(" Открыть бота ",-1)])]),_:1},8,["href","disabled"])):Q("",!0),q(ut,{theme:f(I)?"primary":"secondary",block:!0,disabled:f(w),onClick:Ve},{default:se(()=>[...Ee[2]||(Ee[2]=[ne(" Обновить QR-код ",-1)])]),_:1},8,["theme","disabled"]),q(ut,{theme:"secondary",block:!0,disabled:f(w),onClick:Ee[0]||(Ee[0]=bt=>m("back"))},{default:se(()=>[...Ee[3]||(Ee[3]=[ne(" Назад ",-1)])]),_:1},8,["disabled"])])])],64)}}}),gf=Fe(hf,[["__scopeId","data-v-66a48583"]]),xf={class:"auth"},_r="phone",_f="code",mf="bot-tg",pf="bot-max",wf=Le({__name:"AuthModal",setup(g){const u=Ae(_r),c=Vt(),m=Xt(),p=rt(),{isAuthenticated:h}=He(c),{$env:A}=yt(),v=A.botAuth;xt(()=>h.value,w=>{w||(u.value="phone")});const N=w=>{if(!v){u.value=_r;return}const T=w.user,I=w.user_token;if(!T||!I)return;c.setSession({user:T,user_token:I}),Ur(A.orderToTable)||m.getStoredAddresses();const V=c.app_settings.registration_enabled,D=T.show_register_form;p.closeModal("auth"),V&&D&&p.setModal({name:"register",params:{closable:!1},keepPrevious:!0})};return(w,T)=>{const I=Dd,V=Yd,D=gf,k=vt;return E(),ae(k,{name:"auth"},{default:se(()=>[b("div",xf,[f(u)===_r?(E(),ae(I,{key:0,onChangeView:T[0]||(T[0]=P=>u.value=P)})):Q("",!0),f(u)===_f?(E(),ae(V,{key:1,onChangeView:T[1]||(T[1]=P=>u.value=P)})):Q("",!0),f(v)&&f(u)===mf?(E(),ae(D,{key:2,channel:"telegram",onBack:T[2]||(T[2]=P=>u.value=_r),onSuccess:N})):Q("",!0),f(v)&&f(u)===pf?(E(),ae(D,{key:3,channel:"max",onBack:T[3]||(T[3]=P=>u.value=_r),onSuccess:N})):Q("",!0)])]),_:1})}}}),Cf=Fe(wf,[["__scopeId","data-v-8817aacf"]]),Af={class:"register"},Ef={class:"register__info"},yf={class:"register__privacy"},vf={class:"register__cta"},bf=Le({__name:"RegisterModal",setup(g){const u=xn(),c=Ae(!1),m=Vt(),p=rt(),{app_settings:h}=He(m),{user:A}=He(m),{errors:v,setErrors:N,setFieldValue:w,validate:T}=$n({initialValues:{name:A.value.name||"",phone:A.value.username||"",email:A.value.email||"",birthday:A.value.birthday?Br(A.value.birthday).format("DD/MM/YYYY"):""}}),I=()=>h.value.registration_email_is_mandatory?"Электронная почта*":"Электронная почта",{value:V,meta:D}=vn("name",z=>Ln(z)?Ln(z)?Ln(z).length>=2?!0:"Введите имя":!0:z?(v.value.name="Неверно указано имя","Неверно указано имя"):(v.value.name="Имя обазательно","Имя обазательно")),{value:k,meta:P}=vn("email",z=>h.value.registration_email_is_mandatory&&z===""?(v.value.email="Почта обязательна","Почта обязательна"):hi(z)?!0:"Проверьте адрес электронной почты"),Y=new Date;Y.setFullYear(Y.getFullYear()-13);const{value:H,meta:Z}=vn("birthday",z=>Ln(z)?Co(z,Y)?!0:"Неверная дата рождения":!0),$=pe(()=>Object.keys(v.value).length!==0||!c.value),J=Ae(!1),j=async()=>{const{valid:z,errors:G}=await T();if(!z)return;J.value=!0;const ce={name:V.value,email:k.value,birth:H.value?Br(H.value,"DD/MM/YYYY").format("YYYY-MM-DD"):"",is_agreement:!0};await kt("profile/register-user",{method:"POST",headers:Dt(),body:ce}).catch(ge=>yn(ge,"Ошибка, проверьте заполненные поля"))&&(u.success("Данные сохранены"),m.updateUser({...ce,birthday:Br(H.value,"DD/MM/YYYY").toDate()}),p.closeModal()),J.value=!1};return(z,G)=>{const ce=Tn,F=As,ge=st,ie=vt;return E(),ae(ie,{name:"register"},{default:se(()=>[b("div",Af,[G[8]||(G[8]=b("div",{class:"register__title h2-title"},"Регистрация",-1)),b("div",Ef,[q(ce,{name:"name",label:"Имя*",placeholder:"",value:f(V),error:f(v).name,onOnChange:G[0]||(G[0]=de=>f(w)("name",de))},null,8,["value","error"]),G[4]||(G[4]=b("br",null,null,-1)),q(ce,{name:"email",label:I(),placeholder:"",value:f(k),error:f(v).email,onOnC
24hange:G[1]||(G[1]=de=>f(w)("email",de))},null,8,["label","value","error"]),G[5]||(G[5]=b("br",null,null,-1)),q(ce,{name:"birthday",label:"Дата рождения",placeholder:"ДД/ММ/ГГГГ",mask:"##/##/####",inputmode:"numeric",value:f(H),error:f(v).birthday,disabled:!!f(A).birthday,clearable:!f(A).birthday,onOnChange:G[2]||(G[2]=de=>f(w)("birthday",de))},null,8,["value","error","disabled","clearable"])]),b("div",yf,[q(F,{type:"radio",checked:f(c),onChange:G[3]||(G[3]=de=>c.value=!f(c))},{default:se(()=>[...G[6]||(G[6]=[ne("Соглашаюсь со сбором и обработкой персональных данных и пользовательским соглашением",-1)])]),_:1},8,["checked"])]),b("div",vf,[q(ge,{loading:f(J),disabled:f($),onClick:j},{default:se(()=>[...G[7]||(G[7]=[ne(" Продолжить ",-1)])]),_:1},8,["loading","disabled"])])])]),_:1})}}}),If=Fe(bf,[["__scopeId","data-v-811d91b7"]]),Sf={key:0,class:"cookie-banner__content"},Tf={key:1,class:"cookie-banner__content"},Nf=Le({__name:"ConsentBanner",setup(g){const{$env:u}=yt(),c=u.preferredCanonicalHost==="miyagi.com.ru",m=rt(),p=ms("cookies_accepted"),h=pe(()=>p.value?.toString()==="true");function A(){p.value="true"}function v(){m.setModal({name:"cookie"})}return(N,w)=>{const T=st;return E(),ae(gi,{name:"fade"},{default:se(()=>[h.value?Q("",!0):(E(),O("div",{key:0,class:ct(["cookie-banner",{spec592:c}]),role:"dialog","aria-live":"polite","aria-label":"Уведомление о куки"},[c?(E(),O("div",Sf,[b("button",{class:"cookie-banner__title",type:"button",onClick:v}," Мы собираем COOKIE "),w[0]||(w[0]=b("p",{class:"cookie-banner__text"},[ne(" Мы используем файлы cookie и сервис веб-аналитики Яндекс.Метрика для обработки персональных данных в целях анализа и улучшения работы сайта. Нажимая кнопку «Согласен», вы даете согласие на обработку ваших персональных данных в соответствии с "),b("a",{class:"cookie-banner__policy",href:"https://miyagi.com.ru/page/politika-konfidencialnosti",target:"_blank",rel:"noopener"},"Политикой конфиденциальности")],-1))])):(E(),O("div",Tf,[b("button",{class:"cookie-banner__title",type:"button",onClick:v}," Мы собираем COOKIE "),w[1]||(w[1]=b("p",{class:"cookie-banner__text"}," И используем различные сервисы, чтобы сделать сайт еще удобнее. ",-1))])),c?(E(),ae(T,{key:3,size:"small",onClick:A},{default:se(()=>[...w[3]||(w[3]=[ne("Согласен",-1)])]),_:1})):(E(),ae(T,{key:2,size:"small",onClick:A},{default:se(()=>[...w[2]||(w[2]=[ne("ОК",-1)])]),_:1}))],2))]),_:1})}}}),Of=Fe(Nf,[["__scopeId","data-v-e2995191"]]),Rf=Le({__name:"ConsentModal",setup(g){const{$env:u}=yt(),c=u.preferredCanonicalHost==="miyagi.com.ru";return(m,p)=>{const h=vt;return E(),ae(h,{name:"cookie",size:"large"},{default:se(()=>[c?(E(),O(xe,{key:0},[p[0]||(p[0]=b("h4",{class:"cookie__title h2-title"},"Как и зачем мы используем cookie-файлы",-1)),p[1]||(p[1]=b("div",{class:"cookie__text text-s"},[b("p",null,[b("strong",null,"Зачем мы используем cookie-файлы?"),b("br"),ne(" Файлы cookie используются для корректной работы сайта, сохранения пользовательских настроек и содержимого корзины, а также для повышения удобства использования сервиса. Cookie позволяют запоминать ваши действия и предпочтения во время посещения сайта. Например, добавленные в корзину товары сохраняются до вашего следующего визита. Это помогает сделать использование сайта более удобным и персонализированным. Кроме того, с помощью cookie мы анализируем, как пользователи взаимодействуют с сайтом, чтобы улучшать его функциональность и качество обслуживания. ")]),b("strong",null,"Использование аналитических сервисов"),b("br"),b("p",null," Указанные сведения могут относиться к персональным данным в соответствии с законодательством Российской Федерации и обрабатываются в целях анализа посещаемости и улучшения работы сайта. "),b("p",null," Обработка таких данных осуществляется на основании согласия пользователя, выраженного посредством нажатия кнопки «Согласен» во всплывающем окне сайта. "),b("p",null,[b("strong",null,"Какие cookie мы используем?"),b("br"),ne(" Мы используем технические cookie для обеспечения корректной работы сайта, функциональные cookie для сохранения пользовательских настроек и аналитические cookie для сбора статистики и анализа посещаемости с использованием сервиса Яндекс.Метрика. ")]),b("p",null,[b("strong",null,"Можно ли отказаться от использования cookie?"),b("br"),ne(" Вы можете отказаться от использования аналитических cookie при первом посещении сайта или изменить своё решение позднее через настройки cookie. Также вы можете управлять файлами cookie через настройки вашего браузера. Обращаем внимание, что отключение технических cookie может привести к некорректной работе отдельных функций сайта. ")])],-1))],64)):(E(),O(xe,{key:1},[p[2]||(p[2]=b("h4",{class:"cookie__title h2-title"},"Как и зачем мы используем файлы cookie",-1)),p[3]||(p[3]=b("div",{class:"cookie__text text-s"},[b("p",null,[b("strong",null,"Зачем мы используем cookie?"),b("br"),ne(" Основная задача cookie — сохранять ваш цифровой след во время посещения. Это позволяет нам запоминать ваши действия и предпочтения, даже если вы не вошли в аккаунт. Например, все добавленные в корзин
24у блюда останутся в ней до вашего следующего визита. Благодаря этой информации мы можем предлагать персонализированные рекомендации — показывать те блюда или разделы сайта, которые могут вас действительно заинтересовать. ")]),b("p",null," Кроме того, анализ данных с помощью cookie помогает нам лучше понимать, как гости взаимодействуют с сайтом. Мы видим, что удобно, а что можно улучшить, и работаем над тем, чтобы сделать сервис максимально комфортным для каждого. "),b("p",null,[b("strong",null,"Какие cookie мы используем?"),b("br"),ne(" Мы активно применяем статистические cookie для сбора обезличенных данных о поведении посетителей. Это необходимо для аналитики и постоянного улучшения нашего сервиса. Сбор таких данных может осуществляться с помощью различных сервисов аналитики, включая инструменты наших партнеров. ")]),b("p",null,[b("strong",null,"Можно ли отключить cookie?"),b("br"),ne(" Да, вы можете управлять cookie-файлами через настройки безопасности вашего браузера и при необходимости отключить их. Однако в этом случае некоторые функции сайта могут работать некорректно — например, может не сохраняться содержимое корзины или персональные настройки. Чтобы изменения вступили в силу, потребуется обновить настройки во всех браузерах, которые вы используете. Более подробные инструкции обычно доступны в справочном разделе вашего браузера. ")])],-1))],64))]),_:1})}}}),Mf=Fe(Rf,[["__scopeId","data-v-fd234fa3"]]),kf=Le({__name:"SharedModals",setup(g){const{$env:u}=yt();return(c,m)=>{const p=wl,h=vl,A=Nl,v=Gl,N=Yl,w=Jl,T=k1,I=F1,V=H1,D=i0,k=M0,P=U0,Y=z0,H=J0,Z=ou,$=du,J=pu,j=Eu,z=Ad,G=Sd,ce=Cf,F=If,ge=Of,ie=Mf;return E(),O(xe,null,[q(p),q(h),q(A),q(v),q(N),f(u).useRegions?(E(),ae(w,{key:0})):Q("",!0),q(T),q(I),q(V),q(D),q(k),q(P),q(Y),q(H),q(Z),q($),q(J),q(j),q(z),q(G),q(ce),q(F),q(ge),q(ie)],64)}}}),Df={class:"page"},Bf=Le({__name:"default",setup(g){return(u,c)=>{const m=Ao,p=Eo,h=la,A=or;return E(),O("div",Df,[q(m),_s(u.$slots,"default",{},void 0,!0),q(p),q(h),q(A,null,{default:se(()=>[q(kf)]),_:1})])}}}),nh=Fe(Bf,[["__scopeId","data-v-da6fb64f"]]);export{nh as default};

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.